node package manager


Monitor a tree of files and folders for creations, changes, and deletions


Based upon Mikeal Rogers' watch library.

Watch a file tree and emit appropriate events for various changes. Extends EventEmitter. Uses to monitor files for change, and re-scans directories periodicly to detect new creations and deletions.

Polling allows watcher to function on most operating systems where or FS.watchFile are not fully supported or have inconsistant behavior. is still used to monitor file changes asynchronously.

  • constructor({object}options) options:
    • root: top-level folder to watch
    • refresh: interval to
  • start(): Start the watcher
  • stop(): Stop the watcher
  • path: Path of the affected node relative to the watch tree root
  • dir: boolean, indicates whether or not the node is a folder

Events emit a WatchEvent object

  • watching: Emitted whan a new file or folder is added to the watch list
  • create: Emitted when a new file is detected in the watched tree
  • change: Emitted when a file in the watch list is changed
  • delete: emitted when a file or folder is deleted from the watched tree
  • constructor({object}options) options:
    • root: top-level folder to search in
    • filter: function(path) called for each path found in tree. Return true to emit path and search with in if directory
  • start(): Start traversing

Events emit the canonical path of the located node

  • file: Emitted when a file node is located
  • folder: Emitted when a folder node is located