Js minify plugin for gulp
> Minify JavaScript with terser.


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.
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.
``javascript
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:
`javascript
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'))
});
`
- 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@preserve
Compiler directive (, @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`.