import Watcher from '../src/watcher.js' import onDeath from 'ondeath' const USE_CUSTOM_HANDLER = false const DEBOUNCE = 0 const READY_TIMEOUT = null ; (async () => { let options = { source: './example/repo/**', ignored: ['**/dontwatch.js'], ignoreList: ['./example/repo/.gitignore'], // ignore_goutputstream: false, debounce: DEBOUNCE, readyTimeout: READY_TIMEOUT } let watcher = new Watcher(options) watcher.on('ready', (state, opts) => { console.log('watched files indexed and ready??', state) if (opts) console.dir(opts) }) watcher.on('watching', (state, opts) => { console.log('watcher is active and listening for changes?', state) if (opts) console.dir(opts) }) await watcher.start( // {ignored:'**/another'} ) if (USE_CUSTOM_HANDLER) { watcher.registerHandler( function handler(type, f) { this.emit('custom', f, type) } // end handler ) watcher.on('custom', (file, type) => { console.log(`custom handler ======= file ${file} was ${type} ==========`) }) } // default handler event is `changed` else watcher.on('changed', (file, type) => { console.log(`======= file ${file} was ${type} ==========`) }) onDeath(() => { console.log('\nHe\'s dead Jim') watcher.remove() }) })().catch(err => { console.error('FATAL: UNABLE TO START SYSTEM!\n', err) })