Monocle -- a tool for watching things
npm install monocle
var Monocle = require('monocle') (new Monocle).watchDirectory(dir, cb, watchSetupComplete, fileFilers, directoryFilters);
There are three different ways to specify filters for files and directories respectively.
function: a function that takes an entry info as a parameter and returns true to include or false to exclude the entry
glob string: a string (e.g.,
*.js) which is matched using minimatch, so go there for more information.
**) are not supported since specifiying a recursive pattern for an already recursive function doesn't make sense.
Negated globs (as explained in the minimatch documentation) are allowed, e.g.,
!*.txtmatches everything but text files.
array of glob strings: either need to be all inclusive or all exclusive (negated) patterns otherwise an error is thrown.
[ '!.git', '!node_modules' ]includes all directories except the '.git' and 'node_modules'.
Directories that do not pass a filter will not be recursed into.