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
npm i rollup-plugin-uglify -Dimport { rollup } from "rollup"; import { uglify } from "rollup-plugin-uglify"; rollup({ input: "main.js", plugins: [uglify()] });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.
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.
MIT © Bogdan Chadkin