From f8c1ed0234f1db39881170aded78fdc5e4e8e2f6 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 6 Dec 2022 20:54:10 +0800 Subject: [PATCH] fix(config): resolve dynamic import as esm (#11220) --- packages/vite/src/node/config.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 5508763441afc5..b8a72d1ac13c90 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -973,7 +973,6 @@ async function bundleConfigFile( root: path.dirname(fileName), isBuild: true, isProduction: true, - isRequire: !isESM, preferRelative: false, tryIndex: true, mainFields: [], @@ -1001,8 +1000,15 @@ async function bundleConfigFile( if (id.startsWith('npm:')) { return { external: true } } - let idFsPath = tryNodeResolve(id, importer, options, false)?.id - if (idFsPath && (isESM || kind === 'dynamic-import')) { + + const isIdESM = isESM || kind === 'dynamic-import' + let idFsPath = tryNodeResolve( + id, + importer, + { ...options, isRequire: !isIdESM }, + false, + )?.id + if (idFsPath && isIdESM) { idFsPath = pathToFileURL(idFsPath).href } return {