rollup-plugin-uglify
Rollup plugin to minify generated bundle.
Install
npm i rollup-plugin-uglify -D
Usage
import { rollup } from 'rollup';
import uglify from 'rollup-plugin-uglify';
rollup({
entry: 'main.js',
plugins: [
uglify()
]
});
Warning
UglifyJS, which this plugin is based on, does not support the ES2015 module syntax. Thus using this plugin with Rollup's default bundle format ('es6'
) will not work and error out.
To work around this you can tell rollup-plugin-uglify
to use the UglifyJS harmony branch by passing its minify
function to minify your code.
import { rollup } from 'rollup';
import uglify from 'rollup-plugin-uglify';
import { minify } from 'uglify-js';
rollup({
entry: 'main.js',
plugins: [
uglify({}, minify)
]
});
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) {
var text = comment.value;
var type = comment.type;
if (type == "comment2") {
return /@preserve|@license|@cc_on/i.test(test);
}
}
}
});
License
MIT © Bogdan Chadkin