gulp stream to uglify with 'terser' (es6 supported).
npm install gulp-uglify-es@3.0.0
gulp stream to uglify with 'terser' (es6 supported).
terser is the new 'uglify-es'. uglify-es is no longer maintained.
npm install --save-dev gulp-uglify-es
gulpfile.js
let gulp = require("gulp");
let rename = require("gulp-rename");
let uglify = require('gulp-uglify-es').default;
gulp.task("uglify", function () {
return gulp.src("lib/bundle.js")
.pipe(rename("bundle.min.js"))
.pipe(uglify(/* options */))
.pipe(gulp.dest("lib/"));
});
For documentation about the options-object, See the Uglify API Reference.
To generate source maps, use gulp-sourcemaps.
Example:
let gulp = require("gulp");
let rename = require("gulp-rename");
var sourcemaps = require('gulp-sourcemaps');
let uglify = require('gulp-uglify-es').default;
gulp.task("uglify", function () {
return gulp.src("lib/bundle.js")
.pipe(rename("bundle.min.js"))
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write()) // Inline source maps.
// For external source map file:
//.pipe(sourcemaps.write("./maps")) // In this case: lib/maps/bundle.min.js.map
.pipe(gulp.dest("lib/"));
});