rollup-plugin-auto-external
Rollup plugin to automatically exclude package.json dependencies from your bundle.
Install
npm install --save-dev @andrewleedham/rollup-plugin-auto-external
Usage
rollup.config.js
Example import autoExternal from '@andrewleedham/rollup-plugin-auto-external';
export default {
input: 'index.js',
plugins: [autoExternal()],
};
rollup.config.js
with options
Example import path from 'path';
import autoExternal from '@andrewleedham/rollup-plugin-auto-external';
export default {
input: 'index.js',
plugins: [
autoExternal({
builtins: false,
dependencies: true,
packagePath: path.resolve('./packages/module/package.json'),
peerDependencies: false,
devDependencies: false,
}),
],
};
rollup.config.js
with external
Example rollup-plugin-auto-external
does not overwrite the external option. The two can happily coexist.
import autoExternal from '@andrewleedham/rollup-plugin-auto-external';
export default {
input: 'index.js',
external: id => id.includes('babel-runtime'),
plugins: [autoExternal()],
};
rollup.config.js
with per format options
Example import autoExternal from '@andrewleedham/rollup-plugin-auto-external';
export default ['es', 'umd'].map(format => ({
input: 'index.js',
plugins: [
autoExternal({
dependencies: format === 'es',
}),
],
}));
Options
builtins
boolean
|string
: defaults to true
. Add all Node.js builtin modules (in the running version) as externals. Specify a string
value (e.g., '6.0.0'
) to add all builtin modules for a specific version of Node.js.
Rollup will complain if builtins
is present, and the build target is a browser. You may want rollup-plugin-node-builtins.
dependencies
boolean
: defaults to true
.
packagePath
string
: defaults to process.cwd()
. Path to a package.json file or its directory.
peerDependencies
boolean
: defaults to true
.
devDependencies
boolean
: defaults to false
.