Package Exports
- rollup-plugin-uglify
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (rollup-plugin-uglify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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()
]
});
Options
uglify(options, minifier)
options
– default: {}
, type: object
. UglifyJS API options
minifier
– default: require('uglify-js').minify
, type: function
. Module to use as a minifier. You can use other versions (or forks) of UglifyJS instead default one.
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 ('es'
) will not work and error out.
To work around this you can tell rollup-plugin-uglify
to use the UglifyJS unstable es version by passing its minify
function to minify your code.
import { rollup } from 'rollup';
import uglify from 'rollup-plugin-uglify';
import { minify } from 'uglify-es';
rollup({
entry: 'main.js',
plugins: [
uglify({}, minify)
]
});
To install the experimental version of UglifyJS:
npm i uglify-es -D
Examples
Comments
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") {
// multiline comment
return /@preserve|@license|@cc_on/i.test(text);
}
}
}
});
See UglifyJS documentation for further reference.
License
MIT © Bogdan Chadkin