gulp-uglify ![Travis-CI Status](https://img.shields.io/travis/terinjokes/gulp-uglify/master.svg?label=Travis CI)
Minify JavaScript with UglifyJS2.
Install package with NPM and add it to your development dependencies:
npm install --save-dev gulp-uglify
var uglify = require('gulp-uglify');
gulp.task('compress', function() {
return gulp.src('lib/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
-
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.
gulp-uglify
emits an 'error' event if it is unable to minify a specific file.
Wherever possible, the PluginError object will contain the following properties:
fileName
lineNumber
message
To handle errors across your entire pipeline, see the gulp documentation.