Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



62 Commits

Repository files navigation


Minify JavaScript with terser.

Build Status NPM version


The latest version of gulp-minify is using terser to minify files, this may cause some incompatible issues with earlier language versions for now, see #27.

So gulp-minify@es5 is for the earlier language versions if your project is not ready for the ECMAScript 6 yet.


Install package with NPM and add it to your development dependencies:

npm install --save-dev gulp-minify


Basic usage: the following minifies every *.js and *.mjs files to *-min.js and *-min.mjs respectively. Note that the original files are preserved.

const minify = require('gulp-minify');

gulp.task('compress', function() {
  gulp.src(['lib/*.js', 'lib/*.mjs'])

Options can be added to control more finely what's happening, for example:

const minify = require('gulp-minify');

gulp.task('compress', function() {
        exclude: ['tasks'],
        ignoreFiles: ['.combo.js', '-min.js']


  • ext An object that specifies output src and minified file extensions.

    • src

      The suffix string of the filenames that output source files ends with.

    • min

      • When string: The suffix string of the filenames that output minified files ends with.
      • When Array: The regex expressions to be replaced with input filenames. For example: [/\.(.*)-source\.js$/, '$1.js']
  • exclude

    Will not minify files in the dirs.

  • noSource Will not output the source code in the dest dirs.

  • ignoreFiles

    Will not minify files which matches the pattern.

  • 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

    • some

      Preserve comments that start with a bang (!) or include a Closure Compiler directive (@preserve, @license, @cc_on)

    • 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.