Gulpfile com relógio para React e Browserify

Tive alguns problemas com watchify para criar um gulp build para react e browserify, onde o pacote seria atualizado quando um arquivo de origem é alterado. Portanto, aqui está uma maneira de organizar um arquivo de construção com o relógio.

var source = require('vinyl-source-stream'),
gulp
= require('gulp'),
browserify
= require('browserify'),
reactify
= require('reactify'),
notify
= require('gulp-notify');

var sourcesDir = './ui/jsx',
appEntryPoint
= "app.js",
targetDir
= './src/main/webapp';


gulp
.task('default', function() {
return browserify({entries: [sourcesDir + '/' + appEntryPoint], debug: true})
.transform(reactify)
.bundle()
.pipe(source(appEntryPoint))
.pipe(gulp.dest(targetDir))
.pipe(notify("Bundling done."));
});

gulp
.task('watch', function() {
gulp
.watch(sourcesDir + '/' + "*.js", ['default']);
});