{{ message }}
Repository navigation
chore(deps): upgrade vitest to 4.1.11 and vite to 8.2.2 (alternative to #792 — not ready to merge) - #793
Open
Portll wants to merge 1 commit into
Open
chore(deps): upgrade vitest to 4.1.11 and vite to 8.2.2 (alternative to #792 — not ready to merge)#793Portll wants to merge 1 commit into
Portll wants to merge 1 commit into
Conversation
Alternative to the vite 4.5.14 override. Clears all 18 vite advisories rather
than 11, at the cost of a Node floor bump and -- importantly -- the image
snapshot corpus.
vitest 4 changed the snapshot key: the duplicated path segment is gone, so
old: basic-test-tsx-test-basic-test-tsx-basic-should-...-1-snap.png
new: basic-test-tsx-basic-should-...-1-snap.png
None of the 498 committed baselines match. The first run writes 487 fresh ones
and reports 512 passing; the corpus goes 498 -> 985. Every run after that is
green and writes nothing, because it now matches baselines it generated itself.
Verified by mutation rather than by reading: corrupting a committed baseline
still passes 55/55. The visual regression suite stops comparing while staying
green.
This branch is therefore NOT proposed for merge as-is. It needs the 498
baselines regenerated and reviewed image by image, as a separate commit.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
This branch was previously deployed
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.

This is an alternative to #792 and I'm not proposing it for merge in its current state. I'm opening it so the tradeoff is visible and reviewable (and so the branch exists).
What it achieves
Where #792 clears 11 of 18, this clears all 18:
vitest0.32 → 4.1.11, explicitvite ^8.2.2devDependency,@types/node^16 → ^22, andengines.node→^20.19.0 || >=22.12.0.Why I'm not proposing it
vitest 4 changed the image-snapshot key — the duplicated path segment is gone:
None of the 498 committed baselines match. The first run writes 487 new ones and reports 512 passing; the corpus goes 498 → 985.
What worries me is that it's invisible afterwards. The second run writes nothing and passes clean, because it now matches baselines it generated itself. CI on a cold checkout goes green; on a warm one, green. There's no point where a human sees a failure.
I checked by mutation rather than by reading output — corrupting one of the committed baselines:
1 failed | 511 passed— the baseline is being compared55 passed | 512 passed— it isn'tFor a renderer, that corpus is the test suite. Trading it for a scanner number looks like a bad deal, especially when nothing in the 18 is reachable here anyway.
What it would take
Regenerating all 498 baselines and reviewing them image by image, as its own reviewed commit — not folded into a dependency bump, where the green would hide it. Or a snapshot-resolver shim preserving the old keys, which I haven't attempted.
Two small things:
esbuildoptions silently stop working. Vite 8 transforms with oxc, soesbuild: { jsxDev: false }— the fix used in chore(deps): pin vite to 4.5.14 — clears 11 advisories including a KEV #792 — becomes a no-op with only a console warning: "Both esbuild and oxc options were set. oxc options will be used and esbuild options will be ignored." The equivalent isoxc.jsx.development.viteas a peer requiring^6 || ^7 || ^8; pnpm bound it to the already-lockedvite@4.0.4and installed anyway, warning only. An explicitvitedevDependency is what forced a supported version.Verification
pnpm install,pnpm test(55/55, 512),pnpm build:defaultall clean;osv-scannerreports 0 vite advisories — plus the snapshot caveat above, hence the PR.If you’d rather close this and leave #792 standing, that makes sense too.