I have a gulp watch task, and I want it to stop automatically if there has been no changes in the last hour. Is this possible?
Use timeouts:
gulp.task('watcher', function() {
var watcher = gulp.watch('./app/*.js', ['jshint']);
var timeout = setTimeout(watcher.end, 60*60*1000);
watcher.on('change', function() {
clearTimeout(timeout);
timeout = setTimeout(watcher.end, 60*60*1000);
});
});
Everytime something in your Glob changes, you kill the timeout and start it anew. Otherwise you end your watcher.