FroggyWeb
6/11/2017 - 11:03 AM

Gulp - Creating multiple bundles with Browserify - globs

Gulp - Creating multiple bundles with Browserify - globs

// Comes from http://fettblog.eu/gulp-browserify-multiple-bundles/
'use strict';

var gulp       = require('gulp'),
    source     = require('vinyl-source-stream'),
    rename     = require('gulp-rename'),
    browserify = require('browserify'),
    glob       = require('node-glob'),
    es         = require('event-stream');

gulp.task('default', function(done) {
    glob('./app/main-**.js', function(err, files) {
        if (err) {
          done(err);
          return;
        }
    
        var tasks = files.map(function(entry) {
            return browserify({ entries: [entry] })
                .bundle()
                .pipe(source(entry))
                .pipe(rename({
                    extname: '.bundle.js'
                }))
                .pipe(gulp.dest('./dist')); 
            });
        // Only call done when merged stream has ended
        es.merge(tasks).on('end', done);
    })
});