Skip to content

deps(frontend): jsdom 30 + testing-library/jest-dom 7 (lands #412/#409) - #426

Merged
WalksWithASwagger merged 3 commits into
mainfrom
codex/deps-frontend-testenv
Aug 2, 2026
Merged

deps(frontend): jsdom 30 + testing-library/jest-dom 7 (lands #412/#409)#426
WalksWithASwagger merged 3 commits into
mainfrom
codex/deps-frontend-testenv

Conversation

@WalksWithASwagger

Copy link
Copy Markdown
Owner

Summary

Lands both frontend test-environment major upgrades as one reviewable change, per the batching plan in #420 (frontend dev-test group):

  • jsdom 29.1.1 → 30.0.0
  • @testing-library/jest-dom 6.9.1 → 7.0.0

Supersedes Dependabot PRs #412 (jsdom) and #409 (jest-dom). A human should close #412 and #409 when this merges — this PR does not close them.

What changed

  • frontend/package.json: the two devDependency version ranges.
  • frontend/package-lock.json: regenerated to match.

No source or vitest config changes were required. The test setup already imports the framework-scoped matcher entry that jest-dom 7 requires:

// frontend/src/test/setup.ts
import "@testing-library/jest-dom/vitest";

and jsdom 30 works transparently under vitest 4 (environment: "jsdom"). jest-dom 7's type augmentation is still picked up via the existing tsconfig.json types: ["…","@testing-library/jest-dom"] entry, so tsc --noEmit stays clean.

Validation

Run in the worktree on the pushed tree (local Node 26; CI on Node 22.13 is the gate):

  • npm --prefix frontend ci → clean, 0 vulnerabilities (strict lockfile in sync)
  • npm --prefix frontend run test (vitest run) → 5 files, 10 tests passed
  • npm --prefix frontend run typecheck (tsc --noEmit) → pass

Only jest-dom matchers in use are toBeInTheDocument and toHaveAttribute — both unaffected by the v7 major (which mainly drops legacy Node/entry-point support).

Scope / non-goals

  • Only the two frontend test-env devDeps. No runtime deps, no other bumps, no unrelated code.
  • Review-ready only — not auto-merged.

Refs #420

WalksWithASwagger and others added 2 commits August 2, 2026 10:28
Bump frontend test-environment devDependencies to their next majors:
- jsdom 29.1.1 -> 30.0.0
- @testing-library/jest-dom 6.9.1 -> 7.0.0

Supersedes Dependabot PRs #412 (jsdom) and #409 (jest-dom) by landing
both frontend test-env majors as one reviewable change. No source or
vitest config changes were required: setup already imports the
framework-scoped matcher entry (@testing-library/jest-dom/vitest) that
jest-dom 7 requires, and jsdom 30 works transparently under vitest 4.

Refs #420

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017F63bPvWRFR4iVEm83Pzoj
CI runs `npm --prefix frontend ci` on Node 22.13.1 / npm 10.9.2, which
strictly rejected the lockfile generated by this machine's npm 11:
  npm error `npm ci` can only install packages when your package.json
  and package-lock.json ... are in sync.
  npm error Missing: lru-cache@11.5.2 from lock file

npm 11 had omitted lru-cache@11.5.2 from four nested paths (jsdom, nitro,
@asamuzakjp/css-color, @asamuzakjp/dom-selector). Regenerated the lockfile
with `npx npm@10.9.2 install` and validated with `npm@10.9.2 ci` (exit 0,
0 vulnerabilities). Lockfile-only change; no dependency versions altered.

Refs #420

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017F63bPvWRFR4iVEm83Pzoj
@WalksWithASwagger
WalksWithASwagger merged commit 8c3927e into main Aug 2, 2026
8 checks passed
@WalksWithASwagger
WalksWithASwagger deleted the codex/deps-frontend-testenv branch August 2, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant