JSPM

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

A browserify transform which minifies your code using UglifyJS2

Package Exports

  • uglifyify

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 (uglifyify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

uglifyify

A Browserify v2 transform which minifies your code using UglifyJS2.

Installation

npm install uglifyify

Motivation/Usage

Ordinarily you'd be fine doing this:

browserify index.js | uglifyjs -c > bundle.js

But uglifyify gives you the benefit applying Uglify's "squeeze" transform before it's processed by Browserify, meaning you can remove dead code paths for conditional requires. Here's a contrived example:

if (true) {
  module.exports = require('./browser')
} else {
  module.exports = require('./node')
}

module.exports = require('./node') will be excluded by Uglify, meaning that only ./browser will be bundled and required.

If you combine uglifyify with envify, you can make this a little more accessible. Take this code:

if (process.env.NODE_ENV === 'development') {
  module.exports = require('./development')
} else {
  module.exports = require('./production')
}

And use this to compile:

NODE_ENV=development browserify -t envify -t uglifyify index.js -o dev.js &&
NODE_ENV=production browserify -t envify -t uglifyify index.js -o prod.js

It should go without saying that you should be hesitant using environment variables in a Browserify module - this is best suited to your own applications or modules built with Browserify's --standalone tag.