Skip to content

Commit de71408

Browse files
authored
fix(plugin-legacy): avoid executing blank dynamic import (#4767)
Closes #4568
1 parent 1012367 commit de71408

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

packages/plugin-legacy/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const legacyEntryId = 'vite-legacy-entry'
2020
const systemJSInlineCode = `System.import(document.getElementById('${legacyEntryId}').getAttribute('data-src'))`
2121
const dynamicFallbackInlineCode = `!function(){try{new Function("m","return import(m)")}catch(o){console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("${legacyPolyfillId}"),n=document.createElement("script");n.src=e.src,n.onload=function(){${systemJSInlineCode}},document.body.appendChild(n)}}();`
2222

23-
const blankDynamicImport = `import('data:text/javascript;base64,Cg==');`
23+
const forceDynamicImportUsage = `export function __vite_legacy_guard(){import('data:text/javascript,')};`
2424

2525
const legacyEnvVarMarker = `__VITE_IS_LEGACY__`
2626

@@ -238,7 +238,7 @@ function viteLegacyPlugin(options = {}) {
238238
const ms = new MagicString(raw)
239239

240240
if (genDynamicFallback && chunk.isEntry) {
241-
ms.prepend(blankDynamicImport)
241+
ms.prepend(forceDynamicImportUsage)
242242
}
243243

244244
if (raw.includes(legacyEnvVarMarker)) {

0 commit comments

Comments
 (0)