Repository navigation
chore(dev-tools): upgrade shared test tooling to Vitest 5 - #59
Merged
Merged
Conversation
Coverage Report for CI Build 36631922766Coverage increased (+0.8%) to 58.484%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
ibgreen
marked this pull request as ready for review
September 29, 2026 17:40
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
chrisgervang
approved these changes
Sep 29, 2026
Pessimistress
approved these changes
Sep 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goals
Let consumers use Vitest 5 with the shared Node/Playwright configuration without overriding dev-tools' Vitest 4 browser dependencies. This follows the compatibility investigation in visgl/loaders.gl#4072.
Changes
^5.0.2, and align the repository's test dependencies and lockfile.^6.4.0 || ^7.0.0 || ^8.0.0) and install it explicitly in the repository for Yarn..vitest/artifacts.The configuration helper's public API and the existing Node support range are unchanged. This moves the supported Vitest major to 5; it does not advertise dual Vitest 4/5 support.
Validation
yarnandyarn buildpassed.yarn lint fixpassed; the new browser files also passed Biome explicitly.yarn test: 10 files / 24 tests passed, including the new browser module mock.yarn test-headless: 1 file / 2 tests passed.yarn coveron macOS / Node 24.5.0 hit the existing 120-second timeout in compiler-transform tests. A single-worker diagnostic was also prohibitively slow. No timeouts, worker defaults, compiler fixtures, or coverage exclusions were changed to hide this limitation.The downstream loaders.gl POC passed its full Node and Chromium suites. Its coverage reports additionally include deprecated compatibility exports under Vitest 5, so the migration guidance preserves that expanded denominator; the downstream POC added focused coverage for its retained mesh-bounds export and now passes its full CI, including browser-only and merged coverage gates. Local timing variation was too large to claim a reliable speedup.
Vitest emits an upstream Vite warning about
configureServeronvitest:mocks:interceptor; the explicit browser mocking test passes despite it.Vitest 5 migration guide
Coverage comparison
The initial Coveralls result dropped from 57.6577% to 57.5812%. File-level comparison identifies exactly two changed lines: the light/dark theme initializers in
modules/docusaurus-website/src/get-default-config.tschanged from covered to non-coverable. Uncovered lines (272) and covered/total branches (294/492) were unchanged. This is a reporting difference, not lost execution coverage.The added sidebar test exercises previously untested recursive normalization of string and object entries, preserving existing coverage settings. Local lint, targeted coverage, and the full 24-test suite pass. The follow-up CI run passes, and Coveralls now reports 58.484% versus 57.658% on master: 350 covered lines and 298 covered branches. No threshold, exclusion, or production code was changed.