watchdirectory ==============


Similar to node fs.watchFile but watches a directory recursively and lets you unwatch as well

This module provides the ability to recursively watch a directory for changes. Unlike similar modules, this one can unwatch as well.

The first argument is the directory root you want to watch.

The options object is passed to fs.watchFile but can also be used to provide additional watchDirectory specific options:

  • 'initial' - Defaults to true. If true then we notify the callback of files during initial directory walk.
  • 'recursive' - Defaults to true. Controls the depth of our directory walk.
  • 'filter' - Can be a function or RegExp or string. If it's a string then that will be considered an extension to check. Your callback will only be notified about files that pass your filter.
  var unwatch = watchdirectory.watchDirectory('src', {filter:'.js'}, function (filename, curr, prev, change) {
    if (change == 'initial') {
      // filename found during initial pass
    else if (change == 'created') {
      // filename is a new file
    else if (change == 'deleted') {
      // filename was removed
    else if (change == 'modified') {
      // filename was changed

// later on to unwatch, just call the previously returned function unwatch();