Uglify
First install Uglify. Since the point of Uglify is to mangle your code, we also need to install vinyl-buffer and gulp-sourcemaps to keep sourcemaps working.
1 | npm install --save-dev gulp-uglify vinyl-buffer gulp-sourcemaps |
Now change your gulpfile to the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | var gulp = require( "gulp" ); var browserify = require( "browserify" ); var source = require( 'vinyl-source-stream' ); var tsify = require( "tsify" ); var uglify = require( 'gulp-uglify' ); var sourcemaps = require( 'gulp-sourcemaps' ); var buffer = require( 'vinyl-buffer' ); var paths = { pages: [ 'src/*.html' ] }; gulp.task( "copy-html" , function () { return gulp.src(paths.pages) .pipe(gulp.dest( "dist" )); }); gulp.task( "default" , [ "copy-html" ], function () { return browserify({ basedir: '.' , debug: true , entries: [ 'src/main.ts' ], cache: {}, packageCache: {} }) .plugin(tsify) .bundle() .pipe(source( 'bundle.js' )) .pipe(buffer()) .pipe(sourcemaps.init({loadMaps: true })) .pipe(uglify()) .pipe(sourcemaps.write( './' )) .pipe(gulp.dest( "dist" )); }); |
Notice that uglify
itself has just one call — the calls to buffer
and sourcemaps
exist to make sure sourcemaps keep working. These calls give us a separate sourcemap file instead of using inline sourcemaps like before. Now you can run Gulp and check that bundle.js
does get minified into an unreadable mess:
1 2 | gulp cat dist/bundle.js |
Please login to continue.