GitXplorerGitXplorer
p

deep-watch

public
5 stars
2 forks
0 issues

Commits

List of commits on branch master.
Unverified
90c21e3edaac0500ba603aa8d751d3a05815883d

Tag version 0.1.1.

pphilipwalton committed 11 years ago
Unverified
44416542057146b62f2f666f0f43c40876c90ba6

Fix mistakes in package.json.

pphilipwalton committed 11 years ago
Unverified
0b4f1d63ba7f2e219559d877fb463bd45576af60

Tag version 0.1.0.

pphilipwalton committed 11 years ago
Unverified
3e30b0807142bfcbe38813eeb112ab8031660571

Finish remaining test cases.

pphilipwalton committed 11 years ago
Unverified
9655a1b706ccb3f8482bd6b9d5e57e4099058d3d

Refactor the API, add new documentation, and add tests for the stop method.

pphilipwalton committed 11 years ago
Unverified
7e542f4a1cfe5f84862f5326cae608bea15cb9ba

Update the tests to cover adding and removing in sub-directories.

pphilipwalton committed 11 years ago

README

The README file for this repository.

Deep Watch

Exactly like fs.watch, but with sub-directory support. When an instance of DeepWatch is registered on a directory, it scans all of that directories sub-directories and applies watchers to them as well. It also keeps track of newly added or removed directories after the watching has begun.

Note: A recursive option for fs.watch is currently supported (for OS X only) in a beta version of node (v0.11.9). Supported platforms will use the recursive option, all other platorms will use this library's original implementation.

API

new DeepWatch(cwd, [options], callback)

Return a new DeepWatch instance.

cwd String - the root directory to start watching from

options Object - see below for options details

  • exclude: Array - a list of directory names to ignore. Events on those directories, their sud-directories, or any files within are not reported. (default: [])
  • ignoreDotDirectories: Boolean - whether to ignore directories beginning with a . (default: true)

callback Function - a callback to be invoked on each file systen event. The callback is invoked with the following arguments (event, filename) and the DeepWatch instance as its this context.

DeepWatch#start()

Start listening for file system events.

DeepWatch#stop()

Stop listening for events and remove any associated watchers.

Example

var DeepWatch = require('deep-watch')

var dw = new DeepWatch('.', function(event, filename) {
  if (filename == 'foo/bar/index.html') this.stop()
})

dw.start()

Known limitations

  • If multiple, nested files or directories are added at the same time (or very quickly), no event will be triggered for the nested file. This can happen when doing something like mkdir -p new-directory/new-sub-directory. The reason is that the sub-directory is created before the callback for the creation of the parent directory is invoked.