{"id":22132,"library":"rollup-plugin-mock-imports","title":"rollup-plugin-mock-imports","description":"Rollup plugin (v1.0.8) for mocking ESM imports during bundling, using `__mocks__` directories (like Jest) or a custom `node_mockdules` folder. Designed for pre-compilation testing scenarios (e.g., Svelte components with JSDOM), it intercepts resolved module IDs before other Rollup plugins. Configuration options include `mockall`, `ignore`, and `mock` patterns. Requires Rollup ^0.66.6 as peer dependency. Ships TypeScript types. Release cadence: low (last updated 2019).","status":"maintenance","version":"1.0.8","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install rollup-plugin-mock-imports","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-mock-imports","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-mock-imports","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency – plugin is designed for Rollup bundler, requires ^0.66.6","package":"rollup","optional":false}],"imports":[{"note":"Named export, not default. CommonJS require: const { mockImports } = require('rollup-plugin-mock-imports')","wrong":"import mockImports from 'rollup-plugin-mock-imports'","symbol":"mockImports","correct":"import { mockImports } from 'rollup-plugin-mock-imports'"}],"quickstart":{"code":"// rollup.config.js\nimport { mockImports } from 'rollup-plugin-mock-imports';\nimport resolve from 'rollup-plugin-node-resolve';\nimport commonjs from 'rollup-plugin-commonjs';\n\nexport default {\n  input: 'src/main.js',\n  plugins: [\n    mockImports({ mockall: true, ignore: ['fs', 'path'] }),\n    resolve(),\n    commonjs()\n  ],\n  output: { file: 'dist/bundle.js', format: 'esm' }\n};","lang":"javascript","description":"Shows basic Rollup config with mockImports placed before other plugins, enabling global mocking with exceptions."},"warnings":[{"fix":"Use Rollup ^0.66.6 or test compatibility with newer versions; consider forking or updating if needed.","message":"Rollup peer dependency is ^0.66.6 – may not work with Rollup >=1.0.0","severity":"breaking","affected_versions":"<=1.0.8"},{"fix":"Place mockImports() first in the plugins array.","message":"mockImports must come before other module resolution plugins (e.g., rollup-plugin-node-resolve) or mocks may be skipped","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure imports are static ESM statements; convert dynamic imports to static or use alternative mocking.","message":"Mock imports only work for static ES imports; dynamic import() or CommonJS require() are not mocked","severity":"gotcha","affected_versions":"all"},{"fix":"Do not rename the folder; the path is hardcoded relative to node_modules. For custom paths, use nodePath option.","message":"Plugin creates a virtual node_mockdules folder alongside node_modules – name is critical and non-standard","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"npm install --save-dev rollup@^0.66.6","cause":"Rollup is a peer dependency and not installed automatically","error":"Error: Cannot find module 'rollup'"},{"fix":"Use import { mockImports } from 'rollup-plugin-mock-imports';","cause":"Default import used instead of named import","error":"'mockImports' is not exported from 'rollup-plugin-mock-imports'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}