feat: update rolldown to 1.1.1#22593
Conversation
|
/ecosystem-ci run |
bf257fe to
f2b589f
Compare
@vitejs/plugin-legacy
vite
commit: |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
f2b589f to
2d687ed
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@shulaoda It seems the failure of vite-plugin-react is an actual one. I get |
Okay, let me investigate this. If necessary, I'll urgently release a patch version. |
|
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
|
The plugin-react failure seems to be fixed. But it seems analog is still failing and vike and plugin-rsc started to fail. |
|
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
|
/ecosystem-ci run |
This comment was marked as outdated.
This comment was marked as outdated.
The plugin-rsc ecosystem-ci failure is caused by rolldown/rolldown#9419, which renamed the standalone runtime chunk from |
…unter (#9672) ### Background Surfaced downstream as vitejs/vite#22593 — `@emotion/react` breaks under Vite's dependency pre-bundling once `experimental.lazyBarrel` is the default: `@emotion/react` imports `withEmotionCache` for local use and also re-exports it, and `@emotion/styled` imports only the re-export, producing `ReferenceError: withEmotionCache$1 is not defined`. The minimal repro below is that pattern reduced. ### Repro ``` m.js export function x(){...} export function y(){...} barrel.js import { x } from './m' // record#0: local use, in useX() export { y } from './m' // a re-export export function useX(){ return x() } consumer.js export { y } from './barrel' // requests ONLY the re-export y splitter.js export { y } from './m' // makes m its own chunk ``` `useX()` → `ReferenceError: x is not defined`. ### Problem `barrel` is a barrel and a user entry. `consumer` requests only its re-export `y`, so `barrel` is processed with `Partial({ y })` → `has_local_export` is false → lazy barrel **defers `barrel`'s own `import { x }` record** (`resolved_module = None`). But `barrel` is an entry, so its body is still emitted and uses `x` — which was never imported → dangling reference. An entry must keep all its exports, so it should request `All` and load every record. That recovery existed but only in the `Some(VisitState::Seen)` branch; a first-time entry registration goes through the `None` branch and skips it. (Order-sensitive, hence intermittent — if an importer registered the module first, the entry add hit `Seen` and it worked.) ### Flow 1. `barrel` registered as entry (first encounter, `None` arm) → recovery skipped. 2. `consumer` imports `y` → records `Partial({ y })` on `barrel`. 3. `barrel` initializes → `take_needed_records(Partial({ y }))`, `has_local_export = false` → `import { x }` record deferred, never resolved. 4. binder skips the unresolved record → `useX`'s `x` unbound → emitted barrel references an undefined `x`.
This comment was marked as outdated.
This comment was marked as outdated.
74225d9 to
5399e8d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
a4b39d6 to
c491b50
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
/ecosystem-ci run |
|
📝 Ran ecosystem CI on
✅ nuxt, quasar, vite-environment-examples, laravel, qwik, sveltekit, vike, vite-plugin-svelte, vite-plugin-pwa, vuepress, unocss, vite-plugin-vue, vitepress, vite-setup-catalogue |
|
/ecosystem-ci run |
Co-authored-by: 翠 <green@sapphi.red>
|
📝 Ran ecosystem CI on
✅ qwik, sveltekit, quasar, storybook, unocss, vite-plugin-pwa, vike, laravel, nuxt, vite-environment-examples, vite-plugin-vue, vite-plugin-svelte, vite-setup-catalogue, vitepress, vite-plugin-rsc, vite-plugin-react, module-federation, vuepress, waku |
See https://github.com/rolldown/rolldown/releases/tag/v1.1.0 & https://github.com/rolldown/rolldown/releases/tag/v1.1.1