chore(web): jsdom 29.1.1 → 30.0.1 #256

Merged
dominik.polakovics merged 1 commit from afk/255 into main 2026-08-01 04:28:35 +02:00

Bumps the web/ SPA's only landable npm major: jsdom 29.1.1 → 30.0.1 (devDependency, vitest test environment only). This is dependency hygiene, not a security fix — no advisory reaches any version in the tree.

Closes #255

What changed

  • web/package.json: "jsdom": "^29.1.1""^30.0.1"
  • web/package-lock.json: regenerated by npm install; jsdom resolves to exactly 30.0.1 and every lockfile delta is confined to jsdom's own dependency subtree (@asamuzakjp/css-color 6.0.5, @asamuzakjp/dom-selector 8.3.0, undici 8.9.0, nested whatwg-url 17.1.0, updated engines ranges).

No web/src/**, test, flake.lock, or nix/ changes — jsdom 30's sole breaking change is the Node floor (^22.22.2 || ^24.15.0 || >=26.0.0), which native CI (Node 24 ≥ 24.16.0) and the pinned nixpkgs rev (nodejs 24.16.0) both satisfy, as pre-verified in the issue.

Verification (run in this worktree, Node 24.18.1)

  • npm ci — clean; zero warnings, no EBADENGINE, 0 vulnerabilities
  • npm run lint — pass
  • npm run format:check — pass
  • npm test66 files / 975 tests, all pass, no test edited; ToolPanel.test.tsx (the getComputedStyle()-sensitive suite flagged in the issue) passes unchanged, as predicted — the 30.x getComputedStyle() changes touch length/function serialization, not the keyword overflow-x/y values this repo reads
  • npm run build (tsc --noEmit && vite build) — pass

nix flake check — not run, and here is the honest accounting

This environment has no nix and no root to install it, so the hermetic gate was not executed locally. It will also not trigger on this PR: ci-nix.yml path-filters to **/*.nix, flake.lock, go.mod, go.sum — by documented design (ADR-0023 §2, comment at the top of the workflow), because the web derivation uses importNpmLock and follows web/package-lock.json directly, npm dep changes cannot rot the nix build. The one way this bump could break the nix build — the Node engines floor — was checked in the issue against the pinned flake.lock rev: nixpkgs ships nodejs 24.16.0 ≥ 24.15.0. If you want the gate exercised anyway before merge, run nix flake check locally on this branch.

🤖 Generated with Claude Code

Bumps the `web/` SPA's only landable npm major: **jsdom 29.1.1 → 30.0.1** (devDependency, vitest test environment only). This is dependency hygiene, not a security fix — no advisory reaches any version in the tree. Closes #255 ## What changed - `web/package.json`: `"jsdom": "^29.1.1"` → `"^30.0.1"` - `web/package-lock.json`: regenerated by `npm install`; jsdom resolves to exactly 30.0.1 and every lockfile delta is confined to jsdom's own dependency subtree (`@asamuzakjp/css-color` 6.0.5, `@asamuzakjp/dom-selector` 8.3.0, `undici` 8.9.0, nested `whatwg-url` 17.1.0, updated engines ranges). No `web/src/**`, test, `flake.lock`, or `nix/` changes — jsdom 30's sole breaking change is the Node floor (`^22.22.2 || ^24.15.0 || >=26.0.0`), which native CI (Node 24 ≥ 24.16.0) and the pinned nixpkgs rev (nodejs 24.16.0) both satisfy, as pre-verified in the issue. ## Verification (run in this worktree, Node 24.18.1) - `npm ci` — clean; zero warnings, **no EBADENGINE**, 0 vulnerabilities - `npm run lint` — pass - `npm run format:check` — pass - `npm test` — **66 files / 975 tests, all pass, no test edited**; `ToolPanel.test.tsx` (the `getComputedStyle()`-sensitive suite flagged in the issue) passes unchanged, as predicted — the 30.x `getComputedStyle()` changes touch length/function serialization, not the keyword `overflow-x/y` values this repo reads - `npm run build` (`tsc --noEmit && vite build`) — pass ## nix flake check — not run, and here is the honest accounting This environment has no nix and no root to install it, so the hermetic gate was not executed locally. It will also not trigger on this PR: `ci-nix.yml` path-filters to `**/*.nix`, `flake.lock`, `go.mod`, `go.sum` — by documented design (ADR-0023 §2, comment at the top of the workflow), because the web derivation uses `importNpmLock` and follows `web/package-lock.json` directly, npm dep changes cannot rot the nix build. The one way this bump could break the nix build — the Node engines floor — was checked in the issue against the pinned `flake.lock` rev: nixpkgs ships nodejs 24.16.0 ≥ 24.15.0. If you want the gate exercised anyway before merge, run `nix flake check` locally on this branch. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chore(web): jsdom 29.1.1 → 30.0.1
All checks were successful
ci / native (pull_request) Successful in 9m54s
135badd0ee
jsdom 30's sole breaking change is a Node.js floor bump to
^22.22.2 || ^24.15.0 || >=26.0.0, which both build environments already
satisfy: native CI pins Node 24 (>= 24.16.0) and the pinned nixpkgs rev
ships nodejs 24.16.0. No flake.lock change needed — the web derivation
uses importNpmLock, so the nix build follows package-lock.json directly.

The getComputedStyle() changes in 30.x affect length/function
serialization only; this repo's two call sites read keyword overflow
values and the full vitest suite (975 tests, ToolPanel.test.tsx
unchanged) passes under the new jsdom.

Closes #255

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author
Owner

[autoland] verdict: pass

[autoland] verdict: pass
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Cloonar/coding-lab!256
No description provided.