Skip to content

chore(deps): upgrade vite 5→8 + vitest 2→4 + @vitejs/plugin-react (supersedes #269)#278

Merged
CoJoA13 merged 2 commits into
mainfrom
chore/web-vite-8
Jun 23, 2026
Merged

chore(deps): upgrade vite 5→8 + vitest 2→4 + @vitejs/plugin-react (supersedes #269)#278
CoJoA13 merged 2 commits into
mainfrom
chore/web-vite-8

Conversation

@CoJoA13

@CoJoA13 CoJoA13 commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Closes the deferred vite major (dependabot #269 bumped only vite, which can't merge alone — vitest@2 peers vite ≤6). This moves the whole stack in lockstep, peer-clean (no --legacy-peer-deps).

Versions

pkg from to
vite 5.4.8 8.1.0 (Rolldown bundler)
vitest 2.1.1 4.1.9
@vitejs/plugin-react 4.3.1 6.0.3

jsdom stayed 29.1.1; nothing else needed touching. The plugin-react @rolldown/plugin-babel + babel-plugin-react-compiler peers are optional — not pulled in (no React Compiler). Node 22.23 satisfies vite 8's ^20.19 || >=22.12 engines.

Breaking changes fixed (surface = deps + config + 1 test-API adaptation)

  • vite.config.ts — vitest 4 removed test.poolOptions; forks.singleFork:true → top-level maxWorkers:1 (keeps pool:"forks" + default isolate:true, preserving the single-fork serial-files signal the MSW/cleanup teardown relies on).
  • src/lib/auth.test.tsx — vitest 4's constructor-mock change: a vi.fn() invoked with new now needs a function/class body; the oidc-client-ts UserManager mock's arrow-returning-object threw "is not a constructor" → rewritten to a function constructor (same spies; 5 tests green).
  • docs — the two active tooling references to the now-removed --poolOptions.forks.singleFork=true updated to --maxWorkers=1 (the web-test-trap-reviewer agent + the finish-slice command).

Verification

rm -rf node_modules && npm ci resolves with zero ERESOLVE, 0 vulnerabilities. Full gate green from a clean state: lint ✓ · typecheck ✓ · build ✓ (dist emitted) · test = 1261 passed (unchanged). No tests skipped/weakened, no product-code changes.

Note: #267 (eslint 10) stays deferred — blocked by eslint-plugin-jsx-a11y's stale peer range; see the comment there.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

CoJoA13 and others added 2 commits June 23, 2026 15:13
…persedes #269)

Coordinated bump of the web Vite toolchain (dependabot #269 bumped only vite
and couldn't merge alone — its peers conflicted). All peer-clean against Node 22.

- vite ^5.4.8 → ^8.1.0 (engines ^20.19||>=22.12 satisfied; Rolldown bundler)
- vitest ^2.1.1 → ^4.1.9 (peer vite ^6||^7||^8)
- @vitejs/plugin-react ^4.3.1 → ^6.0.3 (peer vite ^8; the @rolldown/plugin-babel
  and babel-plugin-react-compiler peers are optional — not added)
- regenerated package-lock.json; npm ci resolves with zero ERESOLVE

Breaking-change fixes:
- vite.config.ts: vitest-4 pool rework removed test.poolOptions →
  singleFork:true becomes top-level maxWorkers:1 (isolate stays default-true,
  preserving the single-fork serial-files signal the suite relies on).
- src/lib/auth.test.tsx: vitest-4 constructor-mock change — a vi.fn() invoked
  with `new` must use the function/class keyword; the oidc-client-ts UserManager
  mock's arrow-returning-object form now throws "is not a constructor", rewritten
  to a `function` constructor assigning the hoisted spies.

Full gate green from a clean npm ci: lint + typecheck + build + 1261/1261 tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rs=1)

vitest 4 removed --poolOptions.forks.singleFork; the equivalent single-fork
serial-files signal is --pool=forks --maxWorkers=1. Fixes the two active
tooling references (web-test-trap-reviewer agent + finish-slice command) so
they don't error for the next run.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@CoJoA13 CoJoA13 merged commit d7bd0ae into main Jun 23, 2026
11 checks passed
@CoJoA13 CoJoA13 deleted the chore/web-vite-8 branch June 23, 2026 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant