diff --git a/.changeset/lazy-entry-rolldown-reclassify.md b/.changeset/lazy-entry-rolldown-reclassify.md new file mode 100644 index 0000000..d6aa82d --- /dev/null +++ b/.changeset/lazy-entry-rolldown-reclassify.md @@ -0,0 +1,5 @@ +--- +'vite-plugin-solid': patch +--- + +Reclassify emitted lazy facade chunks by assigning `isEntry = false` instead of deleting the property. Under rolldown-vite (Vite 8), bundle chunks in `generateBundle` are proxies whose set trap syncs assignments back to the native bundle, while a delete is swallowed by the proxy's read cache — so the reclassification silently no-oped and downstream plugins (e.g. TanStack Start's manifest plugin) still saw every lazy facade chunk as an application entry, failing builds with "multiple entries detected". diff --git a/src/index.ts b/src/index.ts index 31fa979..0aecc77 100644 --- a/src/index.ts +++ b/src/index.ts @@ -268,7 +268,7 @@ function normalizeEmittedLazyEntries(manifest: Record) { for (const key of dynamicKeys) { const entry = manifest[key]; if (entry && entry.isEntry) { - delete entry.isEntry; + entry.isEntry = false; entry.isDynamicEntry = true; } }