Ian Lim
Ian Lim

Reputation: 4284

Is there a better way to write the gulp.js (with browserify) below?

Given a source js And I want to generate two copies of it

One of them is the concat browserify version And the other is a uglified browserfied version

I had managed to come out with the gulp.js below for the task:

var gulp = require('gulp');
var browserify = require('browserify');
var uglify = require('gulp-uglify');
var source = require('vinyl-source-stream');
var rename = require('gulp-rename');
var streamify = require('gulp-streamify')

gulp.task('js',function(){

    var outputDir = 'someoutputfolder';

    browserify('main.js')
        .bundle({debug:true})
        .pipe(source('build.js'))
        .pipe(gulp.dest(outputDir));

    browserify('main.js')
        .bundle({debug:true})
        .pipe(source('build.js'))
        .pipe(streamify(uglify()))
        .pipe(gulp.dest(outputDir));
});

I wonder whether there is a more efficient way to accomplish my objective.

Any help is appreciated.

Upvotes: 0

Views: 543

Answers (1)

urban_raccoons
urban_raccoons

Reputation: 3499

Well at this point I suppose you're just looking for the DRY-est possible implementation, so perhaps:

var gulp = require('gulp');
var browserify = require('browserify');
var uglify = require('gulp-uglify');
var source = require('vinyl-source-stream');
var rename = require('gulp-rename');
var streamify = require('gulp-streamify')

gulp.task('js',function(){

  var outputDir = 'someoutputfolder';

  var bundle = browserify('main.js')
        .bundle({debug:true});

  bundle.pipe(source('build.js'))
        .pipe(gulp.dest(outputDir));

  bundle.pipe(source('build-min.js'))
        .pipe(streamify(uglify()))
        .pipe(gulp.dest(outputDir));
});

I'm honestly not sure this buys you much, but I guess it's a little better.

Upvotes: 2

Related Questions