@@ -585,10 +585,8 @@ export function resolveTypeReferenceDirective(typeReferenceDirectiveName: string
585
585
if ( resolutionMode === ModuleKind . ESNext && ( ModuleResolutionKind . Node16 <= moduleResolution && moduleResolution <= ModuleResolutionKind . NodeNext ) ) {
586
586
features |= NodeResolutionFeatures . EsmMode ;
587
587
}
588
- // true: "import" / false: "require" / undefined: default based on settings
589
- const useImportCondition = resolutionMode === ModuleKind . ESNext || ( resolutionMode !== undefined ? false : undefined ) ;
590
588
const conditions = ( features & NodeResolutionFeatures . Exports )
591
- ? getConditions ( options , useImportCondition )
589
+ ? getConditions ( options , resolutionMode )
592
590
: [ ] ;
593
591
const diagnostics : Diagnostic [ ] = [ ] ;
594
592
const moduleResolutionState : ModuleResolutionState = {
@@ -744,16 +742,13 @@ function getNodeResolutionFeatures(options: CompilerOptions) {
744
742
return features ;
745
743
}
746
744
747
- /**
748
- * @param overrideResolutionModeAttribute
749
- * @internal
750
- */
751
- export function getConditions ( options : CompilerOptions , esmMode ?: boolean ) {
745
+ /** @internal */
746
+ export function getConditions ( options : CompilerOptions , resolutionMode ?: ResolutionMode ) {
752
747
const moduleResolution = getEmitModuleResolutionKind ( options ) ;
753
- if ( esmMode === undefined ) {
748
+ if ( resolutionMode === undefined ) {
754
749
if ( moduleResolution === ModuleResolutionKind . Bundler ) {
755
750
// bundler always uses `import` unless explicitly overridden
756
- esmMode ??= moduleResolution === ModuleResolutionKind . Bundler ;
751
+ resolutionMode = ModuleKind . ESNext ;
757
752
}
758
753
else if ( moduleResolution === ModuleResolutionKind . Node10 ) {
759
754
// node10 does not support package.json imports/exports without
@@ -764,7 +759,7 @@ export function getConditions(options: CompilerOptions, esmMode?: boolean) {
764
759
}
765
760
// conditions are only used by the node16/nodenext/bundler resolvers - there's no priority order in the list,
766
761
// it's essentially a set (priority is determined by object insertion order in the object we look at).
767
- const conditions = esmMode
762
+ const conditions = resolutionMode === ModuleKind . ESNext
768
763
? [ "import" ]
769
764
: [ "require" ] ;
770
765
if ( ! options . noDtsResolution ) {
@@ -1439,13 +1434,13 @@ export function resolveModuleName(moduleName: string, containingFile: string, co
1439
1434
result = nodeNextModuleNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference , resolutionMode ) ;
1440
1435
break ;
1441
1436
case ModuleResolutionKind . Node10 :
1442
- result = nodeModuleNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference , resolutionMode ? getConditions ( compilerOptions , resolutionMode === ModuleKind . ESNext ) : undefined ) ;
1437
+ result = nodeModuleNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference , resolutionMode ? getConditions ( compilerOptions , resolutionMode ) : undefined ) ;
1443
1438
break ;
1444
1439
case ModuleResolutionKind . Classic :
1445
1440
result = classicNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference ) ;
1446
1441
break ;
1447
1442
case ModuleResolutionKind . Bundler :
1448
- result = bundlerModuleNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference , resolutionMode ? getConditions ( compilerOptions , resolutionMode === ModuleKind . ESNext ) : undefined ) ;
1443
+ result = bundlerModuleNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference , resolutionMode ? getConditions ( compilerOptions , resolutionMode ) : undefined ) ;
1449
1444
break ;
1450
1445
default :
1451
1446
return Debug . fail ( `Unexpected moduleResolution: ${ moduleResolution } ` ) ;
@@ -1813,7 +1808,7 @@ function nodeModuleNameResolverWorker(
1813
1808
compilerOptions ,
1814
1809
moduleResolution === ModuleResolutionKind . Bundler || moduleResolution === ModuleResolutionKind . Node10
1815
1810
? undefined
1816
- : ! ! ( features & NodeResolutionFeatures . EsmMode ) ,
1811
+ : ( features & NodeResolutionFeatures . EsmMode ) ? ModuleKind . ESNext : ModuleKind . CommonJS ,
1817
1812
) ;
1818
1813
1819
1814
const diagnostics : Diagnostic [ ] = [ ] ;
@@ -2225,7 +2220,7 @@ export function getEntrypointsFromPackageJsonInfo(
2225
2220
2226
2221
if ( features & NodeResolutionFeatures . Exports && packageJsonInfo . contents . packageJsonContent . exports ) {
2227
2222
const conditionSets = deduplicate (
2228
- [ getConditions ( options , /*esmMode*/ true ) , getConditions ( options , /*esmMode*/ false ) ] ,
2223
+ [ getConditions ( options , ModuleKind . ESNext ) , getConditions ( options , ModuleKind . CommonJS ) ] ,
2229
2224
arrayIsEqualTo ,
2230
2225
) ;
2231
2226
for ( const conditions of conditionSets ) {
0 commit comments