The philosophy of hound is:
- Be reliable, work on every platform
- Be fast
- Be simple
hound is designed to be very reliable, fast, and simple. There are no runtime dependencies outside of the standard node.js libraries. There is a development dependency on Jasmine, which is required to run the tests.
Install using npm:
npm install hound
Because hound has no runtime dependencies, it is also possible to download the library manually and require it directly.
hound=require('hound')// Create a directory tree watcher.watcher=hound.watch('/tmp')// Create a file watcher.watcher=hound.watch('/tmp/file.txt')// Add callbacks for file and directory events. The change event only applies// to files.watcher.on('create',function(file,stats){console.log(file+' was created')})watcher.on('change',function(file,stats){console.log(file+' was changed')})watcher.on('delete',function(file){console.log(file+' was deleted')})// Unwatch specific files or directories.watcher.unwatch('/tmp/another_file')// Unwatch all watched files and directories.watcher.clear()To run the tests, use npm test. The tests work on actual directory trees that
are generated in the tmp directory.