gulpbrowserifybabeljswatchify

Watchify detecting changes but output doesn't change


I have the following gulpfile

gulp.task('browserify', function() {
    bundle(false);
});

gulp.task('browserify-watch', function() {
    bundle(true);
});

function bundle (performWatch) {
    var bify = (performWatch === true
        ? watchify(browserify(finalBrowserifyOptions))
        : browserify(finalBrowserifyOptions));

    if (performWatch) {
        bify.on('update', function () {
            console.log('Updating project files...');
            rebundle(bify);
        });
    }

    bify.transform(babelify.configure({
        compact: false
    }));

    function rebundle(bify) {
        return bify.bundle()
            .on('error', function () {
                plugins.util.log('Browserify error');
            })
            .pipe(source('bundle.js'))
            .pipe(buffer())
            .pipe(plugins.sourcemaps.init({loadMaps: true}))
            .pipe(plugins.sourcemaps.write('./')) 
            .pipe(gulp.dest(paths.build + assets.js));
    }

    return rebundle(bify);
}

The trouble is that gulp browserify works just fine. However, gulp browserify-watch detects the changes but the output never gets updated.

What am I doing wrong?


Solution

  • Looks like everything was fine my IDE, Webstorm, was caching the file. When I looked at the actual file on the box it was fine.