A gulp task that inserts a delay before calling the next function in a chain.
The following example will watch for changes to templates and delay the livereload server refresh until after the nodemon script is expected to have restarted.
// Gulpfile.js
var gulp = require('gulp')
, r = require('tiny-lr')
, refresh = require('gulp-livereload')
, nodemon = require('gulp-nodemon')
, wait = require('../gulp-wait')
, server = lr();
gulp.task('dev', function () {
gulp.src('./index.js')
.pipe(nodemon());
server.listen(35729, function (err) {
if (err) return console.log(err);
gulp.watch('./app/views/**/*.html', function (e) {
gulp.src(e.path)
.pipe(wait(1500))
.pipe(refresh(server));
});
});
})
Yes, ideally there would be an event from nodemon to trigger the livereload.