Take this simple gulp example for uglification:
gulp.task('scripts', function() { // Minify and copy all JavaScript (except vendor scripts) return gulp.src(paths.scripts) .pipe(uglify()) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js')); });
If you have two files:
f1.js file:
function f1(){ var hello = 1; return hello; }
f2.js file:
function f2(){ return f1(); }
The result of the task in all.min.js is:
function f1(){var n=1;return n} function f2(){return f1()}
How can I make uglify cripple these top-level function names, i.e. f1 and f2 ? I tried:
Optional uglify
return gulp.src(paths.scripts) .pipe(uglify()) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js')) .pipe(uglify());
Passing the mangle option
return gulp.src(paths.scripts) .pipe(uglify({mangle: true})) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js'));
Top level transfer
return gulp.src(paths.scripts) .pipe(uglify({toplevel: true})) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js'));
But all this has no effect.
source share