Skip to content

Commit 531d58f

Browse files
authored
Merge pull request microsoft#27563 from Microsoft/nonPollingWatcher
Ignore the directory watchers invoked in non polling watch mode with no relative file name information
2 parents 53906f2 + 585420e commit 531d58f

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/compiler/sys.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -796,11 +796,10 @@ namespace ts {
796796
dirName,
797797
(_eventName: string, relativeFileName) => {
798798
// When files are deleted from disk, the triggered "rename" event would have a relativefileName of "undefined"
799-
const fileName = !isString(relativeFileName)
800-
? undefined! // TODO: GH#18217
801-
: getNormalizedAbsolutePath(relativeFileName, dirName);
799+
if (!isString(relativeFileName)) { return; }
800+
const fileName = getNormalizedAbsolutePath(relativeFileName, dirName);
802801
// Some applications save a working file via rename operations
803-
const callbacks = fileWatcherCallbacks.get(toCanonicalName(fileName));
802+
const callbacks = fileName && fileWatcherCallbacks.get(toCanonicalName(fileName));
804803
if (callbacks) {
805804
for (const fileCallback of callbacks) {
806805
fileCallback(fileName, FileWatcherEventKind.Changed);
@@ -847,7 +846,7 @@ namespace ts {
847846
}
848847
}
849848

850-
type FsWatchCallback = (eventName: "rename" | "change", relativeFileName: string) => void;
849+
type FsWatchCallback = (eventName: "rename" | "change", relativeFileName: string | undefined) => void;
851850

852851
function createFileWatcherCallback(callback: FsWatchCallback): FileWatcherCallback {
853852
return (_fileName, eventKind) => callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "");

0 commit comments

Comments
 (0)