|
|
|
@ -3,7 +3,7 @@ var parse = require('shell-quote').parse; |
|
|
|
var path = require('path'); |
|
|
|
var rc = require('rc'); |
|
|
|
var spawn = require('child_process').spawn; |
|
|
|
var watch = require('watch'); |
|
|
|
var chokidar = require('chokidar'); |
|
|
|
|
|
|
|
module.exports.tend = function(dir, rawCommand, options) { |
|
|
|
options = options || {}; |
|
|
|
@ -46,16 +46,20 @@ module.exports.tend = function(dir, rawCommand, options) { |
|
|
|
console.log(('Process ' + pid + ' Started').green); |
|
|
|
}.bind(this); |
|
|
|
|
|
|
|
if(options.start){ |
|
|
|
if (options.start) { |
|
|
|
startCommand(); |
|
|
|
} |
|
|
|
|
|
|
|
if(options.runOnce){ |
|
|
|
if (options.runOnce) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
watch.watchTree(dir, function(f, curr, prev) { |
|
|
|
if (curr === null && prev === null) { |
|
|
|
var ignoreEvents = ['add', 'addDir']; |
|
|
|
chokidar.watch(dir, { |
|
|
|
persistent: true |
|
|
|
}) |
|
|
|
.on('all', function(e, f) { |
|
|
|
if (~ignoreEvents.indexOf(e)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
if (ignoreHidden) { |
|
|
|
@ -64,6 +68,7 @@ module.exports.tend = function(dir, rawCommand, options) { |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (!filter.test(f)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|