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
No known key found for this signature in database
GPG Key ID: 22CCA4B120C427D2

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,