ignoring-watcher
v1.1.0
Published
Watch an entire directory tree while ignoring specific directories/files based on .gitignore rules.
Downloads
3,559
Readme
ignoring-watcher
This module allows you to create a directory tree watcher while ignoring specific directories/files based on .gitignore rules. Instead of specifying which files/directories to watch it is often more convenient to specify which files/directories to not watch.
Internally, this module uses chokidar for cross-OS file watching. Also, the chokidar module internally uses anymatch to handle ignore rules.
Usage
var ignoringWatcher = require('ignoring-watcher').createWatcher({
// Directory to watch. Defaults to process.cwd()
dir: __dirname,
// Watch multiple directories instead of a single dir
dirs: ['some/dir', 'another/dir'],
// One or more ignore patterns
ignorePatterns: [
'/node_modules',
'*.marko.js'
],
// The ignore patterns from these ignore files will all
// be loaded and joined together
ignoreFiles: [
'.gitignore',
'.npmignore'
],
// Only the first existing ignore file (if any) will be loaded and merged
selectIgnoreFile: [
'.gitignore',
'.npmignore'
],
// If no ignore patterns were found via the other properties
// then these ignore patterns will be used
defaultIgnorePatterns: [
'.*'
],
// The following patterns will always be loaded and not impact
// the loading of the `defaultIgnorePatterns`
ignoreAlwaysPatterns: [
'output-file.txt'
]
});
ignoringWatcher
.on('modified', function(eventArgs) { // Fired for any change event (add, delete, etc.)
var type = eventArgs.type; // add | addDir | change | unlink | unlinkDir
var path = eventArgs.path; // The full file system path of the modified file
});
ignoringWatcher.startWatching(); // Don't forget to start the file watching service
Maintainers
- Patrick Steele-Idem (Github: @patrick-steele-idem) (Twitter: @psteeleidem)
Contribute
Pull requests, bug reports and feature requests welcome.
License
ISC