Do additional noDtsResolution after all external .d.ts resolutions

This commit is contained in:
Andrew Branch
2023-11-14 11:09:32 -08:00
parent e170bc59d4
commit bb302d2a02
+15
View File
@@ -1804,6 +1804,7 @@ function nodeModuleNameResolverWorker(
const failedLookupLocations: string[] = [];
const affectingLocations: string[] = [];
const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
const originalConditions = conditions;
conditions ??= getConditions(
compilerOptions,
moduleResolution === ModuleResolutionKind.Bundler || moduleResolution === ModuleResolutionKind.Node10
@@ -1866,6 +1867,20 @@ function nodeModuleNameResolverWorker(
}
}
if (!compilerOptions.noDtsResolution && result?.value?.isExternalLibraryImport && result.value.resolved.extension === Extension.Dts) {
resolveModuleName(
moduleName,
combinePaths(containingDirectory, "__noDtsResolution__.ts"),
{ ...compilerOptions, noDtsResolution: true },
host,
cache,
redirectedReference,
originalConditions
? (features & NodeResolutionFeatures.EsmMode ? ModuleKind.ESNext : ModuleKind.CommonJS)
: undefined,
);
}
return createResolvedModuleWithFailedLookupLocationsHandlingSymlink(
moduleName,
result?.value?.resolved,