Kevin 29b9a0c50c clean && clean html base | 4 anos atrás | |
---|---|---|
.. | ||
lib | 4 anos atrás | |
CHANGELOG.md | 4 anos atrás | |
LICENSE.md | 4 anos atrás | |
README.md | 4 anos atrás | |
composer.js | 4 anos atrás | |
index.js | 4 anos atrás | |
package.json | 4 anos atrás |
Minify JavaScript with UglifyJS3.
Install package with NPM and add it to your development dependencies:
npm install --save-dev gulp-uglify
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var pipeline = require('readable-stream').pipeline;
gulp.task('compress', function () {
return pipeline(
gulp.src('lib/*.js'),
uglify(),
gulp.dest('dist')
);
});
To help properly handle error conditions with Node streams, this project
recommends the use of
pipeline
,
from readable-stream
.
Most of the minify options from the UglifyJS API are supported. There are a few exceptions:
sourceMap
option must not be set, as it will be automatically configured
based on your Gulp configuration. See the documentation for Gulp sourcemaps.gulp-uglify
emits an 'error' event if it is unable to minify a specific file.
The GulpUglifyError constructor is exported by this plugin for instanceof
checks.
It contains the following properties:
fileName
: The full file path for the file being minified.cause
: The original UglifyJS error, if available.Most UglifyJS error messages have the following properties:
message
(or msg
)filename
line
To see useful error messages, see Why Use Pipeline?.
By default, gulp-uglify
uses the version of UglifyJS installed as a dependency.
It's possible to configure the use of a different version using the "composer" entry point.
var uglifyjs = require('uglify-js'); // can be a git checkout
// or another module (such as `uglify-es` for ES6 support)
var composer = require('gulp-uglify/composer');
var pump = require('pump');
var minify = composer(uglifyjs, console);
gulp.task('compress', function (cb) {
// the same options as described above
var options = {};
pump([
gulp.src('lib/*.js'),
minify(options),
gulp.dest('dist')
],
cb
);
});