forked from pakastin/nodegarden
-
Notifications
You must be signed in to change notification settings - Fork 0
/
watch.js
29 lines (22 loc) · 601 Bytes
/
watch.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var cp = require('child_process')
var chokidar = require('chokidar')
watch('css/**/*.styl', 'npm run build-css')
watch('scripts/**/*.js', 'npm run build-js')
watch('views/**/*.jade', 'npm run build-html')
function watch (path, cmd, cb) {
chokidar.watch(path)
.on('change', execCurry(cmd, cb))
}
function execCurry (cmd, cb) {
return function () {
exec(cmd, cb)
}
}
function exec (cmd, cb) {
cp.exec(cmd, function (err, stdout, stderr) {
err && console.error(err)
stdout && console.log(stdout)
stderr && console.error(stderr)
cb && cb(err, stdout, stderr)
})
}