Package Exports
- gulp-uglify
- gulp-uglify/minifier
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 (gulp-uglify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gulp-uglify 




Minify JavaScript with UglifyJS2.
Installation
Install package with NPM and add it to your development dependencies:
npm install --save-dev gulp-uglify
Usage
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?.
Options
mangle
Pass
false
to skip mangling names.output
Pass an object if you wish to specify additional output options. The defaults are optimized for best compression.
compress
Pass an object to specify custom compressor options. Pass
false
to skip compression completely.preserveComments
A convenience option for
options.output.comments
. Defaults to preserving no comments.all
Preserve all comments in code blocks
license
Attempts to preserve comments that likely contain licensing information, even if the comment does not have directives such as
@license
or/*!
.Implemented via the
uglify-save-license
module, this option preserves a comment if one of the following is true:- The comment is in the first line of a file
- A regular expression matches the string of the comment.
For example:
MIT
,@license
, orCopyright
. - There is a comment at the previous line, and it matches 1, 2, or 3.
function
Specify your own comment preservation function. You will be passed the current node and the current comment and are expected to return either
true
orfalse
.some
(deprecated)Preserve comments that start with a bang (
!
) or include a Closure Compiler directive (@preserve
,@license
,@cc_on
). Deprecated in favor of thelicense
option, documented above.
You can also pass the uglify
function any of the options listed
here to modify
UglifyJS's behavior.
Errors
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
(ormsg
)filename
line
To see useful error messages, see Why Use Pump?.
Using a Different UglifyJS
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 "minifier" entry point.
var uglifyjs = require('uglify-js'); // can be a git checkout
// or another module (such as `uglify-js-harmony` for ES6 support)
var minifier = require('gulp-uglify/minifier');
var pump = require('pump');
gulp.task('compress', function (cb) {
// the same options as described above
var options = {
preserveComments: 'license'
};
pump([
gulp.src('lib/*.js'),
minifier(options, uglifyjs),
gulp.dest('dist')
],
cb
);
});