Rollup plugin to minify generated bundle
JavaScript
Clone or download
Latest commit 94aa350 Aug 13, 2018

README.md

rollup-plugin-uglify Travis Build Status

Rollup plugin to minify generated bundle. Uses UglifyJS under the hood.

Note: uglify-js is able to transpile only es5 syntax. If you want to transpile es6+ syntax use terser instead

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.

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) {
      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.

License

MIT © Bogdan Chadkin