Minify files with UglifyJS.

gulp-uglify ![Travis-CI Status]( 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')
  • 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:

      1. The comment is in the first line of a file
      2. A regular expression matches the string of the comment. For example: MIT, @license, or Copyright.
      3. 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 or false.

    • some (deprecated)

      Preserve comments that start with a bang (!) or include a Closure Compiler directive (@preserve, @license, @cc_on). Deprecated in favor of the license 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.