rollup-plugin-prune-imports
v0.0.1
Published
A Rollup plugin to prune module imports
Readme
rollup-plugin-prune-imports
A Rollup plugin to prune module imports.
This plugin is useful when removing useless side effects, such as pruning the export entry files of packages.
Installation
npm i -D rollup-plugin-prune-importsUsage
rollup.config.js
import pruneImports from "rollup-plugin-prune-imports";
export default {
input: "input.js",
plugins: [
pruneImports({
include: "input.js",
prune: {
include: ["deps.js", "node_modules/some-package/main.js"],
},
}),
],
output: {
dir: "output",
format: "es",
},
};rollup api
import pruneImports from "rollup-plugin-prune-imports";
import { rollup } from "rollup";
await (
await rollup({
input: "input.js",
plugins: [
pruneImports({
include: "input.js",
prune: {
include: ["deps.js", "node_modules/some-package/main.js"],
},
}),
],
})
).write({
dir: "output",
format: "es",
});Options
include / exclude
- Filter which files the plugin processes.
prune.include / prune.exclude
- Filter which files the plugin prunes.
- ⚠️ Expanding
prune.includemay cause unexpected errors.
Example
input.js
import { bar, foo, quxx1 } from "./deps";deps.js
./foo, ./bar, ./baz, ./qux has side effects.
// 1. maintain: foo is used
export { foo, foo2 } from "./foo";
// 2. maintain: bar is used
import "./bar";
export { bar } from "./bar";
// 3. remove: no exports from ./baz
import "./baz";
// 4. remove: qux is unused
export { qux } from "./qux";