import * as chokidar from 'chokidar' type Handler = (filePath: string) => void export class FileWatcher { private watcher: chokidar.FSWatcher constructor(targetPat: string) { this.watcher = chokidar.watch(targetPat, { ignored: /(^|[\/\\])\../, // ignore dotfiles persistent: true, }) } public onFileAdd(handler: Handler) { this.watcher.on('add', handler) } public onFileDlete(handler: Handler) { this.watcher.on('unlink', handler) } public onFileChange(handler: Handler) { // this.watcher.on('change', handler) this.watcher.on('all', handler) } }