Skip to content

chore(deps): update Vitest to v5, jsdom to v30 and Node.js to 26 - #220

Merged
1natsu172 merged 2 commits into
masterfrom
chore/update-devdeps-node26
Oct 2, 2026
Merged

1natsu172 merged 2 commits into
masterfrom
chore/update-devdeps-node26

Conversation

@1natsu172

Copy link
Copy Markdown
Owner

Summary

  • Update Vitest packages (vitest, @vitest/coverage-v8, @vitest/ui) from 4.1.11 to 5.0.2, as the groundwork for test: run the test suite on real browsers with Vitest browser mode #210. The lockfile now resolves vite@8.3.1, which satisfies Vitest 5's vite >= 6.4 requirement.
  • Update jsdom from 29.1.1 to 30.1.1 and @types/jsdom from 28.0.3 to 30.0.0.
  • Update Node.js from 24.20.0 to 26.10.0 in .tool-versions. CI already reads this file via node-version-file, so local and CI use the same version.

typescript and unbuild are out of scope (see #218). Vitest 5.0.3 is skipped for now because it is still inside the 7-day minimum release age; Renovate will pick it up later.

Closes #211

Breaking changes checked

  • Vitest 5 (migration guide): clearMocks is on by default (the config already sets mockReset: true); unawaited .resolves/.rejects now fail (both uses in src/index.test.ts are awaited); no vi.mock inside functions, no sequential, no removed entry points, no coverage include/exclude, no global assignments in jsdom. The UI now requires token authentication, which only changes how pnpm coverage opens.
  • jsdom 30: requires Node ^22.22.2 || ^24.15.0 || >=26.0.0. 30.1.0 also fixes the ordering of mutation observer notifications; tests pass unchanged.
  • Node.js 26: removals (_stream_* modules, writeHeader(), --experimental-transform-types) are not used here. Node 26 is still "Current" and is scheduled to enter LTS in October 2026.

Test plan

  • pnpm typecheck passes on Node 26.10.0
  • pnpm build passes on Node 26.10.0
  • pnpm test-ci passes (33 tests, type tests included)
  • Suite is stable under describe.shuffle (5 runs with random seeds)
  • CI test job passes

🤖 Generated with Claude Code

1natsu172 and others added 2 commits October 3, 2026 03:41
CI reads the version from .tool-versions through setup-node's
node-version-file, so local and CI now run the same Node.js.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- vitest, @vitest/coverage-v8, @vitest/ui: 4.1.11 -> 5.0.2
- jsdom: 29.1.1 -> 30.1.1
- @types/jsdom: 28.0.3 -> 30.0.0

Vitest 5 requires Vite >= 6.4, and the lockfile now resolves vite@8.3.1
instead of 6.3.5. 5.0.3 is not used yet because it is still inside the
7-day minimum release age.

Closes #211

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@1natsu172
1natsu172 marked this pull request as ready for review October 2, 2026 18:42
@1natsu172
1natsu172 merged commit 2ccd927 into master Oct 2, 2026
4 checks passed
@1natsu172
1natsu172 deleted the chore/update-devdeps-node26 branch October 2, 2026 18:43
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.

chore(deps): update Vitest to v5

1 participant