@@ -585,10 +585,8 @@ export function resolveTypeReferenceDirective(typeReferenceDirectiveName: string
585585 if ( resolutionMode === ModuleKind . ESNext && ( ModuleResolutionKind . Node16 <= moduleResolution && moduleResolution <= ModuleResolutionKind . NodeNext ) ) {
586586 features |= NodeResolutionFeatures . EsmMode ;
587587 }
588- // true: "import" / false: "require" / undefined: default based on settings
589- const useImportCondition = resolutionMode === ModuleKind . ESNext || ( resolutionMode !== undefined ? false : undefined ) ;
590588 const conditions = ( features & NodeResolutionFeatures . Exports )
591- ? getConditions ( options , useImportCondition )
589+ ? getConditions ( options , resolutionMode )
592590 : [ ] ;
593591 const diagnostics : Diagnostic [ ] = [ ] ;
594592 const moduleResolutionState : ModuleResolutionState = {
@@ -744,16 +742,13 @@ function getNodeResolutionFeatures(options: CompilerOptions) {
744742 return features ;
745743}
746744
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 ) {
752747 const moduleResolution = getEmitModuleResolutionKind ( options ) ;
753- if ( esmMode === undefined ) {
748+ if ( resolutionMode === undefined ) {
754749 if ( moduleResolution === ModuleResolutionKind . Bundler ) {
755750 // bundler always uses `import` unless explicitly overridden
756- esmMode ??= moduleResolution === ModuleResolutionKind . Bundler ;
751+ resolutionMode = ModuleKind . ESNext ;
757752 }
758753 else if ( moduleResolution === ModuleResolutionKind . Node10 ) {
759754 // node10 does not support package.json imports/exports without
@@ -764,7 +759,7 @@ export function getConditions(options: CompilerOptions, esmMode?: boolean) {
764759 }
765760 // conditions are only used by the node16/nodenext/bundler resolvers - there's no priority order in the list,
766761 // 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
768763 ? [ "import" ]
769764 : [ "require" ] ;
770765 if ( ! options . noDtsResolution ) {
@@ -1439,13 +1434,13 @@ export function resolveModuleName(moduleName: string, containingFile: string, co
14391434 result = nodeNextModuleNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference , resolutionMode ) ;
14401435 break ;
14411436 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 ) ;
14431438 break ;
14441439 case ModuleResolutionKind . Classic :
14451440 result = classicNameResolver ( moduleName , containingFile , compilerOptions , host , cache , redirectedReference ) ;
14461441 break ;
14471442 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 ) ;
14491444 break ;
14501445 default :
14511446 return Debug . fail ( `Unexpected moduleResolution: ${ moduleResolution } ` ) ;
@@ -1813,7 +1808,7 @@ function nodeModuleNameResolverWorker(
18131808 compilerOptions ,
18141809 moduleResolution === ModuleResolutionKind . Bundler || moduleResolution === ModuleResolutionKind . Node10
18151810 ? undefined
1816- : ! ! ( features & NodeResolutionFeatures . EsmMode ) ,
1811+ : ( features & NodeResolutionFeatures . EsmMode ) ? ModuleKind . ESNext : ModuleKind . CommonJS ,
18171812 ) ;
18181813
18191814 const diagnostics : Diagnostic [ ] = [ ] ;
@@ -2225,7 +2220,7 @@ export function getEntrypointsFromPackageJsonInfo(
22252220
22262221 if ( features & NodeResolutionFeatures . Exports && packageJsonInfo . contents . packageJsonContent . exports ) {
22272222 const conditionSets = deduplicate (
2228- [ getConditions ( options , /*esmMode*/ true ) , getConditions ( options , /*esmMode*/ false ) ] ,
2223+ [ getConditions ( options , ModuleKind . ESNext ) , getConditions ( options , ModuleKind . CommonJS ) ] ,
22292224 arrayIsEqualTo ,
22302225 ) ;
22312226 for ( const conditions of conditionSets ) {
0 commit comments