minify js plugin for gulp
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml Upgrade dependent module and add test case (#45) Jun 11, 2018
LICENSE
README.md
gulp-minify.d.ts
index.js
package.json

README.md

gulp-minify

Minify JavaScript with terser.

Build Status NPM version

Note

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 https://github.com/hustxiaoc/gulp-minify/issues/27.

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

Installation

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

npm install --save-dev gulp-minify

Usage

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'])
    .pipe(minify())
    .pipe(gulp.dest('dist'))
});

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

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

gulp.task('compress', function() {
  gulp.src('lib/*.js')
    .pipe(minify({
        ext:{
            src:'-debug.js',
            min:'.js'
        },
        exclude: ['tasks'],
        ignoreFiles: ['.combo.js', '-min.js']
    }))
    .pipe(gulp.dest('dist'))
});

Options

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