{"id":20130,"library":"import-glob","title":"import-glob","description":"Webpack preloader that expands glob patterns in ES6 import statements and Sass @import rules. Version 1.5.0 (latest) is stable; no recent updates. Replaces literal imports with individual file imports. Works only as a Webpack loader (preloader or chained). Alternatives include `bulk-require` or `import-meta-glob` for ESM. No TypeScript support. Not compatible with webpack 2+ as a preloader (must use chained loader). Last published in 2015.","status":"maintenance","version":"1.5.0","language":"javascript","source_language":"en","source_url":"https://github.com/terpiljenya/import-glob","tags":["javascript","webpack","loader","glob","es6"],"install":[{"cmd":"npm install import-glob","lang":"bash","label":"npm"},{"cmd":"yarn add import-glob","lang":"bash","label":"yarn"},{"cmd":"pnpm add import-glob","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Designed as a Webpack loader; requires Webpack to function.","package":"webpack","optional":false},{"reason":"Used for glob pattern matching.","package":"glob","optional":false}],"imports":[{"note":"This is a Webpack loader, not a JavaScript module to import. Use in webpack config only.","wrong":"import importGlob from 'import-glob'; // Not meant to be used as a library import","symbol":"import-glob","correct":"// As a webpack loader in config: { test: /\\.js$/, loader: 'import-glob' }"}],"quickstart":{"code":"// webpack.config.js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        use: 'import-glob'\n      },\n      {\n        test: /\\.scss$/,\n        use: 'import-glob'\n      }\n    ]\n  }\n};\n\n// In your JS code:\nimport modules from './foo/**/*.js';\n// After processing, becomes:\n// import * as module0 from './foo/1.js';\n// import * as module1 from './foo/bar/2.js';\n// import * as module2 from './foo/bar/3.js';\n// modules = [module0, module1, module2]\n\n// For side effects:\nimport './foo/**/*.scss';","lang":"javascript","description":"Basic webpack config using import-glob as a loader and code that it transforms."},"warnings":[{"fix":"Use module.rules instead of module.preLoaders.","message":"webpack 2+ dropped support for preloaders; import-glob must be configured as a chained loader or normal rule, not in preLoaders.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Always ensure the loader is applied to files containing glob imports.","message":"Glob patterns in import statements are not standard JavaScript; code will not work without the loader. Bypassing the loader causes syntax errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use Vite's import.meta.glob or Webpack 5's magic comments with context modules.","message":"Package has not been updated since 2015. Consider using native dynamic imports or import.meta.glob (Vite) for modern projects.","severity":"deprecated","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":"Move loader configuration from `module.preLoaders` to `module.rules` and ensure order if needed.","cause":"Webpack 2+ removed preLoaders; import-glob requires preloader behavior.","error":"Module build failed: Error: 'import-glob' is not compatible with webpack 2+ as a preloader. Please use the loader in the rules section."},{"fix":"Ensure webpack config has the correct test and loader for files using glob imports.","cause":"Glob pattern in import statement is not transpiled without the import-glob loader.","error":"SyntaxError: Unexpected token *"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}