Skip to content

chore(repo): bump vitest, add smol top-level vitest config - #6567

Merged
kanadgupta merged 16 commits into
kanad-claude/cli-2422-knip-cleanupfrom
kanad-2026-09-10/vitest-5
Sep 15, 2026
Merged

kanadgupta merged 16 commits into
kanad-claude/cli-2422-knip-cleanupfrom
kanad-2026-09-10/vitest-5

Conversation

@kanadgupta

@kanadgupta kanadgupta commented Sep 11, 2026 •

Copy link
Copy Markdown
Member

Summary

  • upgrades this repo to vitest 5. as part of this...
    • addresses a few warnings as part of this upgrade
    • adds a tiny top-level config file so we can run tests from the root (this is one of those extremely small DX papercuts that's been bugging me like crazy 😅)
    • tweaks the cwd setup in a few tests so they can be run from the root
    • adds a test:vitest script to the root to run every unit and integration project (e2e and live projects are excluded; pnpm test:e2e still owns the build-then-run path)
    • drops the per-project resolve/plugin duplication in apps/cli/vitest.config.ts, since Vitest 5 inline projects extend the root config

Note: @effect/vitest@4.0.0-rc.112 declares vitest <5, so pnpm warns about the peer range. Every suite passes on Vitest 5, and the bump to an @effect/vitest release that targets Vitest 5 lands separately in #6582.

Checklist

  • The PR title follows Conventional Commits (e.g. fix(cli): …).
  • Tests added or updated for the change.
  • From the repository root, pnpm check:all passes; relevant package tests pass for every touched workspace, and pnpm types:check passes for each touched TypeScript workspace (or workspace declaring it).

@kanadgupta kanadgupta added the run-ci Run full develop CI (tests) on drafts and non-develop PRs. label Sep 11, 2026
@kanadgupta
kanadgupta changed the base branch from develop to kanad-claude/cli-2422-knip-cleanup September 12, 2026 00:11
@kanadgupta
kanadgupta added this pull request to stack #6584 September 12, 2026 00:12
@kanadgupta kanadgupta changed the title chore(repo): bump vitest, effect, add smol top-level vitest config chore(repo): bump vitest, add smol top-level vitest config Sep 12, 2026
@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch from 0149fcc to d4a592a Compare September 12, 2026 00:27
@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch from d4a592a to 1ca743d Compare September 12, 2026 00:30
@kanadgupta
kanadgupta marked this pull request as ready for review September 12, 2026 00:37
@kanadgupta
kanadgupta requested a review from a team as a code owner September 12, 2026 00:37
@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch from 1ca743d to 0458190 Compare September 12, 2026 00:37

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI Review

Verified 9 Claude and 3 Codex findings; three overlapping pairs deduplicate to 9 findings, all confirmed. The highest-risk issue is that @effect/vitest explicitly excludes Vitest 5. The PR also introduces broken test/CI wiring, an internally inconsistent Vitest plugin configuration, incidental runtime dependency drift, and several nits.

Findings

Severity Location Category Sources Claim
🟠 MAJOR pnpm-lock.yaml:939 dependencies claude The Vitest 5 upgrade runs @effect/vitest outside its declared peer range.
🟡 MINOR commitlint.config.js:16 ci-configuration claude+codex The new deps scope passes commitlint but remains rejected by the pull-request title check.
🟡 MINOR apps/cli/vitest.config.ts:57 test-infrastructure claude The per-project Dockerfile loader was removed even though the retained configuration says inline projects do not inherit root Vite configuration.
🟡 MINOR package.json:16 test-infrastructure claude+codex The aggregate test:vitest script includes E2E projects but bypasses their required CLI build.
🟡 MINOR pnpm-lock.yaml:299 dependencies claude The lockfile regeneration includes unrelated upgrades to shipped runtime dependencies.
⚪ NIT pnpm-workspace.yaml:34 style claude The new Vitest catalog value is unquoted, unlike the value it replaces and nearly all sibling catalog values.
⚪ NIT packages/stack/src/state/ownership.integration.test.ts:271 style claude This new call site uses cwd: cwd while the equivalent sibling changes use property shorthand.
⚪ NIT apps/cli/src/commands/experimental/stack/start/start.e2e.test.ts:52 comments claude+codex The newly added cwd comments narrate the following assignments instead of explaining non-obvious rationale.
⚪ NIT pnpm-workspace.yaml:110 maintenance claude The minimumReleaseAgeExclude entries for @types/bun@1.4.0 and bun-types@1.4.0 are stale after the lockfile moved to 1.4.1.

Findings outside the diff

  • 🟠 MAJOR pnpm-lock.yaml:939 — The Vitest 5 upgrade runs @effect/vitest outside its declared peer range.
  • ⚪ NIT pnpm-workspace.yaml:110 — The minimumReleaseAgeExclude entries for @types/bun@1.4.0 and bun-types@1.4.0 are stale after the lockfile moved to 1.4.1.

Stats

Claude findings: 9 · Codex findings: 3 · Confirmed: 9 · Refuted: 0 · Uncertain: 0


Models: claude-opus-5 + gpt-5.6-sol · Trigger: auto · Workflow run

This review runs once per PR. A maintainer can request another with a /ai-review comment.

Comment thread commitlint.config.js Resolved
Comment thread apps/cli/vitest.config.ts Resolved
Comment thread package.json Resolved
Comment thread pnpm-lock.yaml Resolved
Comment thread pnpm-workspace.yaml Resolved
@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch from 0458190 to 786b3bf Compare September 12, 2026 17:16
@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch 2 times, most recently from 504bafc to 8f05be3 Compare September 15, 2026 15:20
@kanadgupta

Copy link
Copy Markdown
Member Author

Follow-up on the two AI review findings outside the diff:

  • @effect/vitest peer range: confirmed. 4.0.0-rc.112 declares vitest >=4.1.0 <5.0.0, and the first release that accepts Vitest 5 (rc.113) also requires effect ^4.0.0-rc.113, so fixing it here means the full Effect bump. pnpm only warns on this and every suite passes, so this PR leaves it as-is and chore: bump effect and friends to latest rc #6582 carries the bump.
  • minimumReleaseAgeExclude entries for @types/bun@1.4.0 / bun-types@1.4.0: no longer stale. 40ace99 pinned the lockfile back to 1.4.0, so those exclusions are still needed and are unchanged from the base branch.

@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch from 8e08c85 to da5fccc Compare September 15, 2026 17:18
kanadgupta and others added 6 commits September 15, 2026 10:23
- mirror the new `deps` scope in the PR title lint workflow
- exclude e2e projects from the root `test:vitest` script so it runs
  without a CLI build; `pnpm test:e2e` still owns that path
- drop per-project resolve duplication and the stale non-inheritance
  comment, since Vitest 5 inline projects extend the root config
- quote the vitest catalog entry and use `cwd` shorthand
- explain why stack child processes run from the package root

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@kanadgupta
kanadgupta force-pushed the kanad-2026-09-10/vitest-5 branch from da5fccc to cb90bd0 Compare September 15, 2026 17:24
@kanadgupta
kanadgupta added this pull request to the merge queue Sep 15, 2026
An error occurred while trying to automatically change base from kanad-claude/cli-2422-knip-cleanup to develop September 15, 2026 18:15
Merged via the queue into develop with commit 99b093f Sep 15, 2026
35 of 36 checks passed
@kanadgupta
kanadgupta deleted the kanad-2026-09-10/vitest-5 branch September 15, 2026 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-ci Run full develop CI (tests) on drafts and non-develop PRs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants