From 38a38885369dfa1a3c141218cbcf2f2974ab6197 Mon Sep 17 00:00:00 2001 From: chen fan <1490040662@qq.com> Date: Wed, 18 Jan 2023 17:24:38 +0800 Subject: [PATCH 1/2] fix: throws error when plugin tries to resolve ID to external URL --- packages/vite/src/node/plugins/importAnalysis.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 40f760f062a462..fe7a7d5e6e7eb0 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -571,7 +571,8 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { // record for HMR import chain analysis // make sure to unwrap and normalize away base const hmrUrl = unwrapId(stripBase(url, base)) - importedUrls.add(hmrUrl) + const isLocalImport = !(isExternalUrl(hmrUrl) || isDataUrl(hmrUrl)) + isLocalImport && importedUrls.add(hmrUrl) if (enablePartialAccept && importedBindings) { extractImportedBindings( @@ -582,7 +583,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { ) } - if (!isDynamicImport) { + if (!isDynamicImport && isLocalImport) { // for pre-transforming staticImportedUrls.add({ url: hmrUrl, id: resolvedId }) } From e4f04f270759d72ea24c06d45abc0c3db3f64c28 Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 31 Mar 2023 02:15:26 +0800 Subject: [PATCH 2/2] fix: tweak syntax --- packages/vite/src/node/plugins/importAnalysis.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index b3c2a1317bbdc6..8abf84a0c53d9c 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -599,8 +599,10 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { // record for HMR import chain analysis // make sure to unwrap and normalize away base const hmrUrl = unwrapId(stripBase(url, base)) - const isLocalImport = !(isExternalUrl(hmrUrl) || isDataUrl(hmrUrl)) - isLocalImport && importedUrls.add(hmrUrl) + const isLocalImport = !isExternalUrl(hmrUrl) && !isDataUrl(hmrUrl) + if (isLocalImport) { + importedUrls.add(hmrUrl) + } if (enablePartialAccept && importedBindings) { extractImportedBindings(