chore(deps-dev): bump jsdom from 29.0.0 to 30.0.0 - #95
Conversation
|
@dependabot rebase |
3838171 to
7b0e870
Compare
|
Holding this one — it is authentic but cannot be merged as-is. The rebase changed what this PR does. It opened as 29.0.0 -> 29.1.1 (a patch); after That major breaks CI:
Node 20 is not in jsdom 30's supported set, and CI agrees — Unit Tests: FAILURE on this PR, while every other check passes. Provenance is fine (authentic Leaving open pending that call. |
Moves all CI/CD jobs off an end-of-life Node runtime, and unblocks #95 as a consequence. ## Node 20 is EOL Node 20 reached end-of-life on **2026-04-30**. Every job in this repo — CI, Pages deploy, and release — has been running on a runtime that no longer receives security patches. All six `node-version` pins across `ci.yml`, `deploy.yml`, and `release.yml` move to **Node 24**, the current LTS (supported to April 2028). ## This is also the real fix for #95 #95 (`jsdom` 29 → 30) fails CI, and the reported error is misleading: ``` ERROR: Coverage for lines (0%) does not meet global threshold (80%) ``` That is a **symptom, not the cause**. The actual failure is that every vitest worker crashed before running a single test: ``` Error: [vitest-pool]: Failed to start forks worker for test files .../Dialogs.test.tsx at Object.<anonymous> node_modules/jsdom/lib/api.js:12:33 ``` `jsdom@30` requires Node `^22.22.2 || ^24.15.0 || >=26.0.0`. On Node 20 it cannot load at all, so no test executed, so coverage was 0%, so the 80/75 thresholds failed. The tempting quick fixes here are both wrong: - **Pinning `jsdom` back to 29** hides the fact that CI runs an EOL runtime. - **Lowering the coverage thresholds** would mask a total test-execution failure as if it were a coverage regression. Actual coverage on `main` is healthy at **92.9% statements / 84.1% branches** — the thresholds are correct and should not be touched. Raising Node fixes the underlying condition, after which #95 can merge on its own merits. ## Deliberately not adding an `engines` field This is a browser-targeted library; Node is only a build and test concern. Declaring a Node floor in `package.json` would constrain consumers without benefiting them. ## Verification CI on this PR is itself the test — every job now runs on Node 24. Once green, I will rebase #95 onto this and confirm the jsdom 30 suite passes.
|
@dependabot rebase |
Bumps [jsdom](https://github.com/jsdom/jsdom) from 29.0.0 to 30.0.0. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Commits](jsdom/jsdom@v29.0.0...v30.0.0) --- updated-dependencies: - dependency-name: jsdom dependency-version: 29.1.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
7b0e870 to
944c820
Compare
Bumps jsdom from 29.0.0 to 30.0.0.
Release notes
Sourced from jsdom's releases.
Commits
20a01fc30.0.08c8e583Precompute WPT expectation matchesf32245cBump Node.js floor and dependencies03ef23bAdd background-position longhandsded056fTest CSS.escape() with numeric IDsd312832Convert CSS values to pixels for computed styles4e0ee41Implement CSS.escape() and CSS.supports()05eb709Fix benchmark:compare script on Windows97c1b90Fix CSS function value serialization15642baAdd benchmark comparison scriptMaintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for jsdom since your current version.