From 0482afdc1ecb70e981a9d81fac2321bf8174a500 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Fri, 13 Nov 2015 14:28:40 -0800 Subject: [PATCH] Load only typescript files if resolving from node modules --- src/compiler/program.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 459252a9a8f..1d3894ee186 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -65,7 +65,7 @@ namespace ts { : { resolvedModule: undefined, failedLookupLocations }; } else { - return loadModuleFromNodeModules(moduleName, containingDirectory, supportedExtensions, host); + return loadModuleFromNodeModules(moduleName, containingDirectory, host); } } @@ -114,7 +114,7 @@ namespace ts { return loadNodeModuleFromFile(extensions, combinePaths(candidate, "index"), failedLookupLocation, host); } - function loadModuleFromNodeModules(moduleName: string, directory: string, supportedExtensions: string[], host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations { + function loadModuleFromNodeModules(moduleName: string, directory: string, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations { const failedLookupLocations: string[] = []; directory = normalizeSlashes(directory); while (true) { @@ -122,12 +122,13 @@ namespace ts { if (baseName !== "node_modules") { const nodeModulesFolder = combinePaths(directory, "node_modules"); const candidate = normalizePath(combinePaths(nodeModulesFolder, moduleName)); - let result = loadNodeModuleFromFile(supportedExtensions, candidate, failedLookupLocations, host); + // Load only typescript files irrespective of allowJs option if loading from node modules + let result = loadNodeModuleFromFile(supportedTypeScriptExtensions, candidate, failedLookupLocations, host); if (result) { return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations }; } - result = loadNodeModuleFromDirectory(supportedExtensions, candidate, failedLookupLocations, host); + result = loadNodeModuleFromDirectory(supportedTypeScriptExtensions, candidate, failedLookupLocations, host); if (result) { return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations }; }