Skip to content

Commit 4538bfe

Browse files
authored
refactor: remove unused exports data props (#12740)
1 parent 0646754 commit 4538bfe

File tree

1 file changed

+3
-20
lines changed
  • packages/vite/src/node/optimizer

1 file changed

+3
-20
lines changed

packages/vite/src/node/optimizer/index.ts

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,11 @@ const isDebugEnabled = _debug('vite:deps').enabled
4343

4444
const jsExtensionRE = /\.js$/i
4545
const jsMapExtensionRE = /\.js\.map$/i
46-
const reExportRE = /export\s+\*\s+from/
4746

4847
export type ExportsData = {
4948
hasImports: boolean
5049
// exported names (for `export { a as b }`, `b` is exported name)
5150
exports: readonly string[]
52-
facade: boolean
53-
// es-module-lexer has a facade detection but isn't always accurate for our
54-
// use case when the module has default export
55-
hasReExports?: boolean
5651
// hint if the dep requires loading as jsx
5752
jsxLoader?: boolean
5853
}
@@ -731,7 +726,7 @@ async function prepareEsbuildOptimizerRun(
731726
const src = depsInfo[id].src!
732727
const exportsData = await (depsInfo[id].exportsData ??
733728
extractExportsData(src, config, ssr))
734-
if (exportsData.jsxLoader) {
729+
if (exportsData.jsxLoader && !esbuildOptions.loader?.['.js']) {
735730
// Ensure that optimization won't fail by defaulting '.js' to the JSX parser.
736731
// This is useful for packages such as Gatsby.
737732
esbuildOptions.loader = {
@@ -1152,11 +1147,10 @@ export async function extractExportsData(
11521147
write: false,
11531148
format: 'esm',
11541149
})
1155-
const [imports, exports, facade] = parse(result.outputFiles[0].text)
1150+
const [imports, exports] = parse(result.outputFiles[0].text)
11561151
return {
11571152
hasImports: imports.length > 0,
11581153
exports: exports.map((e) => e.n),
1159-
facade,
11601154
}
11611155
}
11621156

@@ -1174,25 +1168,14 @@ export async function extractExportsData(
11741168
const transformed = await transformWithEsbuild(entryContent, filePath, {
11751169
loader,
11761170
})
1177-
// Ensure that optimization won't fail by defaulting '.js' to the JSX parser.
1178-
// This is useful for packages such as Gatsby.
1179-
esbuildOptions.loader = {
1180-
'.js': 'jsx',
1181-
...esbuildOptions.loader,
1182-
}
11831171
parseResult = parse(transformed.code)
11841172
usedJsxLoader = true
11851173
}
11861174

1187-
const [imports, exports, facade] = parseResult
1175+
const [imports, exports] = parseResult
11881176
const exportsData: ExportsData = {
11891177
hasImports: imports.length > 0,
11901178
exports: exports.map((e) => e.n),
1191-
facade,
1192-
hasReExports: imports.some(({ ss, se }) => {
1193-
const exp = entryContent.slice(ss, se)
1194-
return reExportRE.test(exp)
1195-
}),
11961179
jsxLoader: usedJsxLoader,
11971180
}
11981181
return exportsData

0 commit comments

Comments
 (0)