@@ -43,7 +43,7 @@ const jsExtensionRE = /\.js$/i
43
43
const jsMapExtensionRE = / \. j s \. m a p $ / i
44
44
45
45
export type ExportsData = {
46
- hasImports : boolean
46
+ hasModuleSyntax : boolean
47
47
// exported names (for `export { a as b }`, `b` is exported name)
48
48
exports : readonly string [ ]
49
49
// hint if the dep requires loading as jsx
@@ -1079,9 +1079,9 @@ export async function extractExportsData(
1079
1079
write : false ,
1080
1080
format : 'esm' ,
1081
1081
} )
1082
- const [ imports , exports ] = parse ( result . outputFiles [ 0 ] . text )
1082
+ const [ , exports , , hasModuleSyntax ] = parse ( result . outputFiles [ 0 ] . text )
1083
1083
return {
1084
- hasImports : imports . length > 0 ,
1084
+ hasModuleSyntax ,
1085
1085
exports : exports . map ( ( e ) => e . n ) ,
1086
1086
}
1087
1087
}
@@ -1104,9 +1104,9 @@ export async function extractExportsData(
1104
1104
usedJsxLoader = true
1105
1105
}
1106
1106
1107
- const [ imports , exports ] = parseResult
1107
+ const [ , exports , , hasModuleSyntax ] = parseResult
1108
1108
const exportsData : ExportsData = {
1109
- hasImports : imports . length > 0 ,
1109
+ hasModuleSyntax ,
1110
1110
exports : exports . map ( ( e ) => e . n ) ,
1111
1111
jsxLoader : usedJsxLoader ,
1112
1112
}
@@ -1123,9 +1123,9 @@ function needsInterop(
1123
1123
if ( getDepOptimizationConfig ( config , ssr ) ?. needsInterop ?. includes ( id ) ) {
1124
1124
return true
1125
1125
}
1126
- const { hasImports , exports } = exportsData
1126
+ const { hasModuleSyntax , exports } = exportsData
1127
1127
// entry has no ESM syntax - likely CJS or UMD
1128
- if ( ! exports . length && ! hasImports ) {
1128
+ if ( ! hasModuleSyntax ) {
1129
1129
return true
1130
1130
}
1131
1131
0 commit comments