JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 244594
  • Score
    100M100P100Q174233F
  • License MIT

Rollup plugin to minify generated bundle

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 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()
    ]
});

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);
        }
    }
  }
});

License

MIT © Bogdan Chadkin