{"id":26772,"library":"babel-loader-exclude-node-modules-except","title":"babel-loader-exclude-node-modules-except","description":"A utility to create a regular expression for excluding all node_modules from Babel transpilation in webpack, except for specified modules. Current stable version is 1.2.4. Release cadence is low (last update 2020). It simplifies the common webpack pattern of allowing certain ES6 modules from node_modules to be transpiled while excluding the rest. Key differentiator: supports wildcard patterns for module names since v1.2.0, unlike manual regex construction.","status":"maintenance","version":"1.2.4","language":"javascript","source_language":"en","source_url":"https://github.com/dutchenkoOleg/babel-loader-exclude-node-modules-except","tags":["javascript","webpack","babel-loader","exclude","node_modules","es6 modules"],"install":[{"cmd":"npm install babel-loader-exclude-node-modules-except","lang":"bash","label":"npm"},{"cmd":"yarn add babel-loader-exclude-node-modules-except","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-loader-exclude-node-modules-except","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package provides a CommonJS default export; ESM import may fail depending on bundler.","wrong":"import babelLoaderExcludeNodeModulesExcept from 'babel-loader-exclude-node-modules-except';","symbol":"default export","correct":"const babelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except');"},{"note":"The function expects an array of module names; passing a string causes unexpected behavior.","wrong":"exclude: babelLoaderExcludeNodeModulesExcept('swiper')","symbol":"function call result","correct":"exclude: babelLoaderExcludeNodeModulesExcept(['swiper', 'dom7'])"},{"note":"Wildcard must use '*-' prefix for exact match on module name part; plain '*' not supported.","wrong":"exclude: babelLoaderExcludeNodeModulesExcept(['react*'])","symbol":"wildcard pattern","correct":"exclude: babelLoaderExcludeNodeModulesExcept(['react-*', '@scope/*'])"}],"quickstart":{"code":"const babelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except');\n\n// webpack.config.js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        exclude: babelLoaderExcludeNodeModulesExcept([\n          'custom-jquery-methods',\n          'swiper',\n          'dom7'\n        ]),\n        use: {\n          loader: 'babel-loader',\n          options: {\n            presets: ['@babel/preset-env']\n          }\n        }\n      }\n    ]\n  }\n};","lang":"javascript","description":"Shows how to use the package to exclude all node_modules except specified ones from Babel transpilation in webpack."},"warnings":[{"fix":"Use directly in the `exclude` property of webpack rule.","message":"The function returns a RegExp, not a string or array. Do not use it as a string pattern.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Update to v1.2.0+ or use exact module names.","message":"Wildcard support added in v1.2.0. In v1.1.x, wildcards are not supported and will be treated literally.","severity":"breaking","affected_versions":"<1.2.0"},{"fix":"Manually add nested module paths if needed, or use a different approach.","message":"The exclude pattern only works for top-level node_modules; it may not correctly handle nested dependencies.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install babel-loader-exclude-node-modules-except --save-dev`","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'babel-loader-exclude-node-modules-except'"},{"fix":"Pass an array: `babelLoaderExcludeNodeModulesExcept(['module-name'])` not a string.","cause":"Called function with a string instead of an array of strings.","error":"TypeError: module names is not iterable"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}