chore(deps): bump vite to 8, vitest to 4, plugin-react to 5 (frontend)#341
Conversation
Dependabot PRs #337 and #338 bumped vite 5->8 and vitest 2->4 but left @vitejs/plugin-react at ^4.3.1, whose peer range tops out at vite 7. That caused an npm ci ERESOLVE in the Windows wheel-build job, which silently degraded to a UI-less wheel and failed the 'Assert the SPA is bundled' check (issue #320 Bug 1 guard). Bump @vitejs/plugin-react to ^5.2.0, the first release whose peer range includes vite 8 (^4 || ^5 || ^6 || ^7 || ^8) without pulling in the rolldown/babel peers that plugin-react 6 introduces. This is the minimal consistent upgrade. Verified locally: npm ci resolves clean, npm run build (tsc + vite 8) produces dist/, uv build bundles _ui_dist/index.html into the wheel (check_wheel_ui --expect-ui passes), and kbagent serve --ui renders the SPA with no console errors against a live project. Supersedes #337 and #338.
| "vite": "^8.0.14", | ||
| "vitest": "^4.1.7" |
There was a problem hiding this comment.
🚩 Major version jumps skip intermediate majors
The PR jumps vite from 5 to 8 (skipping 6 and 7) and vitest from 2 to 4 (skipping 3). While the lock file resolves cleanly and peer dependencies are satisfied, each skipped major version may have introduced breaking changes to plugin APIs, config options, or build behavior. The current vite.config.ts is minimal (just defineConfig with react() plugin, proxy, and build.target), so the risk is low — but Vite 8 notably switches the internal bundler from Rollup to Rolldown, which could surface subtle differences in build output or plugin compatibility for more complex setups. Worth a quick smoke test of npm run build and npm run dev to confirm the frontend still builds and serves correctly.
Was this helpful? React with 👍 or 👎 to provide feedback.
What
Consolidated frontend dependency bump that supersedes Dependabot PRs #337 and #338.
vitevitest@vitejs/plugin-reactWhy
Both #337 and #338 bumped
viteto 8 andvitestto 4 but left@vitejs/plugin-react@^4.3.1, whose peer range tops out at vite 7(
^4 || ^5 || ^6 || ^7). That produced annpm ciERESOLVE in theWindows wheel-build job, which silently degraded to a UI-less wheel and
failed the "Assert the SPA is bundled" check (issue #320 Bug 1 guard).
@vitejs/plugin-react@5.2.0is the first release whose peer range includesvite 8 (
^4 || ^5 || ^6 || ^7 || ^8) without pulling in the@rolldown/plugin-babel/babel-plugin-react-compilerpeers thatplugin-react 6 introduces — the minimal consistent upgrade.
Verification (local, against a live project)
npm ciresolves clean (no ERESOLVE)npm run build(tsc -b && vite build) producesdist/uv buildbundles_ui_dist/index.htmlinto the wheel —check_wheel_ui.py --expect-uipasseskbagent serve --uiserves the SPA + assets + API; SPA renders in-browser with no console errorsproject status,storage buckets) succeedNote
The frontend has no
*.test.*/*.spec.*files, sonpm run test(vitest run)exits 1 with "No test files found" — this is pre-existing (vitest 2 behaved
identically) and not run by any CI job; the wheel-build job only runs
npm ci+npm run build.Closes #337
Closes #338