diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
commit | 34fc2831e0cf0fed01c71cec28d93472d87f455b (patch) | |
tree | a803cc907c20491ba02863b5d3dd5aedf6bfed10 /lib/utils/watch.js | |
parent | e1594cde2c32e4ff48f6c4eff3d3d461743d74e1 (diff) | |
parent | 1bf68a5aa0703b5a1815cfe4ebb731b5fb6ed9d2 (diff) | |
download | gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.zip gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.gz gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.bz2 |
Merge branch 'version/2.0'
Diffstat (limited to 'lib/utils/watch.js')
-rw-r--r-- | lib/utils/watch.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/utils/watch.js b/lib/utils/watch.js new file mode 100644 index 0000000..795bbb7 --- /dev/null +++ b/lib/utils/watch.js @@ -0,0 +1,38 @@ +var Q = require('q'); +var _ = require('lodash'); +var path = require('path'); +var Gaze = require('gaze').Gaze; + +var parsers = require('gitbook-parsers') + +function watch(dir) { + var d = Q.defer(); + dir = path.resolve(dir); + + var toWatch = [ + "book.json", "book.js" + ]; + + _.each(parsers.extensions, function(ext) { + toWatch.push("**/*"+ext); + }); + + var gaze = new Gaze(toWatch, { + cwd: dir + }); + + gaze.once("all", function(e, filepath) { + gaze.close(); + + d.resolve(filepath); + }); + gaze.once("error", function(err) { + gaze.close(); + + d.reject(err); + }); + + return d.promise; +} + +module.exports = watch; |