rollup-plugin-uglify Travis Build Status
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
yarn add rollup-plugin-uglify --dev
Note: this package requires rollup@0.66 and higher
import { rollup } from "rollup"; import { uglify } from "rollup-plugin-uglify"; rollup({ input: "main.js", plugins: [uglify()] });
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.
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