{"library":"rollup-plugin-module-replacement","title":"rollup-plugin-module-replacement","description":"A Rollup plugin (v1.2.1) that replaces module paths during bundling, similar to Webpack's NormalModuleReplacementPlugin. Supports string or regex pattern matching with replacement strings or functions for dynamic rewrites. Ideal for environment-specific builds (e.g., swapping mock vs production modules). Unlike rollup-plugin-alias, it does not resolve modules internally, allowing custom resolvers (e.g., rollup-plugin-node-resolve) to be passed in. Released under MIT, with irregular updates (last in 2020).","language":"javascript","status":"maintenance","last_verified":"Mon Apr 27","install":{"commands":["npm install rollup-plugin-module-replacement"],"cli":null},"imports":["import replacement from 'rollup-plugin-module-replacement'","import replacement from 'rollup-plugin-module-replacement'","import replacer from 'rollup-plugin-module-replacement'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"// rollup.config.js\nimport replacement from 'rollup-plugin-module-replacement';\nimport resolve from 'rollup-plugin-node-resolve';\n\nconst customResolver = resolve({ extensions: ['.mjs', '.js', '.jsx'] });\n\nexport default {\n  input: 'src/index.js',\n  output: { file: 'dist/bundle.js', format: 'cjs' },\n  plugins: [\n    replacement(\n      {\n        entries: [\n          {\n            find: /src\\/(.*)/,\n            replacement: (importee) => {\n              const env = process.env.BUILD_ENV || 'prod';\n              return importee.replace('src', `src-${env}`);\n            }\n          }\n        ]\n      },\n      customResolver\n    ),\n    resolve()\n  ]\n};","lang":"javascript","description":"Demonstrates regex-based module replacement with a custom resolver using rollup-plugin-node-resolve.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}