
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
gulp-uglify
Advanced tools
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)filenamelineTo 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
);
});
Terser is a JavaScript parser and mangler/compressor toolkit for ES6+. It is a popular alternative to UglifyJS and is known for its better support for modern JavaScript syntax. Terser can be used with Gulp through the 'gulp-terser' plugin, offering similar functionalities to gulp-uglify but with improved ES6+ support.
Babel-Minify is a minifier based on the Babel toolchain. It is designed to work seamlessly with Babel, making it a good choice for projects that already use Babel for transpiling. Babel-Minify can be integrated with Gulp using the 'gulp-babel-minify' plugin, providing an alternative to gulp-uglify with better integration for Babel users.
Uglify-ES is a fork of UglifyJS that adds support for ES6+ syntax. It is no longer actively maintained, but it was created to address the need for minifying modern JavaScript code. While gulp-uglify does not support ES6+ syntax, Uglify-ES can be used with Gulp through the 'gulp-uglify-es' plugin for projects that require ES6+ support.
FAQs
Minify files with UglifyJS.
The npm package gulp-uglify receives a total of 153,946 weekly downloads. As such, gulp-uglify popularity was classified as popular.
We found that gulp-uglify demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.