From f220f79c84d8590df8474903682ca73b5be6beb1 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Thu, 1 Jul 2021 18:57:07 +0800 Subject: [PATCH 1/2] fix: use `.mjs` extension for cached optimized deps --- packages/vite/src/node/optimizer/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 7a2048098ffe12..6d4f732c63911f 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -270,6 +270,9 @@ export async function optimizeDeps( splitting: true, sourcemap: true, outdir: cacheDir, + outExtension: { + '.js': '.mjs' + }, treeShaking: 'ignore-annotations', metafile: true, define, @@ -288,7 +291,7 @@ export async function optimizeDeps( for (const id in deps) { const entry = deps[id] data.optimized[id] = { - file: normalizePath(path.resolve(cacheDir, flattenId(id) + '.js')), + file: normalizePath(path.resolve(cacheDir, flattenId(id) + '.mjs')), src: entry, needsInterop: needsInterop( id, From 94b677eb3f934b21b81b0c6a19e33b48677009d6 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Thu, 1 Jul 2021 20:31:33 +0800 Subject: [PATCH 2/2] fix: fix needsInterop --- packages/vite/src/node/optimizer/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 6d4f732c63911f..4c3e538393efe1 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -331,7 +331,7 @@ function needsInterop( // if a peer dependency used require() on a ESM dependency, esbuild turns the // ESM dependency's entry chunk into a single default export... detect // such cases by checking exports mismatch, and force interop. - const flatId = flattenId(id) + '.js' + const flatId = flattenId(id) + '.mjs' let generatedExports: string[] | undefined for (const output in outputs) { if (