0.0.0 • Published 8 months ago

rollup-plugin-prune-imports v0.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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-imports

Usage

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.include may 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";
0.0.0

8 months ago