chore(deps-dev): bump vitest to patched 4.1.11 - #358
Conversation
Bumps [yaml](https://github.com/eemeli/yaml) from 2.8.4 to 2.9.0. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](eemeli/yaml@v2.8.4...v2.9.0) --- updated-dependencies: - dependency-name: yaml dependency-version: 2.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
cee62b9 to
ca81142
Compare
Bumps the vitest group with 1 update in the / directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vitest` from 4.1.5 to 4.1.8 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/vitest) --- updated-dependencies: - dependency-name: vitest dependency-version: 4.1.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vitest ... Signed-off-by: dependabot[bot] <support@github.com>
ca81142 to
eece065
Compare
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.2 to 7.3.5. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v7.3.5/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.3.5/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 7.3.5 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [undici](https://github.com/nodejs/undici) from 7.25.0 to 7.29.0. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v7.25.0...v7.29.0) --- updated-dependencies: - dependency-name: undici dependency-version: 7.29.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
There was a problem hiding this comment.
Findings
No issues found.
Summary
Review mode: initial
Routine Dependabot dev-dependency patch bump: vitest ^4.1.5 → ^4.1.8 in apps/desktop/package.json:65, packages/artifacts/package.json:21, packages/core/package.json:25, packages/exporters/package.json:30, packages/i18n/package.json:31, packages/providers/package.json:22, packages/runtime/package.json:25, packages/shared/package.json:25, packages/templates/package.json:22, and packages/ui/package.json:37, with the matching pnpm-lock.yaml refresh.
Checks against project constraints:
- License:
vitestis MIT — compatible with the MIT-only shipped/runtime dependency rule (CLAUDE.md Hard Constraint 4). It is a dev dependency, not bundled or linked into the shipped app, so it does not count against the ≤ 30 prod dependency budget or affect installer contents. - Prod dependency budget: unaffected (no
dependenciesblocks changed). - Lockfile consistency: all workspaces moved together, and the
@vitest/*peer versions in the lockfile were bumped consistently to4.1.8(@vitest/expect,@vitest/mocker,@vitest/runner,@vitest/snapshot,@vitest/spy,@vitest/utils). The transitive additions (@babel/*@7.29.7,@types/estree@1.0.9,es-module-lexer@2.1.0,obug@2.1.2,tinyexec@1.2.4,tinyglobby@0.2.17) are ordinary resolution drift and are not bundled into the product. - Node compatibility:
vitest@4.1.8declaresengines.nodeof^20.0.0 || ^22.0.0 || >=24.0.0, compatible with the repo's pinned Node 22. - No release/distribution impact: no
.github/workflows/**,packaging/**, or release manifests are touched, so there is no checksum/install-channel risk. - Changeset: not required — a dev-only test-runner bump is not user-visible.
Residual risk: the 4.1.5 → 4.1.8 range includes a deprecation of the sequential test API/options (vitest-dev/vitest#10196). This is a deprecation, not a removal, so it cannot break the build, but any test using test.sequential or sequence.sequential may begin emitting warnings. I could not confirm whether this repo uses that API from the public diff alone; if it does, cleaning it up is optional follow-up, not a blocker.
This PR is ready to merge.
Testing
Not run (automation). CI (pnpm lint && pnpm typecheck && pnpm test) will exercise the bumped runner across all workspaces.
Open-CoDesign Bot
There was a problem hiding this comment.
Findings
No issues found.
Summary
Review mode: follow-up after new commits
This revision retargets the Dependabot bump from ^4.1.8 to ^4.1.11 and touches only the ten workspaces that declare vitest plus the regenerated pnpm-lock.yaml (changedFiles: 11): apps/desktop/package.json:65, packages/artifacts/package.json:21, packages/core/package.json:25, packages/exporters/package.json:30, packages/i18n/package.json:31, packages/providers/package.json:22, packages/runtime/package.json:25, packages/shared/package.json:25, packages/templates/package.json:22, packages/ui/package.json:37.
Verified against the diff and lockfile:
- Every importer moved together:
specifier: ^4.1.11withversion: 4.1.11, and@vitest/expect|mocker|pretty-format|runner|snapshot|spy|utilsall move to4.1.11in step withvitest; no4.1.5snapshots are left behind. Thevitest@4.1.11peer block requires@vitest/*: 4.1.11, so the workspace-wide lockstep bump is the correct shape. - Node compatibility:
vitest@4.1.11declaresengines.node^20.0.0 || ^22.0.0 || >=24.0.0, compatible with the repo's Node 22 pin. - Constraint checks:
vitestis MIT and stays adevDependencyin every workspace, so it is not bundled/linked into shipped code and does not count toward the ≤ 30 prod-dependency budget; nodependenciesblocks, provider wiring, UI/token values, orpackaging/**/.github/workflows/**release paths are touched. No changeset is required — a test-runner bump is not user-visible.
Residual observations (not merge blockers):
- Advisory claim is unverifiable from the public checkout. The PR body states GHSA-82fw-gwwq-j7x9 (path traversal in
@vitest/mocker) affects 4.1.8 and that 4.1.11 is the first patched stable release. I could not confirm the advisory or the patched-version boundary from repository files during this run, so that rationale is taken on trust; a frozen-lockfile install plus the fullpnpm testrun is what actually proves the resolution. - Lockfile drift is wider than the vitest bump. Most of it is vitest 4.1.11's own dependency set (
es-module-lexer@2.3.2,expect-type@1.4.0,obug@2.2.1,picomatch@4.0.7,std-env@4.2.0,tinyexec@1.3.1,tinyglobby@0.2.17,tinyrainbow@3.1.1), but the regeneration also re-resolved in-range packages that reach the desktop renderer build toolchain:lightningcss@1.32.0 → 1.33.0,postcss@8.5.15 → 8.5.28,@babel/runtime|codes-frame|helper-validator-identifier@7.29.7,@napi-rs/wasm-runtime@1.2.4. This is consistent with the earlier "ordinary resolution drift" assessment and none of it is bundled into the product, but it does mean the PR is not a pure test-runner bump — the desktop build/packaging check named in the PR body is the right gate for thelightningcss/postcssmovement. - The comparison against the previous review (
4582e85e→d9d8849d) also shows main-side changes that are not part of this PR's diff (Atlas Cloud provider wiring, CodeQL action pin bumps, roottsx^4.22.3); they were not reviewed here as PR changes. - The prior review's residual note about the
sequentialtest API/options deprecation was not re-checked against the repo's test files in this run. If any test still usestest.sequentialorsequence.sequential, the worst case is a console warning, not a failure.
Ready to merge once CI is green.
Testing
Not run (automation). Suggested gate: pnpm install --frozen-lockfile && pnpm lint && pnpm typecheck && pnpm test, plus the desktop build:dir/packaging job given the lightningcss/postcss drift.
Open-CoDesign Bot
There was a problem hiding this comment.
Findings
- [Minor] PR now bundles unreported production-dependency bumps, contradicting its title/body — the PR is titled
chore(deps-dev): bump vitest to patched 4.1.11and the body only describes Vitest + a lockfile regeneration, but this head also raises shipped dependencies that are not dev-only:undiciapps/desktop/package.json:28(^7.25.0→^7.29.0),viteapps/desktop/package.json:64(^7.3.2→^7.3.5), andyamlpackages/shared/package.json:20(exact pin2.8.4→2.9.0).undiciandyamllive independencies(bundled/runtime), notdevDependencies, so this is not a pure test-runner change. Manifest specifier edits cannot come from "regenerates the pnpm lockfile against current main" — a lockfile refresh alone does not changepackage.jsonranges — so these are deliberate upgrades that the body does not account for.yamlalso moved from an exact pin to a new exact pin, i.e. a forced minor upgrade of a runtime parser used bypackages/shared, with no stated rationale or linked advisory.
Suggested fix: either scope the PR back to Vitest-only (restoreundici,vite, andyamlspecifiers) or update the title/body to list each bumped package, note thatundici/yamlare shipped runtime dependencies, and give the reason (e.g. a specific advisory) for each. Ifyaml/undiciare security-driven, splitting them into their own PR and linking the advisory keeps the Vitest rationale clean.
Questions
- Are the
undici/vite/yamlbumps intentional and tied to a specific advisory, or incidental fallout from resolving the lockfile during the Vitest retarget? That determines whether the fix is "drop the edits" or "document the edits."
Summary
Review mode: follow-up after new commits
Since the last reviewed commit (d9d8849d), the Vitest retarget to ^4.1.11 is unchanged and still consistent — every importer pins specifier: ^4.1.11 with version: 4.1.11, and @vitest/expect|mocker|pretty-format|runner|snapshot|spy|utils all move to 4.1.11 in lockstep, which matches the vitest@4.1.11 peer block. vitest remains MIT and stays a devDependency, so the ≤30 prod-dependency budget and permissive-license constraints are unaffected.
The new commits add three manifest changes outside Vitest: undici → ^7.29.0, vite → ^7.3.5, and yaml → 2.9.0. vite is a build-tooling dep (and now pulls esbuild@0.28.0 instead of 0.27.7), while undici and yaml are shipped runtime dependencies of apps/desktop and packages/shared. Because the PR body does not mention any of them, a reviewer cannot tell whether they are intentional and tested; this is the one item to resolve before merge.
Residual observations (not merge blockers):
- The GHSA-82fw-gwwq-j7x9 claim (4.1.8 affected, 4.1.11 first patched stable) still cannot be confirmed from the public checkout during this run, so it is taken on trust; a frozen-lockfile install plus the full
pnpm testrun is what actually demonstrates the resolution. lightningcss@1.33.0/postcss@8.5.28drift was already present at the previously reviewed commit and is unchanged here, so it is not re-raised; the desktop build/packaging gate named in the body remains the right check for it.
Testing
Not run (automation). Suggested gate: pnpm install --frozen-lockfile && pnpm lint && pnpm typecheck && pnpm test, plus the desktop build:dir/packaging job given the vite/esbuild movement and the undici/yaml runtime bumps.
Open-CoDesign Bot
There was a problem hiding this comment.
Findings
- [Minor] The regenerated lockfile is not a Vitest-only delta and moves some transitive pins backwards relative to the diff base —
pnpm-lock.yamlresolvesrollup4.62.0→4.60.2and addsnanoid@3.3.12(used bypostcss@8.5.15, previouslynanoid@3.3.19), while it pushesvite7.3.5→7.3.6andesbuild0.27.7→0.28.0in the other direction. The PR body states the lockfile was "regenerated against current main", but base main carriesrollup@4.62.0and this head would move it down; because the branch changed those lines, merging can put the lower pin onmain. These are build-time-only packages (rollup/postcss/nanoidare not shipped runtime deps), so the user-facing risk is low, but the resolution drift is unrelated to the stated scope and a downgrade of a build tool is the kind of thing a maintainer wants to be intentional rather than incidental.
Suggested fix / next action: rebase on current main and regenerate so only the Vitest subtree changes, e.g.git fetch origin main && git rebase origin/main && pnpm install --lockfile-only, then commit the resulting lockfile. If therollup/nanoid/esbuildmoves are deliberate, list them in the PR body with the reason (a fresh resolution against main's existing lockfile should preserve main's pins for unchanged specifiers).
Questions
- Are the
rollup4.62.0→4.60.2,nanoid3.3.19→3.3.12, andesbuild0.27.7→0.28.0lockfile moves intentional, or a side effect of resolving the lockfile from a different starting state than current main? That determines whether the fix is "regenerate after rebase" or "document in the body".
Summary
Review mode: follow-up after new commits
The prior [Minor] finding is resolved. The earlier head raised shipped-dependency specifiers in apps/desktop/package.json (undici, vite) and packages/shared/package.json (yaml); the current diff only touches vitest in every manifest (apps/desktop/package.json:65, packages/artifacts/package.json:21, packages/core/package.json:25, packages/exporters/package.json:30, packages/i18n/package.json:31, packages/providers/package.json:22, packages/runtime/package.json:25, packages/shared/package.json:25, packages/templates/package.json:22, packages/ui/package.json:37), and undici ^7.29.0 / vite ^7.3.5 / yaml 2.9.0 now come from main rather than this branch.
The Vitest retarget itself is consistent: all ten importers pin specifier: ^4.1.11 with version: 4.1.11, and @vitest/expect|mocker|pretty-format|runner|snapshot|spy|utils all move to 4.1.11 in lockstep, matching the vitest@4.1.11 peer block. vitest stays a devDependency and MIT, and satisfies the repo's engines.node >= 22 (package.json), so the ≤30 prod-dependency budget and permissive-license constraints are unaffected. No release/distribution or .github/** files are touched.
Context note: the compare window also contains main-side content (.changeset/requesty-proxy-preset.md, packages/shared/src/proxy-presets.ts, packages/shared/src/proxy-presets.test.ts). Those files are not in this PR's 11-file diff and should not be attributed to the Vitest bump.
Residual observations (not merge blockers):
- The
GHSA-82fw-gwwq-j7x9claim (4.1.8 affected, 4.1.11 first patched stable) still cannot be confirmed from the public checkout during this run, so it is taken on trust; the frozen-lockfile install plus the full test run is what actually demonstrates the resolution. lightningcss@1.33.0/postcss@8.5.28drift and theundici 7.29.0 → 7.29.1/vite 7.3.5 → 7.3.6patch moves were already present before this head and are unchanged in kind; the desktop build/packaging gate named in the body remains the right check for them.
Testing
Not run (automation). Suggested gate: pnpm install --frozen-lockfile && pnpm lint && pnpm typecheck && pnpm test, plus the desktop build:dir / packaging job given the vite/esbuild movement in the regenerated lockfile.
Open-CoDesign Bot
There was a problem hiding this comment.
Findings
No Blocker / Major / Minor findings in the current head (e288c1682401492f3684b18273980b4b21c5cc8e).
Summary
Review mode: follow-up after new commits
The prior [Minor] lockfile-drift finding is resolved. The new commits re-align the regenerated lockfile with the diff base, so the PR is now a Vitest-scoped delta:
rollupis back at4.62.0(pnpm-lock.yaml,'@rollup/rollup-*'entries), matching the base rather than the earlier4.60.2downgrade path.- The
undiciandviteimporter resolutions in this head are7.29.0and7.3.5(pnpm-lock.yaml,apps/desktopimporter), which is the same state as the pre-bump lockfile excerpt wherevitestis still^4.1.5— i.e. no shipped-dependency version movement relative to base. - No
nanoid/postcss/esbuildresolution drift appears in the head-vs-basepnpm-lock.yamldiff; the remaining package-block churn is Vitest's own subtree (@vitest/*→4.1.11,es-module-lexer,expect-type,obug,std-env,tinyexec,tinyglobby,tinyrainbow).
Scope and consistency checks:
- All ten manifests bump only
vitest:apps/desktop/package.json:65,packages/artifacts/package.json:21,packages/core/package.json:25,packages/exporters/package.json:30,packages/i18n/package.json:31,packages/providers/package.json:22,packages/runtime/package.json:25,packages/shared/package.json:25,packages/templates/package.json:22,packages/ui/package.json:37. - Each importer pins
specifier: ^4.1.11withversion: 4.1.11, and@vitest/expect|mocker|pretty-format|runner|snapshot|spy|utilsall move in lockstep with thevitest@4.1.11peer block, so the tree is internally consistent. vitestremains adevDependency(MIT), so the ≤30 prod-dependency budget, the permissive-license constraint, and the no-direct-provider-SDK rule are unaffected. No.github/**, release, packaging, or distribution files are touched, and no changeset is required for a dev-tooling-only bump.- The only non-Vitest line inside the diff is the
fdir/picomatchpeer resolution inside thevite@6.4.2snapshot (4.0.4→4.0.7), which is a direct consequence of dedupingtinyglobbyand is an upgrade, not a downgrade.
Residual observations (not merge blockers):
- The
GHSA-82fw-gwwq-j7x9claim (4.1.8 affected, 4.1.11 the first patched stable) could not be verified from the public checkout during this run; it is taken on trust. The frozen-lockfile install plus the full suite is what actually demonstrates the resolution. - As with the previous head, the desktop
build:dir/ packaging gate is the right check if anything in the regenerated tree shifts Vite/esbuild behavior; nothing in the diff suggests it will.
Testing
Not run (automation). Suggested gate: pnpm install --frozen-lockfile && pnpm lint && pnpm typecheck && pnpm test, plus the desktop build:dir job.
Open-CoDesign Bot
Updates Vitest across the workspace from 4.1.5 to 4.1.11 and regenerates the pnpm lockfile against current main.
The originally proposed 4.1.8 release is affected by GHSA-82fw-gwwq-j7x9 (path traversal in @vitest/mocker). Version 4.1.11 is the first patched stable release, so this PR now upgrades both Vitest and its matching internal packages to that version.
Validation: frozen-lockfile installation, lint, typecheck, full test suite, dependency review, and desktop build/packaging checks are required before merge.