{"id":22067,"library":"rollup-plugin-ignore-import","title":"rollup-plugin-ignore-import","description":"Rollup plugin to ignore imports based on file extensions (e.g., .css, .scss) during bundling, replacing them with a configurable stub. Version 1.3.2 is the latest stable release. The plugin uses rollup-pluginutils for filtering and supports both extension and include patterns. It's useful in test environments or when you want to exclude static assets from the bundle without ejecting. Unlike rollup-plugin-string or inject, this plugin fully removes the import and substitutes a default export.","status":"active","version":"1.3.2","language":"javascript","source_language":"en","source_url":"https://github.com/yohangz/rollup-plugin-ignore-import","tags":["javascript","rollup","rollup-plugin","ignore","import","typescript"],"install":[{"cmd":"npm install rollup-plugin-ignore-import","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-ignore-import","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-ignore-import","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: also a Rollup plugin works only with Rollup >=0.62.0","package":"rollup","optional":false},{"reason":"Peer dependency: used for filtering (createFilter) in versions before Rollup 5, but the package still lists it as peer","package":"rollup-pluginutils","optional":false}],"imports":[{"note":"Default export; no named export exists. Using named import will work in TypeScript but is unconventional.","wrong":"import { ignoreImport } from 'rollup-plugin-ignore-import'","symbol":"ignoreImport","correct":"import ignoreImport from 'rollup-plugin-ignore-import'"},{"note":"CJS require returns the plugin function directly; destructuring fails.","wrong":"const { ignoreImport } = require('rollup-plugin-ignore-import')","symbol":"ignoreImport","correct":"const ignoreImport = require('rollup-plugin-ignore-import')"},{"note":"This package does not export its own types; the return type is Rollup's Plugin. Use `import ignoreImport from '...'` and infer the type.","wrong":"import type { Plugin } from 'rollup-plugin-ignore-import'","symbol":"Plugin (type)","correct":"import type { Plugin } from 'rollup'"}],"quickstart":{"code":"// rollup.config.js\nimport ignoreImport from 'rollup-plugin-ignore-import';\nimport resolve from '@rollup/plugin-node-resolve';\n\nexport default {\n  input: 'src/index.js',\n  output: { dir: 'dist', format: 'esm' },\n  plugins: [\n    resolve(),\n    ignoreImport({\n      extensions: ['.css', '.scss'],\n      body: 'export default \"ignored\";'\n    })\n  ]\n};\n\n// Input src/index.js\nimport './style.css';\nconsole.log('Hello');\n\n// Output dist/index.js will have no import for style.css; the import is replaced with `const style = \"ignored\";` (or similar).","lang":"javascript","description":"Shows how to configure rollup-plugin-ignore-import to replace .css and .scss imports with a configurable stub, while other plugins like resolve still work."},"warnings":[{"fix":"Install rollup-pluginutils explicitly: npm install rollup-pluginutils --save-dev. Or use rollup-plugin-ignore-import@2.0.0 (if available) that may have dropped this dependency.","message":"The package requires rollup-pluginutils as a peer dependency, which may not be automatically installed with newer Rollup versions. This can cause 'Cannot find module 'rollup-pluginutils'' errors.","severity":"breaking","affected_versions":">=1.0.0 <2.0.0"},{"fix":"Specify a `body` option that matches what your code expects, e.g., `body: 'export default {};'` for CSS modules.","message":"The plugin replaces ignored imports with a default export of `undefined` by default. If you rely on the import to have a specific shape (e.g., CSS modules), the replacement may cause runtime errors.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Use `extensions: ['.css']` instead of `include: ['**/*.css']`. If you need exclude, consider a different plugin like rollup-plugin-filter.","message":"The `include` and `exclude` options accept glob patterns but are handled by rollup-pluginutils's createFilter, which does not support negative patterns (like `!**/*.css`). Use `extensions` instead for simpler cases.","severity":"deprecated","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `npm install rollup-pluginutils --save-dev` or add it to devDependencies manually.","cause":"rollup-pluginutils is listed as a peer dependency but not installed automatically by npm/yarn in some configurations.","error":"Error: Cannot find module 'rollup-pluginutils'"},{"fix":"Use `import ignoreImport from 'rollup-plugin-ignore-import'` instead of `require`.","cause":"Using CJS require in an ESM context (e.g., \"type\": \"module\" in package.json).","error":"ReferenceError: exports is not defined"},{"fix":"Change `import { ignoreImport } from 'rollup-plugin-ignore-import'` to `import ignoreImport from 'rollup-plugin-ignore-import'`.","cause":"Destructuring the default export incorrectly.","error":"TypeError: ignoreImport is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}