Skip to content

Suggestion: Support Watchify #8

@Thr1ve

Description

@Thr1ve

Hello!
Would it be possible to integrate Watchify when using Gulp ?
For instance, https://github.com/greypants/gulp-starter :

his browserify gulp task file:

/*Bundle javascripty things with browserify!
If the watch task is running, this uses watchify instead
of browserify for faster bundling using caching.
*/
var browserify   = require('browserify');
var watchify     = require('watchify');
var bundleLogger = require('../util/bundleLogger');
var gulp         = require('gulp');
var handleErrors = require('../util/handleErrors');
var source       = require('vinyl-source-stream');

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

var bundleMethod = global.isWatching ? watchify : browserify;

var bundler = bundleMethod({
    // Specify the entry point of your app
    entries: ['./src/javascript/app.coffee'],
    // Add file extentions to make optional in your requires
    extensions: ['.coffee', '.hbs'],
    // Enable source maps!
    debug: true
});

var bundle = function() {
    // Log when bundling starts
    bundleLogger.start();

    return bundler
        .bundle()
        // Report compile errors
        .on('error', handleErrors)
        // Use vinyl-source-stream to make the
        // stream gulp compatible. Specifiy the
        // desired output filename here.
        .pipe(source('app.js'))
        // Specify the output destination
        .pipe(gulp.dest('./build/'))
        // Log when bundling completes!
        .on('end', bundleLogger.end);
};

if(global.isWatching) {
    // Rebundle with watchify on changes.
    bundler.on('update', bundle);
}

return bundle();
});

see also: https://github.com/gulpjs/gulp/blob/master/docs/recipes/fast-browserify-builds-with-watchify.md#fast-browserify-builds-with-watchify

Also:
-Could adding BrowserSync like in greypants' gulp-starter be worth considering?
-It seems like the ".tmp/" equivalent is the "build/" in Gulp. Would it be improper to rename the "tmp" directory to "build" when selecting Gulp?

Trying to get a pull request ready, but I'm a bit new / unexperienced so it may take me awhile...still trying to wrap my head around pretty much everything here...
Please yell at me if I've been improper/ignorant in any way with this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions