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
npm i rollup-plugin-uglify -D
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
– default: true
, type: boolean
. The only own option which is used to generate source maps and pass them to rollup.
Examples
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") {
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