Skip to content

Commit 370fb95

Browse files
committed
Look for source of dts file only if dts is not from node_modules unless we have project references in node_modules
1 parent 81c9518 commit 370fb95

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/compiler/program.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,6 +1717,7 @@ export function createProgram(_rootNamesOrOptions: readonly string[] | CreatePro
17171717
let projectReferenceRedirects: Map<Path, ResolvedProjectReference | false> | undefined;
17181718
let mapFromFileToProjectReferenceRedirects: Map<Path, Path> | undefined;
17191719
let mapFromToProjectReferenceRedirectSource: Map<Path, SourceOfProjectReferenceRedirect> | undefined;
1720+
let hasResolvedReferencencesInNodeModules = false;
17201721

17211722
const useSourceOfProjectReferenceRedirect = !!host.useSourceOfProjectReferenceRedirect?.() &&
17221723
!options.disableSourceOfProjectReferenceRedirect;
@@ -3823,6 +3824,7 @@ export function createProgram(_rootNamesOrOptions: readonly string[] | CreatePro
38233824

38243825
function getSourceOfProjectReferenceRedirect(path: Path) {
38253826
if (!isDeclarationFileName(path)) return undefined;
3827+
if (!hasResolvedReferencencesInNodeModules && pathContainsNodeModules(path)) return undefined;
38263828
if (mapFromToProjectReferenceRedirectSource === undefined) {
38273829
mapFromToProjectReferenceRedirectSource = new Map();
38283830
forEachResolvedProjectReference(resolvedRef => {
@@ -4140,6 +4142,9 @@ export function createProgram(_rootNamesOrOptions: readonly string[] | CreatePro
41404142
sourceFile.path = sourceFilePath;
41414143
sourceFile.resolvedPath = sourceFilePath;
41424144
sourceFile.originalFileName = refPath;
4145+
if (!hasResolvedReferencencesInNodeModules && (pathContainsNodeModules(sourceFile.resolvedPath) || pathContainsNodeModules(sourceFile.path))) {
4146+
hasResolvedReferencencesInNodeModules = true;
4147+
}
41434148

41444149
const resolvedRef: ResolvedProjectReference = { commandLine, sourceFile };
41454150
projectReferenceRedirects.set(sourceFilePath, resolvedRef);

0 commit comments

Comments
 (0)