filesnitch
v2.1.0
Published
Astrohelm file system watcher
Downloads
32
Maintainers
Readme
[!WARNING]
This library does not manage rename event, you will receive two different events instead:
- First event is
unlink
, with old path to the file- Second event is
new
, with new path to the fileYou can handle it on your own with handling this kind of scenarios. Also don't use this library if you want to manage remote repositories, try
fs.watchFile
instead.
npm i filesnitch --save
const Snitch = require('filesnitch');
const snitch = new Snitch({
timeout: 200, // Events debouncing for queue (default 1000)
filter: new RegExp(/[\D\d]+\.ignore\D*/), // Ignore files and directories
// filter: path => new RegExp(/[\D\d]+\.ignore\D*/).test(path), // (Function)
// filter: /[\D\d]+\.ignore\D*/, // (RegExp)
// filter: '/[\D\d]+\.ignore\D*/', // (string)
recursive: false, // Include nested directories (default: true)
home: process.cwd(), // Removes root path from emits, Warning: ignore will work on full paths
});
snitch.watchSync('/home/user/Downloads').watchSync('/home/user/Documents');
snitch.watch('/home/user/Desktop', (event, path, details) => console.log('New File ! Desktop'));
snitch.on('before', events => console.log({ before: events }));
snitch.on('update', (path, details) => console.log({ changed: path, details }));
snitch.on('unlink', path => console.log({ deleted: path }));
snitch.on('new', path => console.log({ new: path }));
snitch.on('event', (event, path, details) => console.log({ event, path, details }));
snitch.on('after', events => console.log({ after: events }));