UNPKG

large-watcher

Version:

A watcher for NodeJS, that works well with large directories

92 lines (63 loc) 1.86 kB
large-watcher ============= A watcher for NodeJS, that works well with large directories. It leverages the unix `find` command for improved performance and reliability. ## Install ``` npm install large-watcher ``` ## Example ```js var watcher = require('large-watcher'); var w = watcher('/Users/aaron/git/large-watcher', 1).start(); var log = console.log.bind(console); w.on('change', log.bind(null, 'change')); w.on('created', log.bind(null, 'created')); w.on('deleted', log.bind(null, 'deleted')); w.on('modified', log.bind(null, 'modified')); ``` ## Methods ### `watcher(directory, seconds)` Creates an instance of the watcher, that polls `directory` every `seconds` for changes ### `.start()` Initiates watching, starts polling directory for changes ### `.stop()` Stops watching, clears polling. `.start()` must be called again for any changed to happen ### `.cleanup()` Stops watcher and removes all event listeners ## Events ### `.on('change', ` This event is triggered whenever any files are `modified` or `deleted`. It's data is simply the combination of `modified` and `deleted` events' data. Example : ```json { deleted: ["./remove-file", "./another-removed-file-somewhere"], modified: ["./this-file-was-modified"], } ``` ### `.on('created', ` Whenenver newly created files are detected, returns list of created filenames, like : ```json [ "./file_a", "./file_b" ] ``` ### `.on('modified', ` Whenenver modified files are detected, returns list of modified filenames, like : ```json [ "./file_a", "./file_b" ] ``` ### `.on('deleted', ` Whenenver modified files are detected, returns list of modified filenames, like : ```json [ "./file_a", "./file_b" ] ``` ### `.on('error'` :warning: Must be handled or process will crash on errors. ## Misc Inspired by http://stackoverflow.com/a/24789597