Skip to content

chore: update Vite, Vitest, and Vite plugins - #8344

Open
Sheraff wants to merge 5 commits into
mainfrom
codex/update-vite-vitest
Open

Sheraff wants to merge 5 commits into
mainfrom
codex/update-vite-vitest

Conversation

@Sheraff

@Sheraff Sheraff commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

🎯 Changes

Update the Vite build and test toolchain across packages, benchmarks, examples, and e2e fixtures. Version selection uses pnpm 11.21.0 with the workspace's existing one-day minimumReleaseAge and trustPolicy: no-downgrade settings. An exact minimumReleaseAgeExclude entry permits vite@8.3.0 immediately because it includes the bundled-dev runtime fix.

Dependency rules

  • Preserve existing peer dependency ranges: this maintenance update does not change the supported versions advertised to consumers.
  • Use catalog: for Vite, Vitest, and Vite plugin devDependencies outside examples/ and e2e/.
  • Keep explicit versions/ranges in example and e2e manifests, including nested examples outside the workspace globs, so those projects remain usable independently.
  • Include Vite plugins regardless of naming convention: @vitejs/*, vite-plugin-*, scoped plugins, and plugin entry points such as nitro/vite and Paraglide's Vite integration. Regenerate the lockfile for these changes.

Updated versions

Package Version
vite 8.3.0
vitest, @vitest/ui 4.1.11
@vitejs/plugin-react 6.1.1
@vitejs/plugin-rsc 0.5.34
@vitejs/plugin-vue 6.0.8
@vitejs/plugin-vue-jsx 5.1.6
vite-plugin-solid 2.11.14
vite-plugin-dts 5.1.0
@tanstack/vite-config 0.6.0
@cloudflare/vite-plugin 1.54.6
@tailwindcss/vite 4.3.3
@sentry/vite-plugin 5.4.0
@rolldown/plugin-babel 0.2.4
@inlang/paraglide-js 2.25.1
nitro 3.0.260903-beta
@codspeed/vitest-plugin 5.7.1
wrangler 4.130.0

The shared Vite config is updated alongside the declaration plugin, and the vite-plugin-dts override moves from 4.2.3 to 5.1.0 so it no longer forces the old implementation. Wrangler is updated in the six Cloudflare projects to satisfy the new Cloudflare plugin's ^4.130.0 peer requirement. CodSpeed 5.7.1 brings macOS support and profiling fixes since 5.5.0. Nitro continues on its existing beta release stream.

The React, Solid, and Vue Start server-entry declaration configs also drop their source-path aliases. Their main server exports are already built before the server-entry build runs. Resolving those public exports directly keeps the declaration imports intact with vite-plugin-dts 5; retaining the aliases rewrote them to a nonexistent ../server.tsx and broke contextual typing in the SSR asset benchmarks. Those three consumer type checks and Start package export checks pass with the adjustment.

The declaration migration also updates the E2E utilities to the renamed outDirs option and aligns React Start RSC type exports with the new dist/esm/ layout. The E2E utilities now have a type-check target that checks the build config and consumes the exported Playwright fixture types, catching missing declarations before they cascade into app builds and browser tests. A patch changeset covers the RSC export paths.

Start's dev manifest now loads Vite's separate bundled-dev runtime before the client entry on Vite 8.2.1 and later. Without it, the browser fails with __rolldown_runtime__ is not defined, preventing hydration, HMR, and client-side import-protection diagnostics. Start also waits for client rebuilds through Vite's new bundledDev.devEngine location before rendering SSR, preventing stale client bundles and hydration mismatches after edits. Earlier Vite versions retain their embedded-runtime startup path and legacy dev-engine access. Regression coverage checks both paths and a non-root public base; a patch changeset covers this runtime fix.

Vite 8.3.0 includes the upstream bundled-dev runtime fix for modules without exports. The repository uses the published package directly without dependency patches. The release-age exception is scoped to vite@8.3.0; other packages retain the normal delay and trust checks.

Versions deliberately held back

  • Vitest 5: CodSpeed's latest stable plugin still supports only Vitest 3–4. Its current 6.0 beta also excludes Vitest 5. Vitest 5 additionally removes the top-level bench API used by the existing benchmarks, so Vitest and its UI stay on the latest v4 release, 4.1.11.
  • @netlify/vite-plugin-tanstack-start: retain the existing ^1.1.4 manifest range and locked 1.1.4. Updating to 1.3.19 failed pnpm's trust check because its dependency chain pulls @netlify/serverless-functions-api@2.18.0, which has lower trust evidence than earlier releases. No trust-policy exceptions were added.

Validation

With unpatched Vite 8.3.0 and the Start compatibility fixes:

  • pnpm test:eslint, pnpm test:types, and pnpm test:unit passed, including their required package builds.
  • Both previously failing bundled-dev CI targets passed: 28 HMR tests and 87 import-protection tests, including cold and warm dev-server diagnostics.
  • All 28 normal Vite HMR tests passed.
  • Manifest regression tests cover the embedded/separate runtime paths and a non-root public base.
  • Frozen-lockfile installation and pnpm supply-chain policy checks passed. Manifest assertions confirm unchanged Vite peers and the requested catalog placement; Prettier and source whitespace checks passed.

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested code changes locally with the relevant test commands, or tests do not apply to this pull request.
  • I fully understand the code in this pull request, including any code generated with AI assistance.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Summary by CodeRabbit

  • Bug Fixes
    • Improved development-time hydration, hot module replacement, and client import protection with newer Vite versions.
    • Prevented stale client output and hydration mismatches after edits during server-side rendering.
    • Corrected generated type export paths for React Start RSC consumers.
  • Tests
    • Added type coverage for error filtering and development-server warmup options.
  • Chores
    • Updated shared build and testing tool versions across examples, benchmarks, and packages.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-10T17:10:17.373161Z f3331ef PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: d4179627-10da-440d-9fd1-3eea310153c6

📥 Commits

Reviewing files that changed from the base of the PR and between 1e5786d and d52f5b7.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (251)
  • e2e/e2e-utils/package.json
  • e2e/react-router/basepath-file-based/package.json
  • e2e/react-router/basic-file-based-code-splitting/package.json
  • e2e/react-router/basic-file-based/package.json
  • e2e/react-router/basic-react-query-file-based/package.json
  • e2e/react-router/basic-react-query/package.json
  • e2e/react-router/basic-scroll-restoration/package.json
  • e2e/react-router/basic-virtual-file-based/package.json
  • e2e/react-router/basic-virtual-named-export-config-file-based/package.json
  • e2e/react-router/basic/package.json
  • e2e/react-router/escaped-special-strings/package.json
  • e2e/react-router/generator-cli-only/package.json
  • e2e/react-router/i18n-paraglide/package.json
  • e2e/react-router/issue-4759/package.json
  • e2e/react-router/issue-7120/package.json
  • e2e/react-router/issue-7457/package.json
  • e2e/react-router/js-only-file-based/package.json
  • e2e/react-router/match-params/package.json
  • e2e/react-router/react-compiler/package.json
  • e2e/react-router/scroll-restoration-sandbox-vite/package.json
  • e2e/react-router/sentry-integration/package.json
  • e2e/react-router/view-transitions/package.json
  • e2e/react-start/basic-auth/package.json
  • e2e/react-start/basic-cloudflare/package.json
  • e2e/react-start/basic-react-query/package.json
  • e2e/react-start/basic-tsr-config/package.json
  • e2e/react-start/basic/package.json
  • e2e/react-start/clerk-basic/package.json
  • e2e/react-start/csp/package.json
  • e2e/react-start/css-inline/package.json
  • e2e/react-start/css-modules/package.json
  • e2e/react-start/custom-basepath/package.json
  • e2e/react-start/deferred-hydration/package.json
  • e2e/react-start/dev-ssr-styles/package.json
  • e2e/react-start/early-hints/package.json
  • e2e/react-start/flamegraph-bench/package.json
  • e2e/react-start/hmr/package.json
  • e2e/react-start/i18n-paraglide/package.json
  • e2e/react-start/import-protection-custom-config/package.json
  • e2e/react-start/import-protection/package.json
  • e2e/react-start/issue-8049/package.json
  • e2e/react-start/query-integration/package.json
  • e2e/react-start/root-document-hydration/package.json
  • e2e/react-start/rsc-deferred-hydration/package.json
  • e2e/react-start/rsc-query/package.json
  • e2e/react-start/rsc/package.json
  • e2e/react-start/scroll-restoration/package.json
  • e2e/react-start/selective-ssr/package.json
  • e2e/react-start/serialization-adapters/package.json
  • e2e/react-start/server-functions-global-middleware/package.json
  • e2e/react-start/server-functions/package.json
  • e2e/react-start/server-routes-global-middleware/package.json
  • e2e/react-start/server-routes/package.json
  • e2e/react-start/spa-mode/package.json
  • e2e/react-start/split-base-and-basepath/package.json
  • e2e/react-start/start-manifest/package.json
  • e2e/react-start/static-server-functions/package.json
  • e2e/react-start/streaming-ssr/package.json
  • e2e/react-start/transform-asset-urls/package.json
  • e2e/react-start/virtual-routes/package.json
  • e2e/react-start/website/package.json
  • e2e/solid-router/basepath-file-based/package.json
  • e2e/solid-router/basic-file-based-code-splitting/package.json
  • e2e/solid-router/basic-file-based/package.json
  • e2e/solid-router/basic-scroll-restoration/package.json
  • e2e/solid-router/basic-solid-query-file-based/package.json
  • e2e/solid-router/basic-solid-query/package.json
  • e2e/solid-router/basic-virtual-file-based/package.json
  • e2e/solid-router/basic-virtual-named-export-config-file-based/package.json
  • e2e/solid-router/basic/package.json
  • e2e/solid-router/generator-cli-only/package.json
  • e2e/solid-router/js-only-file-based/package.json
  • e2e/solid-router/scroll-restoration-sandbox-vite/package.json
  • e2e/solid-router/sentry-integration/package.json
  • e2e/solid-router/view-transitions/package.json
  • e2e/solid-start/basic-auth/package.json
  • e2e/solid-start/basic-cloudflare/package.json
  • e2e/solid-start/basic-solid-query/package.json
  • e2e/solid-start/basic-tsr-config/package.json
  • e2e/solid-start/basic/package.json
  • e2e/solid-start/csp/package.json
  • e2e/solid-start/css-modules/package.json
  • e2e/solid-start/custom-basepath/package.json
  • e2e/solid-start/deferred-hydration/package.json
  • e2e/solid-start/query-integration/package.json
  • e2e/solid-start/scroll-restoration/package.json
  • e2e/solid-start/selective-ssr/package.json
  • e2e/solid-start/serialization-adapters/package.json
  • e2e/solid-start/server-functions/package.json
  • e2e/solid-start/server-routes/package.json
  • e2e/solid-start/solid-query-layout-suspense/package.json
  • e2e/solid-start/spa-mode/package.json
  • e2e/solid-start/start-manifest/package.json
  • e2e/solid-start/virtual-routes/package.json
  • e2e/solid-start/website/package.json
  • e2e/vue-router/basepath-file-based/package.json
  • e2e/vue-router/basic-file-based-jsx/package.json
  • e2e/vue-router/basic-file-based-sfc/package.json
  • e2e/vue-router/basic-scroll-restoration/package.json
  • e2e/vue-router/basic-virtual-file-based/package.json
  • e2e/vue-router/basic-virtual-named-export-config-file-based/package.json
  • e2e/vue-router/basic-vue-query-file-based/package.json
  • e2e/vue-router/basic-vue-query/package.json
  • e2e/vue-router/basic/package.json
  • e2e/vue-router/generator-cli-only/package.json
  • e2e/vue-router/js-only-file-based/package.json
  • e2e/vue-router/scroll-restoration-sandbox-vite/package.json
  • e2e/vue-router/sentry-integration/package.json
  • e2e/vue-router/view-transitions/package.json
  • e2e/vue-start/basic-auth/package.json
  • e2e/vue-start/basic-cloudflare/package.json
  • e2e/vue-start/basic-tsr-config/package.json
  • e2e/vue-start/basic-vue-query/package.json
  • e2e/vue-start/basic/package.json
  • e2e/vue-start/css-modules/package.json
  • e2e/vue-start/custom-basepath/package.json
  • e2e/vue-start/query-integration/package.json
  • e2e/vue-start/scroll-restoration/package.json
  • e2e/vue-start/selective-ssr/package.json
  • e2e/vue-start/serialization-adapters/package.json
  • e2e/vue-start/server-functions/package.json
  • e2e/vue-start/server-routes/package.json
  • e2e/vue-start/spa-mode/package.json
  • e2e/vue-start/start-manifest/package.json
  • e2e/vue-start/virtual-routes/package.json
  • e2e/vue-start/website/package.json
  • examples/react/authenticated-routes-firebase/package.json
  • examples/react/authenticated-routes/package.json
  • examples/react/basic-default-search-params/package.json
  • examples/react/basic-devtools-panel/package.json
  • examples/react/basic-file-based/package.json
  • examples/react/basic-non-nested-devtools/package.json
  • examples/react/basic-react-query-file-based/package.json
  • examples/react/basic-react-query/package.json
  • examples/react/basic-ssr-file-based/package.json
  • examples/react/basic-ssr-streaming-file-based/package.json
  • examples/react/basic-virtual-file-based/package.json
  • examples/react/basic-virtual-inside-file-based/package.json
  • examples/react/basic/package.json
  • examples/react/deferred-data/package.json
  • examples/react/i18n-paraglide/package.json
  • examples/react/kitchen-sink-file-based/package.json
  • examples/react/kitchen-sink-react-query-file-based/package.json
  • examples/react/kitchen-sink-react-query/package.json
  • examples/react/kitchen-sink/package.json
  • examples/react/large-file-based/package.json
  • examples/react/location-masking/package.json
  • examples/react/navigation-blocking/package.json
  • examples/react/quickstart-file-based/package.json
  • examples/react/quickstart/package.json
  • examples/react/router-monorepo-react-query/package.json
  • examples/react/router-monorepo-react-query/packages/app/package.json
  • examples/react/router-monorepo-react-query/packages/post-feature/package.json
  • examples/react/router-monorepo-react-query/packages/post-query/package.json
  • examples/react/router-monorepo-react-query/packages/router/package.json
  • examples/react/router-monorepo-simple-lazy/package.json
  • examples/react/router-monorepo-simple-lazy/packages/app/package.json
  • examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json
  • examples/react/router-monorepo-simple-lazy/packages/router/package.json
  • examples/react/router-monorepo-simple/package.json
  • examples/react/router-monorepo-simple/packages/app/package.json
  • examples/react/router-monorepo-simple/packages/post-feature/package.json
  • examples/react/router-monorepo-simple/packages/router/package.json
  • examples/react/scroll-restoration/package.json
  • examples/react/search-validator-adapters/package.json
  • examples/react/start-bare/package.json
  • examples/react/start-basic-auth/package.json
  • examples/react/start-basic-authjs/package.json
  • examples/react/start-basic-cloudflare/package.json
  • examples/react/start-basic-react-query/package.json
  • examples/react/start-basic-static/package.json
  • examples/react/start-basic/package.json
  • examples/react/start-bun/package.json
  • examples/react/start-clerk-basic/package.json
  • examples/react/start-convex-trellaux/package.json
  • examples/react/start-counter/package.json
  • examples/react/start-i18n-paraglide/package.json
  • examples/react/start-large/package.json
  • examples/react/start-material-ui/package.json
  • examples/react/start-rscs/package.json
  • examples/react/start-streaming-data-from-server-functions/package.json
  • examples/react/start-supabase-basic/package.json
  • examples/react/start-tailwind-v4/package.json
  • examples/react/start-trellaux/package.json
  • examples/react/start-workos/package.json
  • examples/react/view-transitions/package.json
  • examples/react/with-framer-motion/package.json
  • examples/react/with-trpc-react-query/package.json
  • examples/react/with-trpc/package.json
  • examples/solid/authenticated-routes-firebase/package.json
  • examples/solid/authenticated-routes/package.json
  • examples/solid/basic-default-search-params/package.json
  • examples/solid/basic-devtools-panel/package.json
  • examples/solid/basic-file-based/package.json
  • examples/solid/basic-non-nested-devtools/package.json
  • examples/solid/basic-solid-query-file-based/package.json
  • examples/solid/basic-solid-query/package.json
  • examples/solid/basic-ssr-file-based/package.json
  • examples/solid/basic-ssr-streaming-file-based/package.json
  • examples/solid/basic-virtual-file-based/package.json
  • examples/solid/basic-virtual-inside-file-based/package.json
  • examples/solid/basic/package.json
  • examples/solid/deferred-data/package.json
  • examples/solid/i18n-paraglide/package.json
  • examples/solid/kitchen-sink-file-based/package.json
  • examples/solid/kitchen-sink-solid-query-file-based/package.json
  • examples/solid/kitchen-sink-solid-query/package.json
  • examples/solid/kitchen-sink/package.json
  • examples/solid/large-file-based/package.json
  • examples/solid/location-masking/package.json
  • examples/solid/navigation-blocking/package.json
  • examples/solid/quickstart-file-based/package.json
  • examples/solid/quickstart/package.json
  • examples/solid/router-monorepo-simple-lazy/package.json
  • examples/solid/router-monorepo-simple-lazy/packages/app/package.json
  • examples/solid/router-monorepo-simple-lazy/packages/post-feature/package.json
  • examples/solid/router-monorepo-simple-lazy/packages/router/package.json
  • examples/solid/router-monorepo-simple/package.json
  • examples/solid/router-monorepo-simple/packages/app/package.json
  • examples/solid/router-monorepo-simple/packages/post-feature/package.json
  • examples/solid/router-monorepo-simple/packages/router/package.json
  • examples/solid/router-monorepo-solid-query/package.json
  • examples/solid/router-monorepo-solid-query/packages/app/package.json
  • examples/solid/router-monorepo-solid-query/packages/post-feature/package.json
  • examples/solid/router-monorepo-solid-query/packages/post-query/package.json
  • examples/solid/router-monorepo-solid-query/packages/router/package.json
  • examples/solid/scroll-restoration/package.json
  • examples/solid/search-validator-adapters/package.json
  • examples/solid/start-basic-auth/package.json
  • examples/solid/start-basic-authjs/package.json
  • examples/solid/start-basic-cloudflare/package.json
  • examples/solid/start-basic-netlify/package.json
  • examples/solid/start-basic-nitro/package.json
  • examples/solid/start-basic-solid-query/package.json
  • examples/solid/start-basic-static/package.json
  • examples/solid/start-basic/package.json
  • examples/solid/start-bun/package.json
  • examples/solid/start-convex-better-auth/package.json
  • examples/solid/start-counter/package.json
  • examples/solid/start-i18n-paraglide/package.json
  • examples/solid/start-large/package.json
  • examples/solid/start-streaming-data-from-server-functions/package.json
  • examples/solid/start-supabase-basic/package.json
  • examples/solid/start-tailwind-v4/package.json
  • examples/solid/view-transitions/package.json
  • examples/solid/with-framer-motion/package.json
  • examples/solid/with-trpc/package.json
  • examples/vue/basic-file-based-jsx/package.json
  • examples/vue/basic-file-based-sfc/package.json
  • examples/vue/basic/package.json
  • pnpm-workspace.yaml
🚧 Files skipped from review as they are similar to previous changes (146)
  • e2e/solid-router/basepath-file-based/package.json
  • e2e/react-start/custom-basepath/package.json
  • e2e/solid-router/js-only-file-based/package.json
  • examples/react/start-basic-cloudflare/package.json
  • e2e/react-router/basic-virtual-file-based/package.json
  • examples/vue/basic-file-based-jsx/package.json
  • e2e/react-router/js-only-file-based/package.json
  • e2e/vue-start/basic/package.json
  • examples/react/router-monorepo-react-query/packages/post-feature/package.json
  • e2e/solid-start/deferred-hydration/package.json
  • e2e/solid-start/basic-cloudflare/package.json
  • e2e/react-start/server-routes/package.json
  • examples/react/router-monorepo-react-query/packages/router/package.json
  • e2e/solid-router/generator-cli-only/package.json
  • e2e/solid-start/query-integration/package.json
  • e2e/react-start/issue-8049/package.json
  • e2e/vue-router/basic-file-based-jsx/package.json
  • e2e/react-start/basic/package.json
  • e2e/solid-start/css-modules/package.json
  • examples/react/search-validator-adapters/package.json
  • e2e/react-start/basic-tsr-config/package.json
  • examples/react/kitchen-sink-react-query/package.json
  • examples/solid/router-monorepo-simple-lazy/packages/post-feature/package.json
  • e2e/solid-router/basic-solid-query/package.json
  • examples/solid/start-large/package.json
  • e2e/react-start/early-hints/package.json
  • e2e/react-start/basic-react-query/package.json
  • examples/react/quickstart/package.json
  • e2e/react-start/streaming-ssr/package.json
  • e2e/vue-start/basic-tsr-config/package.json
  • e2e/solid-router/basic-file-based-code-splitting/package.json
  • examples/react/router-monorepo-simple/packages/router/package.json
  • examples/solid/router-monorepo-simple/packages/app/package.json
  • examples/react/router-monorepo-simple-lazy/packages/app/package.json
  • examples/solid/router-monorepo-solid-query/packages/post-query/package.json
  • examples/react/start-basic-static/package.json
  • e2e/vue-start/website/package.json
  • examples/solid/navigation-blocking/package.json
  • examples/react/router-monorepo-react-query/packages/post-query/package.json
  • e2e/react-start/static-server-functions/package.json
  • e2e/solid-start/virtual-routes/package.json
  • examples/solid/start-basic-cloudflare/package.json
  • e2e/solid-router/basic/package.json
  • e2e/solid-start/selective-ssr/package.json
  • examples/react/basic-default-search-params/package.json
  • e2e/vue-router/sentry-integration/package.json
  • e2e/solid-router/basic-solid-query-file-based/package.json
  • e2e/solid-router/view-transitions/package.json
  • e2e/react-start/basic-auth/package.json
  • e2e/solid-router/basic-virtual-named-export-config-file-based/package.json
  • e2e/react-router/scroll-restoration-sandbox-vite/package.json
  • e2e/react-start/clerk-basic/package.json
  • e2e/solid-start/server-routes/package.json
  • e2e/solid-start/custom-basepath/package.json
  • e2e/vue-start/query-integration/package.json
  • examples/solid/quickstart-file-based/package.json
  • e2e/vue-start/spa-mode/package.json
  • examples/react/basic-non-nested-devtools/package.json
  • e2e/react-start/start-manifest/package.json
  • e2e/react-start/rsc/package.json
  • e2e/react-start/basic-cloudflare/package.json
  • examples/solid/router-monorepo-solid-query/packages/router/package.json
  • examples/react/basic-virtual-inside-file-based/package.json
  • examples/react/start-basic-auth/package.json
  • examples/solid/location-masking/package.json
  • e2e/react-router/view-transitions/package.json
  • examples/solid/start-i18n-paraglide/package.json
  • e2e/react-start/serialization-adapters/package.json
  • examples/solid/router-monorepo-simple/package.json
  • examples/react/start-i18n-paraglide/package.json
  • e2e/react-start/csp/package.json
  • e2e/solid-start/start-manifest/package.json
  • examples/solid/basic-file-based/package.json
  • e2e/react-start/dev-ssr-styles/package.json
  • examples/solid/start-basic/package.json
  • examples/react/kitchen-sink/package.json
  • e2e/react-start/rsc-query/package.json
  • e2e/solid-start/basic-tsr-config/package.json
  • e2e/react-router/basic-react-query-file-based/package.json
  • examples/solid/start-streaming-data-from-server-functions/package.json
  • examples/react/basic-ssr-streaming-file-based/package.json
  • e2e/solid-start/solid-query-layout-suspense/package.json
  • examples/react/start-trellaux/package.json
  • e2e/react-router/i18n-paraglide/package.json
  • e2e/vue-router/basic-scroll-restoration/package.json
  • e2e/solid-start/scroll-restoration/package.json
  • examples/react/start-bare/package.json
  • examples/solid/authenticated-routes/package.json
  • e2e/vue-start/start-manifest/package.json
  • e2e/e2e-utils/package.json
  • examples/solid/start-basic-solid-query/package.json
  • examples/react/kitchen-sink-file-based/package.json
  • e2e/react-start/flamegraph-bench/package.json
  • examples/react/start-basic-authjs/package.json
  • e2e/solid-router/sentry-integration/package.json
  • examples/solid/start-basic-authjs/package.json
  • e2e/react-router/basic-file-based/package.json
  • e2e/vue-router/basic-vue-query/package.json
  • examples/solid/router-monorepo-solid-query/packages/post-feature/package.json
  • examples/solid/router-monorepo-simple/packages/post-feature/package.json
  • e2e/vue-router/basic-virtual-named-export-config-file-based/package.json
  • examples/react/start-rscs/package.json
  • examples/solid/with-trpc/package.json
  • examples/react/kitchen-sink-react-query-file-based/package.json
  • examples/react/location-masking/package.json
  • e2e/solid-router/basic-scroll-restoration/package.json
  • examples/solid/basic-devtools-panel/package.json
  • examples/react/start-basic-react-query/package.json
  • examples/solid/basic-solid-query/package.json
  • examples/solid/basic-virtual-inside-file-based/package.json
  • e2e/react-start/selective-ssr/package.json
  • examples/vue/basic/package.json
  • examples/solid/i18n-paraglide/package.json
  • e2e/react-start/i18n-paraglide/package.json
  • examples/react/router-monorepo-react-query/package.json
  • examples/react/start-convex-trellaux/package.json
  • e2e/react-router/issue-4759/package.json
  • e2e/react-router/issue-7457/package.json
  • e2e/react-start/server-functions/package.json
  • examples/react/basic-virtual-file-based/package.json
  • examples/react/start-bun/package.json
  • examples/vue/basic-file-based-sfc/package.json
  • examples/solid/router-monorepo-solid-query/package.json
  • examples/react/router-monorepo-simple/packages/app/package.json
  • examples/solid/basic-ssr-streaming-file-based/package.json
  • e2e/vue-start/scroll-restoration/package.json
  • examples/react/with-trpc-react-query/package.json
  • examples/react/start-material-ui/package.json
  • examples/react/start-large/package.json
  • e2e/react-start/query-integration/package.json
  • e2e/solid-router/scroll-restoration-sandbox-vite/package.json
  • examples/solid/start-basic-static/package.json
  • examples/solid/router-monorepo-simple-lazy/package.json
  • e2e/vue-router/basic-file-based-sfc/package.json
  • examples/solid/start-basic-nitro/package.json
  • examples/react/authenticated-routes/package.json
  • examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json
  • examples/react/start-clerk-basic/package.json
  • examples/react/view-transitions/package.json
  • e2e/vue-start/basic-cloudflare/package.json
  • e2e/vue-router/basic-vue-query-file-based/package.json
  • examples/react/start-workos/package.json
  • examples/react/router-monorepo-simple-lazy/packages/router/package.json
  • examples/react/basic-ssr-file-based/package.json
  • examples/solid/quickstart/package.json
  • examples/react/with-framer-motion/package.json

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

Vite and related tooling were upgraded across workspace catalogs, benchmarks, end-to-end fixtures, examples, and packages. Start-plugin-core now supports Vite’s separate bundled development runtime. React Start RSC type export paths and e2e type validation were also updated.

Changes

Workspace catalog and runtime integration

Layer / File(s) Summary
Workspace dependency alignment
pnpm-workspace.yaml, packages/*/package.json, packages/*/tsconfig.server-entry.json
Shared catalog versions were updated. Wildcard Vite dependencies now use catalog:. Server-entry aliases were removed. React Start RSC declaration paths were corrected.
Vite bundled development runtime
packages/start-plugin-core/src/vite/**
Bundled development resolves the nested or direct devEngine, waits for current client output, and loads a separate runtime for Vite 8.2.1 and later.
Runtime validation and type checks
packages/start-plugin-core/tests/**, e2e/e2e-utils/**, .changeset/*
Tests cover Vite version branches and base paths. E2E type assertions and release changesets were added.
Fixture and example dependency refresh
benchmarks/**, e2e/**, examples/**
Vite, framework plugins, Tailwind, Vitest, Nitro, deployment plugins, Sentry, Paraglide, and declaration tooling versions were updated across fixtures and examples.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to d52f5

This change updates the Vite toolchain and related declaration/runtime compatibility across examples and E2E fixtures. No concrete merge-blocking production risk is evidenced.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 5 files. (251 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: updating Vite, Vitest, and related Vite plugins across the repository.
Description check ✅ Passed The description is complete and follows the required template. It explains the changes, motivation, validation, checklist status, and release impact, including the required changesets.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 5 files. (251 skipped: 251 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/update-vite-vitest

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

🚀 Changeset Version Preview

2 package(s) bumped directly, 3 bumped as dependents.

🟩 Patch bumps

Package Version Reason
@tanstack/react-start-rsc 0.1.51 → 0.1.52 Changeset
@tanstack/start-plugin-core 1.171.42 → 1.171.43 Changeset
@tanstack/react-start 1.168.52 → 1.168.53 Dependent
@tanstack/solid-start 1.168.50 → 1.168.51 Dependent
@tanstack/vue-start 1.168.49 → 1.168.50 Dependent

@nx-cloud

nx-cloud Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit d52f5b7

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 11m 16s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1m 59s View ↗

☁️ Nx Cloud last updated this comment at 2026-09-10 19:17:54 UTC

@pkg-pr-new

pkg-pr-new Bot commented Sep 10, 2026

Copy link
Copy Markdown
More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/@tanstack/arktype-adapter@8344

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/@tanstack/eslint-plugin-router@8344

@tanstack/eslint-plugin-start

npm i https://pkg.pr.new/@tanstack/eslint-plugin-start@8344

@tanstack/history

npm i https://pkg.pr.new/@tanstack/history@8344

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/@tanstack/nitro-v2-vite-plugin@8344

@tanstack/react-router

npm i https://pkg.pr.new/@tanstack/react-router@8344

@tanstack/react-router-devtools

npm i https://pkg.pr.new/@tanstack/react-router-devtools@8344

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/@tanstack/react-router-ssr-query@8344

@tanstack/react-start

npm i https://pkg.pr.new/@tanstack/react-start@8344

@tanstack/react-start-client

npm i https://pkg.pr.new/@tanstack/react-start-client@8344

@tanstack/react-start-rsc

npm i https://pkg.pr.new/@tanstack/react-start-rsc@8344

@tanstack/react-start-server

npm i https://pkg.pr.new/@tanstack/react-start-server@8344

@tanstack/router-cli

npm i https://pkg.pr.new/@tanstack/router-cli@8344

@tanstack/router-core

npm i https://pkg.pr.new/@tanstack/router-core@8344

@tanstack/router-devtools

npm i https://pkg.pr.new/@tanstack/router-devtools@8344

@tanstack/router-devtools-core

npm i https://pkg.pr.new/@tanstack/router-devtools-core@8344

@tanstack/router-generator

npm i https://pkg.pr.new/@tanstack/router-generator@8344

@tanstack/router-plugin

npm i https://pkg.pr.new/@tanstack/router-plugin@8344

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/@tanstack/router-ssr-query-core@8344

@tanstack/router-utils

npm i https://pkg.pr.new/@tanstack/router-utils@8344

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/@tanstack/router-vite-plugin@8344

@tanstack/solid-router

npm i https://pkg.pr.new/@tanstack/solid-router@8344

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/@tanstack/solid-router-devtools@8344

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/@tanstack/solid-router-ssr-query@8344

@tanstack/solid-start

npm i https://pkg.pr.new/@tanstack/solid-start@8344

@tanstack/solid-start-client

npm i https://pkg.pr.new/@tanstack/solid-start-client@8344

@tanstack/solid-start-server

npm i https://pkg.pr.new/@tanstack/solid-start-server@8344

@tanstack/start-client-core

npm i https://pkg.pr.new/@tanstack/start-client-core@8344

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/@tanstack/start-fn-stubs@8344

@tanstack/start-plugin-core

npm i https://pkg.pr.new/@tanstack/start-plugin-core@8344

@tanstack/start-server-core

npm i https://pkg.pr.new/@tanstack/start-server-core@8344

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/@tanstack/start-static-server-functions@8344

@tanstack/start-storage-context

npm i https://pkg.pr.new/@tanstack/start-storage-context@8344

@tanstack/valibot-adapter

npm i https://pkg.pr.new/@tanstack/valibot-adapter@8344

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/@tanstack/virtual-file-routes@8344

@tanstack/vue-router

npm i https://pkg.pr.new/@tanstack/vue-router@8344

@tanstack/vue-router-devtools

npm i https://pkg.pr.new/@tanstack/vue-router-devtools@8344

@tanstack/vue-router-ssr-query

npm i https://pkg.pr.new/@tanstack/vue-router-ssr-query@8344

@tanstack/vue-start

npm i https://pkg.pr.new/@tanstack/vue-start@8344

@tanstack/vue-start-client

npm i https://pkg.pr.new/@tanstack/vue-start-client@8344

@tanstack/vue-start-server

npm i https://pkg.pr.new/@tanstack/vue-start-server@8344

@tanstack/zod-adapter

npm i https://pkg.pr.new/@tanstack/zod-adapter@8344

commit: d52f5b7

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Benchmarks

  • Commit: 1be9eb35e586
  • Measured at: 2026-09-10T19:07:11.515Z
  • Baseline source: history:6494e75362ff
  • Dashboard: bundle-size history

The following scenarios have bundle-size changes compared with the baseline:

Scenario Current (gzip) Initial (gzip) Raw Brotli Trend
react-router.minimal 83.9 KiB
-31 B
83.8 KiB
-36 B
262.3 KiB
-61 B
73.0 KiB
-172 B
▁▁███████▄▄▃
react-router.full 87.4 KiB
-48 B
87.3 KiB
-45 B
274.0 KiB
-59 B
76.2 KiB
-87 B
▁▁███████▅▅▃
solid-router.minimal 33.2 KiB
-261 B
33.1 KiB
-256 B
96.0 KiB
-744 B
30.1 KiB
-242 B
▃▃█████████▁
solid-router.full 38.1 KiB
-238 B
37.9 KiB
-237 B
110.7 KiB
-749 B
34.3 KiB
-246 B
▂▂█████████▁
vue-router.minimal 49.4 KiB
-140 B
49.3 KiB
-141 B
138.0 KiB
-345 B
44.7 KiB
-139 B
▄▄███████▃▃▁
vue-router.full 55.0 KiB
-195 B
54.9 KiB
-196 B
156.0 KiB
-492 B
49.6 KiB
-216 B
▄▄███████▄▄▁
react-start.minimal 96.8 KiB
-51 B
96.7 KiB
-50 B
304.5 KiB
-83 B
83.8 KiB
-267 B
▁▁███████▄▄▃
react-start.query-integration 104.2 KiB
-42 B
104.1 KiB
-42 B
331.0 KiB
-96 B
90.3 KiB
-89 B
▁▁███████▅▅▄
react-start.deferred-hydration 97.6 KiB
-45 B
96.7 KiB
-48 B
305.9 KiB
-87 B
84.6 KiB
-151 B
▁▁███████▄▄▃
react-start.full 100.0 KiB
-35 B
99.9 KiB
-36 B
314.2 KiB
-75 B
86.6 KiB
-85 B
▁▁███████▄▄▃
react-start.rsbuild.minimal 100.1 KiB
-3 B
100.0 KiB
-3 B
314.9 KiB
+10 B
86.4 KiB
-67 B
▁▁███████▃▃▃
react-start.rsbuild.minimal-iife 100.5 KiB
-2 B
100.4 KiB
-3 B
315.8 KiB
+10 B
86.8 KiB
-49 B
▁▁███████▃▃▃
react-start.rsbuild.full 103.4 KiB
+9 B
103.3 KiB
+9 B
325.0 KiB
+18 B
89.0 KiB
-161 B
▁▁███████▂▂▂
solid-start.minimal 46.1 KiB
-201 B
46.0 KiB
-202 B
137.3 KiB
-624 B
41.1 KiB
-122 B
▁▁█████████▂
solid-start.deferred-hydration 49.2 KiB
-205 B
46.1 KiB
-205 B
144.6 KiB
-625 B
43.8 KiB
-185 B
▁▁██▇██████▁
solid-start.full 51.2 KiB
-178 B
51.1 KiB
-175 B
152.7 KiB
-603 B
45.3 KiB
-234 B
▁▁█████████▂
vue-start.minimal 65.6 KiB
-171 B
65.4 KiB
-171 B
188.7 KiB
-521 B
58.5 KiB
-115 B
▄▄███████▄▄▁
vue-start.full 69.4 KiB
-163 B
69.3 KiB
-162 B
201.0 KiB
-513 B
61.7 KiB
-161 B
▃▄███████▄▄▁

Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better.

@codspeed

codspeed Bot commented Sep 10, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 4.52%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
❌ 15 regressed benchmarks
✅ 164 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Memory mem server peak-large-page (react) 415.9 KB 493.4 KB -15.7%
Simulation ssr control-flow unmatched 404 (react) 202.1 ms 227 ms -10.94%
Simulation ssr not-found (react) 170.4 ms 186.4 ms -8.57%
Simulation ssr control-flow unmatched 404 (solid) 212.7 ms 229.4 ms -7.26%
Simulation ssr control-flow route headers (solid) 288.7 ms 307.2 ms -6.02%
Simulation ssr control-flow route headers (react) 276.3 ms 292.5 ms -5.53%
Simulation ssr assets linked-css control (react) 213.7 ms 225.5 ms -5.24%
Simulation ssr assets inline-css cdn (react) 212.3 ms 223.7 ms -5.1%
Simulation ssr control-flow error 500 (react) 201.8 ms 211.3 ms -4.47%
Simulation ssr not-found (solid) 179 ms 186.8 ms -4.16%
Simulation ssr rewrite passthrough (react) 197.1 ms 204.6 ms -3.66%
Simulation ssr rewrite localized (react) 207.8 ms 215.3 ms -3.51%
Simulation ssr dehydrate plain control (react) 218 ms 225.3 ms -3.26%
Memory mem server server-fn-churn (vue) 233.6 KB 241.4 KB -3.23%
Simulation ssr dehydrate rich types (react) 219.8 ms 227.1 ms -3.22%
Memory mem server peak-large-page (solid) 449.9 KB 369.5 KB +21.76%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing codex/update-vite-vitest (d52f5b7) with main (6494e75)

Open in CodSpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment