JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 255434
  • Score
    100M100P100Q167722F
  • 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. Uses UglifyJS under the hood. There are a few improvements over native uglify:

  • uglify is run in worker for every chunk
  • errors are displayed with babel code frame

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

Install

yarn add rollup-plugin-uglify --dev

Note: this package requires rollup@0.66 and higher

Usage

import { rollup } from "rollup";
import { uglify } from "rollup-plugin-uglify";

rollup({
  input: "main.js",
  plugins: [uglify()]
});

Options

uglify(options);

options - uglifyJS API options

options.sourcemap: boolean

Generates source maps and passes them to rollup. Defaults to true.

options.numWorkers: number

Amount of workers to spawn. Defaults to the number of CPUs minus 1.

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