chore(deps): bump @vitejs/plugin-rsc to 0.5.27#1709
Conversation
Ports the build fixture from #1373 to verify the `@vitejs/plugin-rsc` 0.5.27 bump resolves the upstream "unsupported ExportAllDeclaration" error. Covers bare `export *`, nested/renamed re-exports, `export * as Ns from`, and destructured re-exported bindings. The version bump fixes this natively, so the vinext-side workaround plugin from #1373 is no longer needed. Refs #1352
commit: |
|
|
/bigbonk review |
There was a problem hiding this comment.
Review: bump @vitejs/plugin-rsc to 0.5.27 (fixes #1352)
Verdict: LGTM — approving.
This is a clean, well-targeted dependency bump with strong regression coverage. I verified the fix end-to-end locally.
What I checked
1. The bump actually fixes the bug (#1352). I diffed the installed transform code between versions:
- 0.5.26 (
dist/transforms/index.js):ExportAllDeclarationunconditionally throwsunsupported ExportAllDeclaration— exactly the error in the issue. - 0.5.27: real handling was added —
bareStarsfiltering forexport * from,export * as Ns fromnamespace re-exports, andVariableDeclarationdeclarators are walked viaextractNames(decl.id)(handles ObjectPattern/ArrayPattern), plus ambiguity resolution inresolveStarExports. This maps directly onto the three test cases added.
2. Tests are genuine, not no-ops. Ran vp test run tests/use-client-export-all-build.test.ts after vp install:
- All 3 pass (
export *,export * as Ns, and destructuredexport const { ... } = ...barrels). - The destructure case specifically exercises the new
extractNamespattern-walking path that did not exist in 0.5.26, so it is a meaningful regression guard.
3. No regressions. vp test run tests/app-router.test.ts → 338 passed. The build pipeline (RSC/SSR/client) is unaffected.
4. Lint/format/types. vp check tests/use-client-export-all-build.test.ts → clean.
5. Lockfile/workspace parity. pnpm-workspace.yaml catalog (^0.5.27) and all pnpm-lock.yaml importers are consistently updated to 0.5.27; transitive @rolldown/pluginutils bumped 1.0.0-rc.18 → 1.0.1 as expected. vp install --frozen-lockfile equivalent succeeded.
Notes / nits (non-blocking)
- The new test follows the existing build-test conventions (
createBuilder+buildApp, temp dir, node_modules junction, 60s timeout). ImportingcreateBuilderfromviteis consistent with sibling tests (tsconfig-path-alias-build.test.ts,intercepting-routes-build.test.ts). - Good practice: the test comments link back to the Next.js
rsc-basic/export-allfixture, matching AGENTS.md guidance on porting Next.js coverage. - CI will run the full suite + E2E, which is the right place to catch any cross-cutting effects of the bump.
|
Review posted on PR #1709. Summary: Review complete — ApprovedPR #1709 bumps What I verified locally:
No blocking issues. The PR follows repo conventions (build-test patterns, Next.js fixture cross-references per AGENTS.md). |
fixes #1352