@blaumaus/rollup-plugin-uglify
v7.0.1
Published
Rollup plugin to minify generated bundle
Downloads
346
Maintainers
Readme
Fork that fixes the issue:
22:08:24.317 npm ERR! Could not resolve dependency:
22:08:24.317 npm ERR! peer rollup@">=0.66.0 <2" from [email protected]
22:08:24.317 npm ERR! node_modules/rollup-plugin-uglify
22:08:24.317 npm ERR! dev rollup-plugin-uglify@"^6.0.4" from the root project
rollup-plugin-uglify
Rollup plugin to minify generated bundle. Uses UglifyJS under the hood. There are a few improvements over native uglify:
- uglify is run in worker for every chunk
- errors are displayed with babel code frame
Note: uglify-js is able to transpile only es5 syntax. If you want to transpile es6+ syntax use terser instead
Install
yarn add rollup-plugin-uglify --dev
Note: this package requires [email protected] and higher
Usage
import { rollup } from "rollup";
import { uglify } from "rollup-plugin-uglify";
rollup({
input: "main.js",
plugins: [uglify()]
});
Options
uglify(options);
options
- uglifyJS API options
options.sourcemap: boolean
Generates source maps and passes them to rollup. Defaults to true
.
options.numWorkers: number
Amount of workers to spawn. Defaults to the number of CPUs minus 1.
Examples
Comments
If you'd like to preserve comments (for licensing for example), then you can specify a function to do this like so:
uglify({
output: {
comments: function(node, comment) {
if (comment.type === "comment2") {
// multiline comment
return /@preserve|@license|@cc_on/i.test(comment.value);
}
return false;
}
}
});
Alternatively, you can also choose to keep all comments (e.g. if a licensing header has already been prepended by a previous rollup plugin):
uglify({
output: {
comments: "all"
}
});
See UglifyJS documentation for further reference.
License
MIT © Bogdan Chadkin