@@ -1097,7 +1097,7 @@ namespace ts {
10971097 const modulesWithElidedImports : Map < boolean > = { } ;
10981098
10991099 // Track source files that are JavaScript files found by searching under node_modules, as these shouldn't be compiled.
1100- const jsFilesFoundSearchingNodeModules : Map < boolean > = { } ;
1100+ const sourceFilesFoundSearchingNodeModules : Map < boolean > = { } ;
11011101
11021102 const start = new Date ( ) . getTime ( ) ;
11031103
@@ -1378,7 +1378,7 @@ namespace ts {
13781378 getSourceFile : program . getSourceFile ,
13791379 getSourceFileByPath : program . getSourceFileByPath ,
13801380 getSourceFiles : program . getSourceFiles ,
1381- getFilesFromNodeModules : ( ) => jsFilesFoundSearchingNodeModules ,
1381+ isSourceFileFromNodeModules : ( file : SourceFile ) => ! ! lookUp ( sourceFilesFoundSearchingNodeModules , file . path ) ,
13821382 writeFile : writeFileCallback || (
13831383 ( fileName , data , writeByteOrderMark , onError , sourceFiles ) => host . writeFile ( fileName , data , writeByteOrderMark , onError , sourceFiles ) ) ,
13841384 isEmitBlocked,
@@ -2066,15 +2066,17 @@ namespace ts {
20662066 // - noResolve is falsy
20672067 // - module name comes from the list of imports
20682068 // - it's not a top level JavaScript module that exceeded the search max
2069- const isJsFileUnderNodeModules = resolution && resolution . isExternalLibraryImport &&
2070- hasJavaScriptFileExtension ( resolution . resolvedFileName ) ;
2069+ const isFromNodeModulesSearch = resolution && resolution . isExternalLibraryImport ;
2070+ const isJsFileFromNodeModules = isFromNodeModulesSearch && hasJavaScriptFileExtension ( resolution . resolvedFileName ) ;
20712071
2072- if ( isJsFileUnderNodeModules ) {
2073- jsFilesFoundSearchingNodeModules [ resolvedPath ] = true ;
2072+ if ( isFromNodeModulesSearch ) {
2073+ sourceFilesFoundSearchingNodeModules [ resolvedPath ] = true ;
2074+ }
2075+ if ( isJsFileFromNodeModules ) {
20742076 currentNodeModulesJsDepth ++ ;
20752077 }
20762078
2077- const elideImport = isJsFileUnderNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth ;
2079+ const elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth ;
20782080 const shouldAddFile = resolution && ! options . noResolve && i < file . imports . length && ! elideImport ;
20792081
20802082 if ( elideImport ) {
@@ -2089,7 +2091,7 @@ namespace ts {
20892091 file . imports [ i ] . end ) ;
20902092 }
20912093
2092- if ( isJsFileUnderNodeModules ) {
2094+ if ( isJsFileFromNodeModules ) {
20932095 currentNodeModulesJsDepth -- ;
20942096 }
20952097 }
0 commit comments