chore(deps): update npm and cargo dependencies - #55
Merged
Merged
Conversation
This was referenced Sep 13, 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.
Updates every dependency the repository actually owns, and leaves the two things it deliberately pins alone.
What moved
plugin/— absorbs Dependabot #51 and #52.@rspack/cli/@rspack/coretypescript@figma/plugin-typingshtml-webpack-pluginharness/render/vite@vitejs/plugin-reacttypescript@devup-ui/vite-pluginreact/react-dom/ typesplaywrightCargo — 35 packages to their latest 1.98-compatible versions.
The risk I checked before touching
harness/renderThat directory is not ordinary build tooling. It holds
playwright— the browser that takes every screenshot — and@devup-ui/react,@devup-ui/reset-css, the library whose rendering the whole fidelity corpus measures. Moving either shifts every number inthresholds.json, and worse, makes future changes unattributable: a shift could be a generator improvement or a dependency bump and nobody could tell which. The repo pins renderer identity on purpose (docs/visual-renderer-contract.md).So I measured all 14 screens before the update, then again after, with the same binary.
Nothing moved. 3.58 / 2.02 / 0.84 · 2.69 · 2.96 · 3.74 / 2.12 / 1.16 · 5.43 / 2.93 / 1.77 · 4.78 / 2.47 / 1.50 — identical to the decimal, before and after.
Two reasons it held:
playwright's range^1.54.0was already resolving to 1.63.0, so Chromium did not change; and@devup-ui/react(1.0.41) and@devup-ui/reset-css(1.0.28) were already at their latest and were not in the upgrade set at all. Only build tooling moved —vite, the react plugin, TypeScript.No threshold needed re-baselining. Had any number moved, this would have been a re-baselining PR with the shift recorded, not a silent absorption.
Left alone on purpose
crates/devup-mcp/tests/fixtures/ground-truth-project/package.jsonis a test fixture representing a real consumer project. It declares no dependencies and must not be "updated" — it is data, not tooling.Verification
cargo metadata --lockedcargo fmt --all -- --checkcargo clippy --locked --workspace --all-targets --all-features -D warningscargo test --workspacecargo insta test --checkcargo test --locked -p devup-mcp --test stdio_smokenpm ci && npm run build+git diff --exit-code -- distnpm run typecheckThe plugin bundle is rebuilt under rspack 2 and committed, and I confirmed that build is still reproducible — two clean builds produce byte-identical output, which is what the bundle gate depends on.
Dependabot #51 and #52 can be closed once this lands.