Rollup plugin to minify generated bundle
JavaScript
Latest commit 6cff2dd Dec 19, 2016 @TrySound committed on GitHub Merge pull request #19 from ratson/js-ext
Preserve .js filename extension
Permalink
Failed to load latest commit information.
test Tidy up Jun 12, 2016
.gitignore Initial Dec 31, 2015
.travis.yml Tidy up Jun 12, 2016
LICENSE Tidy up Feb 6, 2016
README.md Update README.md Nov 6, 2016
index.js Return a name Jun 23, 2016
package.json Add module field Dec 19, 2016
rollup.config.js Simpler name dest Jun 12, 2016

README.md

rollup-plugin-uglify Travis Build Status

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 ('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

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