{"id":27356,"library":"rollup-plugin-keep-import","title":"rollup-plugin-keep-import","description":"A Rollup plugin that preserves import statements in the output bundle, useful for dynamic imports or retaining external dependencies as imports. Current stable version: 1.0.3. Released via semantic-release, active development. Key differentiator: unlike Rollup's default behavior of bundling imports, this plugin keeps them as is, similar to renderDynamicImport, enabling partial bundling for micro-frontends or runtime module loading.","status":"active","version":"1.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/WillBooster/rollup-plugin-keep-import","tags":["javascript","typescript"],"install":[{"cmd":"npm install rollup-plugin-keep-import","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-keep-import","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-keep-import","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; plugin interface requires Rollup's plugin context","package":"rollup","optional":false}],"imports":[{"note":"ESM-only package; CommonJS require will fail. Use import syntax.","wrong":"const keepImport = require('rollup-plugin-keep-import')","symbol":"default","correct":"import keepImport from 'rollup-plugin-keep-import'"},{"note":"TypeScript users can import the type for plugin options; the runtime is the same.","wrong":null,"symbol":"default (type)","correct":"import type keepImport from 'rollup-plugin-keep-import'"},{"note":"CommonJS require destructuring fails; plugin is default exported.","wrong":"const { keepImport } = require('rollup-plugin-keep-import')","symbol":"rollup.config","correct":"import keepImport from 'rollup-plugin-keep-import'; export default { plugins: [keepImport()] }"}],"quickstart":{"code":"// rollup.config.js\nimport keepImport from 'rollup-plugin-keep-import';\n\nexport default {\n  input: 'src/index.js',\n  output: {\n    dir: 'dist',\n    format: 'es',\n  },\n  plugins: [\n    keepImport({\n      // By default, all imports are kept. Use 'include' or 'exclude' to filter.\n      include: ['**/*.js'],\n      exclude: ['node_modules/**'],\n    }),\n  ],\n};","lang":"typescript","description":"Rollup config using keepImport plugin to preserve import statements for specific files, excluding node_modules."},"warnings":[],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Change to import syntax or set type: 'module' in package.json.","cause":"Using CommonJS require() to import the package (ESM-only).","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module"},{"fix":"Use default import: import keepImport from 'rollup-plugin-keep-import'.","cause":"Destructuring import with named import (e.g., import { keepImport }).","error":"TypeError: keepImport is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}