Skip to content

chore(deps-dev): bump jsdom from 25.0.1 to 29.1.1#238

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/jsdom-29.1.1
Open

chore(deps-dev): bump jsdom from 25.0.1 to 29.1.1#238
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/jsdom-29.1.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 15, 2026

Bumps jsdom from 25.0.1 to 29.1.1.

Release notes

Sourced from jsdom's releases.

v29.1.1

  • Fixed 'border-radius' computed style serialization. (@​asamuzaK)
  • Fixed computed style computation when using 'background-origin' and 'background-clip' CSS properties. (@​asamuzaK)
  • Significantly optimized initial calls to getComputedStyle(), before the cache warms up. (@​asamuzaK)

v29.1.0

  • Added basic support for the ratio CSS type. (@​asamuzaK)
  • Fixed getComputedStyle() sometimes returning outdated results after CSS was modified. (@​asamuzaK)

v29.0.2

  • Significantly improved and sped up getComputedStyle(). Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as currentcolor and system colors. (@​asamuzaK)
  • Fixed CSS 'background' and 'border' shorthand parsing. (@​asamuzaK)

v29.0.1

  • Fixed CSS parsing of 'border', 'background', and their sub-shorthands containing keywords or var(). (@​asamuzaK)
  • Fixed getComputedStyle() to return a more functional CSSStyleDeclaration object, including indexed access support, which regressed in v29.0.0.

v29.0.0

Breaking changes:

  • Node.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).

Other changes:

  • Overhauled the CSSOM implementation, replacing the @acemir/cssom and cssstyle dependencies with fresh internal implementations built on webidl2js wrappers and the css-tree parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.
  • Added CSSCounterStyleRule and CSSNamespaceRule to jsdom Windows.
  • Added cssMediaRule.matches and cssSupportsRule.matches getters.
  • Added proper media query parsing in MediaList, using css-tree instead of naive comma-splitting. Invalid queries become "not all" per spec.
  • Added cssKeyframeRule.keyText getter/setter validation.
  • Added cssStyleRule.selectorText setter validation: invalid selectors are now rejected.
  • Added styleSheet.ownerNode, styleSheet.href, and styleSheet.title.
  • Added bad port blocking per the fetch specification, preventing fetches to commonly-abused ports.
  • Improved Document initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per Document. (@​thypon)
  • Fixed a memory leak when stylesheets were removed from the document.
  • Fixed CSSStyleDeclaration modifications to properly trigger custom element reactions.
  • Fixed nested @media rule parsing.
  • Fixed CSSStyleSheet's "disallow modification" flag not being checked in all mutation methods.
  • Fixed XMLHttpRequest's response getter returning parsed JSON during the LOADING state instead of null.
  • Fixed getComputedStyle() crashing in XHTML documents when stylesheets contained at-rules such as @page or @font-face.
  • Fixed a potential hang in synchronous XMLHttpRequest caused by a race condition with the worker thread's idle timeout.

v28.1.0

  • Added blob.text(), blob.arrayBuffer(), and blob.bytes() methods.
  • Improved getComputedStyle() to account for CSS specificity when multiple rules apply. (@​asamuzaK)
  • Improved synchronous XMLHttpRequest performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.
  • Improved performance of node.getRootNode(), node.isConnected, and event.dispatchEvent() by caching the root node of document-connected trees.
  • Fixed getComputedStyle() to correctly handle !important priority. (@​asamuzaK)
  • Fixed document.getElementById() to return the first element in tree order when multiple elements share the same ID.
  • Fixed <svg> elements to no longer incorrectly proxy event handlers to the Window.
  • Fixed FileReader event timing and fileReader.result state to more closely follow the spec.

... (truncated)

