diff --git a/lib/fsevents-handler.js b/lib/fsevents-handler.js index 0f7f2cba..8031da0e 100644 --- a/lib/fsevents-handler.js +++ b/lib/fsevents-handler.js @@ -49,6 +49,9 @@ const { IDENTITY_FN } = require('./constants'); +// See kFSEventStreamEventFlagMustScanSubDirs in FSEvents documentation +const MUST_SCAN_SUBDIRS_FLAG = 1; + const Depth = (value) => isNaN(value) ? {} : {depth: value}; const stat = promisify(fs.stat); @@ -148,6 +151,7 @@ function setFSEventsListener(path, realPath, listener, rawEmitter) { rawEmitter, watcher: createFSEventsInstance(watchPath, (fullPath, flags) => { if (!cont.listeners.size) return; + if (flags & MUST_SCAN_SUBDIRS_FLAG) return; const info = fsevents.getInfo(fullPath, flags); cont.listeners.forEach(list => { list(fullPath, flags, info);