Skip to content

Commit

Permalink
fix: use spread syntax to avoid mutating esbuildOptions outside the f…
Browse files Browse the repository at this point in the history
…unction scope
  • Loading branch information
fwouts committed Aug 22, 2021
1 parent 3707279 commit 45f5d5d
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions packages/vite/src/node/optimizer/index.ts
Expand Up @@ -238,7 +238,7 @@ export async function optimizeDeps(
const idToExports: Record<string, ExportsData> = {}
const flatIdToExports: Record<string, ExportsData> = {}

const { plugins = [], ...esbuildOptions } =
let { plugins = [], ...esbuildOptions } =
config.optimizeDeps?.esbuildOptions ?? {}

await init
Expand All @@ -256,9 +256,15 @@ export async function optimizeDeps(
const transformed = await transformWithEsbuild(entryContent, filePath, {
loader: 'jsx'
})
// Ensure that optimization won't fail.
esbuildOptions.loader ??= {}
esbuildOptions.loader['.js'] ??= 'jsx'
// Ensure that optimization won't fail by defaulting '.js' to the JSX parser.
// This is useful for packages such as Gatsby.
esbuildOptions = {
...esbuildOptions,
loader: {
'.js': 'jsx',
...esbuildOptions.loader
}
}
exportsData = parse(transformed.code) as ExportsData
}
for (const { ss, se } of exportsData[0]) {
Expand Down

0 comments on commit 45f5d5d

Please sign in to comment.