Commits
  • 9b9ea7e 29.1.1
  • 07efb78 Optimize computed style comparison
  • 5f66329 Fix background-origin/background-clip in background shorthand
  • ad8af77 Fix border shorthand handling
  • 5a3e88e 29.1.0
  • 73db204 Update dependencies and dev dependencies
  • a7168a5 Support ratio CSS unit type
  • 15346e0 Fix style cache invalidation
  • 2a1e2cd 29.0.2
  • 4097d66 Resolve computed CSS values lazily in CSSStyleDeclaration
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for jsdom since your current version.

Install script changes

This version modifies prepare script that runs during installation. Review the package contents before updating.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [jsdom](https://github.com/jsdom/jsdom) from 25.0.1 to 29.1.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](jsdom/jsdom@v25.0.1...v29.1.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 29.1.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels May 15, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented May 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
get-based Ready Ready Preview, Comment May 15, 2026 5:57am

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 15, 2026

Greptile Summary

Dependabot bump of jsdom from 25.0.1 to 29.1.1, a dev-only testing dependency used by Vitest's optional jsdom environment pragma. The lock file is regenerated with updated transitive CSS-parsing packages.

  • package.json: single-line version range change from ^25.0.1 to ^29.1.1.
  • package-lock.json: jsdom 29 pulls in a new CSSOM stack (css-tree, @asamuzakjp/*, @bramus/specificity) and bumps all @csstools/* packages; these collectively raise the minimum Node 20.x requirement from any 20.x to 20.19.0+.
  • jsdom 29.0.0 also introduced bad-port blocking per the fetch spec — no tests in this repo make HTTP fetches through jsdom directly, so no test breakage is expected.

Confidence Score: 4/5

Safe to merge — jsdom is a dev-only testing dependency and is not used in the production bundle; the CI workflow resolves node-version: 20 to the latest 20.x, which satisfies the raised engine floor.

The bump is straightforward and limited to the test toolchain. The only non-trivial change is that several transitive CSS packages now declare a Node 20.19+ engine minimum, where the repo previously had no stated lower bound. The CI setup should be unaffected at runtime, but the lack of a pinned Node version file means a contributor on an older 20.x patch release could hit unexpected engine warnings locally.

package-lock.json — worth a quick scan for the new transitive @asamuzakjp/* and @bramus/specificity packages if supply-chain policy requires it.

Important Files Changed

Filename Overview
package.json Bumps jsdom devDependency from ^25.0.1 to ^29.1.1; single-line change, correct range syntax
package-lock.json Lock-file regenerated for jsdom 29.1.1; several transitive deps now require Node ^20.19.0

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[vitest.config.js\nenvironment: node] --> B{test file pragma?}
    B -->|yes: @vitest-environment jsdom| C[jsdom 29.1.1\nbrowser-like DOM env]
    B -->|no pragma| D[Node.js env\nmanual shims in _vitest-setup.js]
    C --> E[New CSSOM stack\ncss-tree plus @asamuzakjp/*]
    E --> F[Engine req: Node 20.19+ or 22.12+ or 24+]
    D --> G[fake-indexeddb\npuppeteer suite]
Loading

Reviews (1): Last reviewed commit: "chore(deps-dev): bump jsdom from 25.0.1 ..." | Re-trigger Greptile

Comment thread package-lock.json
@@ -78,13 +121,13 @@
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Transitive dep engine floor raised to Node ≥20.19.0

Several new jsdom 29 transitive packages (@asamuzakjp/css-color, @asamuzakjp/dom-selector, @asamuzakjp/generational-cache, @csstools/color-helpers, @csstools/css-calc, @csstools/css-color-parser, @csstools/css-parser-algorithms) all declare "node": "^20.19.0 || ^22.12.0 || >=24.0.0", up from the previous "node": ">=18". The CI workflow pins node-version: 20, which resolves to the latest 20.x at run time and should satisfy this, but there's no .nvmrc or .node-version file in the repo. Any contributor on Node 20.x < 20.19.0 will hit engine-requirement warnings (or failures if --engine-strict is set) when running npm ci locally. Adding a .nvmrc with 20.19 or higher would surface the requirement early.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants