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.