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 --devNote: 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