diff --git a/src/compiler/core.ts b/src/compiler/core.ts index a3b5ed1c45f..9a4f5452eed 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -739,13 +739,12 @@ namespace ts { export function isSupportedSourceFileName(fileName: string) { if (!fileName) { return false; } - let dotIndex = fileName.lastIndexOf("."); - if (dotIndex < 0) { - return false; + for (let extension of supportedExtensions) { + if (fileExtensionIs(fileName, extension)) { + return true; + } } - - let extension = fileName.slice(dotIndex, fileName.length); - return supportedExtensions.indexOf(extension) >= 0; + return false; } const extensionsToRemove = [".d.ts", ".ts", ".js", ".tsx", ".jsx"]; @@ -846,7 +845,7 @@ namespace ts { export function copyListRemovingItem(item: T, list: T[]) { let copiedList: T[] = []; for (var i = 0, len = list.length; i < len; i++) { - if (list[i] != item) { + if (list[i] !== item) { copiedList.push(list[i]); } } diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 8d4125f06a6..09f8a372463 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -735,7 +735,7 @@ namespace ts.server { if (!(--project.projectService.directoryWatchersRefCount[directory])) { this.log("Close directory watcher for: " + directory); project.projectService.directoryWatchersForTsconfig[directory].close(); - project.projectService.directoryWatchersForTsconfig[directory] = undefined; + delete project.projectService.directoryWatchersForTsconfig[directory]; } } this.inferredProjects = copyListRemovingItem(project, this.inferredProjects);