Minify files with UglifyJs (evacuated from NSA/Microsoft Github)
Rob Palmer 27b26d4f8f fix(composer): invoke callback only once | 6 years ago | |
---|---|---|
docs | 7 years ago | |
lib | 6 years ago | |
test | 6 years ago | |
.gitignore | 7 years ago | |
.travis.yml | 6 years ago | |
CHANGELOG.md | 8 years ago | |
LICENSE.md | 7 years ago | |
README.md | 7 years ago | |
appveyor.yml | 9 years ago | |
composer.js | 6 years ago | |
index.js | 6 years ago | |
package.json | 6 years ago |
Minify JavaScript with UglifyJS3.
Install package with NPM and add it to your development dependencies:
npm install --save-dev gulp-uglify
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var pump = require('pump');
gulp.task('compress', function (cb) {
pump([
gulp.src('lib/*.js'),
uglify(),
gulp.dest('dist')
],
cb
);
});
To help properly handle error conditions with Node streams, this project
recommends the use of pump
. For more
information, see Why Use Pump?.
Most of the minify options from the UglifyJS API are supported. There are a few exceptions:
sourceMap
option must not be set, as it will be automatically configured
based on your Gulp configuration. See the documentation for Gulp sourcemaps.gulp-uglify
emits an 'error' event if it is unable to minify a specific file.
The GulpUglifyError constructor is exported by this plugin for instanceof
checks.
It contains the following properties:
fileName
: The full file path for the file being minified.cause
: The original UglifyJS error, if available.Most UglifyJS error messages have the following properties:
message
(or msg
)filename
line
To see useful error messages, see Why Use Pump?.
By default, gulp-uglify
uses the version of UglifyJS installed as a dependency.
It's possible to configure the use of a different version using the "composer" entry point.
var uglifyjs = require('uglify-js'); // can be a git checkout
// or another module (such as `uglify-es` for ES6 support)
var composer = require('gulp-uglify/composer');
var pump = require('pump');
var minify = composer(uglifyjs, console);
gulp.task('compress', function (cb) {
// the same options as described above
var options = {};
pump([
gulp.src('lib/*.js'),
minify(options),
gulp.dest('dist')
],
cb
);
});