Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 5, 2025

Bumps jsdom and @types/jsdom. These dependencies needed to be updated together.
Updates jsdom from 26.1.0 to 27.0.0

Release notes

Sourced from jsdom's releases.

Version 27.0.0

Changes since 26.1.0

  • Node.js v20 is now the minimum supported version.
  • Added a variety of event constructors, even though we do not implement their associated specifications or ever fire them: BeforeUnloadEvent, BlobEvent, DeviceMotionEvent (omitting requestPermission()), DeviceOrientationEvent (omitting requestPermission()), PointerEvent, PromiseRejectionEvent, and TransitionEvent.
  • Added movementX and movementY to MouseEvent. (These are from the Pointer Lock specification, the rest of which is not implemented.)
  • Added customElements.getName(). (mash-graz)
  • Updated the virtual console:
    • "jsdomError" events are now documented, with specific type properties and other properties that depend on the type.
    • sendTo() was renamed to forwardTo().
    • The jsdomErrors option to forwardTo() can be used to control which errors are sent to the Node.js console. This replaces the previous omitJSDOMErrors boolean option.
    • "jsdomError"s for failed XMLHttpRequest fetches are no longer emitted.
    • The values that are printed when forwarding "jsdomError"s to the Node.js console are streamlined.
  • Switched our CSS selector engine from nwsapi to @asamuzakjp/dom-selector, closing over 20 selector-related bugs.
  • Upgraded tough-cookie, which now considers URLs like http://localhost/ to be secure contexts (per the spec), and thus will return Secure-flagged cookies for such URLs. (colincasey)
  • Upgraded cssstyle, which brings along many improvements and fixes to the CSSStyleDeclaration object and its properties.
  • Updated the user agent stylesheet to be derived from the HTML Standard, instead of from an old revision of Chromium.
  • Changed element.click() to fire a PointerEvent instead of a MouseEvent.
  • Changed certain events to be passive by default.
  • Changed the <input> element's pattern="" attribute to use the v regular expression flag, instead of u.
  • Fixed many specification conformance issues with the Window object, including named properties and changing various data properties to accessor properties.
  • Fixed document.createEvent() to accept a more correct set of event names.
  • Fixed the ElementInternals accessibility getters and setters. (They were introduced in v23.1.0, but due to inadequate test coverage never actually worked.)
  • Fixed using Object.defineProperty() on certain objects, such as HTMLSelectElement instances.
  • Fixed jsdom.reconfigure({ url }) not updating document.baseURI or properties derived from it. (This regressed in v26.1.0.)
  • Fixed CSS system colors, as well as the initial, inherit, and unset keywords, to resolve correctly. (asamuzaK)
  • Fixed CSS display style resolution. (asamuzaK)

Changes since 27.0.0-beta.3

  • Upgraded cssstyle, which brings along various CSS parsing fixes.

Version 27.0.0-beta.3

  • Breaking change: upgraded tough-cookie, which now considers URLs like http://localhost/ to be secure contexts (per the spec), and thus will return Secure-flagged cookies for such URLs. (colincasey)
  • Added customElements.getName(). (mash-graz)
  • Changed the <input> element's pattern="" attribute to use the v regular expression flag, instead of u.
  • Fixed jsdom.reconfigure({ url }) not updating document.baseURI or properties derived from it. This regressed in v26.1.0.
  • Fixed CSS system colors, as well as the initial, inherit, and unset keywords, to resolve correctly. This is especially important since the change in v27.0.0-beta.1 to use system colors in the user agent stylesheet. (asamuzaK)
  • Fixed CSS background property parsing and serialization. (asamuzaK)
  • Fixed CSS color parsing and serialization inside of gradients. (asamuzaK)
  • Fixed CSS display style resolution. (asamuzaK)
  • Upgraded @asamuzakjp/dom-selector, which notably fixed repeated use of the :scope selector. (asamuzaK)

Version 27.0.0-beta.2

Significantly improved specification conformance for the Window object, including named properties and changing various data properties to accessor properties. This is not likely to be breaking, but since it's a complex change to such a core object, we're happy to do another beta testing release with this included before graduating the v27 line to stable.

Additionally, updated cssstyle to v4.4.0, which brings along various conformance fixes to the CSSStyleDeclaration object and its properties.

Version 27.0.0-beta.1

Breaking changes:

... (truncated)

Changelog

Sourced from jsdom's changelog.

27.0.0

Commits
  • f2a505d Version 27.0.0
  • ab384d4 Update dependencies and dev dependencies
  • ff31107 Add passing :nth-child() in shadow DOM regresssion test
  • 4e92a8e Add passing :scope() in :not() regression test
  • c3d6940 Version 27.0.0-beta.3
  • 8073bae Use "v" instead of "u" for the pattern="" attribute
  • d77ffd0 Implement customElements.getName()
  • ac385f9 Fix reconfigure() not updating base URL caches
  • 3ccd5de Update tough-cookie to v6
  • c2de8bd Address CSS regressions in v27 beta
  • Additional commits viewable in compare view

Updates @types/jsdom from 21.1.7 to 27.0.0

Commits

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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 5, 2025
@github-actions github-actions bot enabled auto-merge (squash) October 5, 2025 15:35
Copy link

socket-security bot commented Oct 5, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​types/​jsdom@​21.1.7 ⏵ 27.0.0100 +110074 +183100
Updatedjsdom@​26.1.0 ⏵ 27.0.098 +1100100 +190100 +31

View full report

Copy link

socket-security bot commented Oct 5, 2025

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

Copy link

codecov bot commented Oct 5, 2025

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@birkskyum
Copy link
Member

birkskyum commented Oct 5, 2025

@birkskyum
Copy link
Member

Really hoped that this would be fixed after recreating - guess we're not done debugging jsdom.

@HarelM
Copy link
Collaborator

HarelM commented Oct 9, 2025

If they haven't released a new version I'm not sure how anything can be fixed... Am I missing anything?

@birkskyum
Copy link
Member

birkskyum commented Oct 9, 2025

There was a new version released of https://github.com/asamuzaK/domSelector (npm) after this fix was applied. The new version of dom-selector should be within the range that the jsdom rely on, so jsdom 27 should be getting the updated version of it, and as far as I can tell (by looking at lockfile / node_modules) that is the case.

@HarelM
Copy link
Collaborator

HarelM commented Oct 9, 2025

Ahh, I see what you mean - I do see it in the lock file: dom-selector: 6.6.1.
But it seems like it's not enough to fix the failing tests here, I also think there are two issue here, not just the selection but also the simulation of the scroll event.
IDK... Maybe this will be solved in a future version... I don't know how to politely ask them to look into it...

@birkskyum
Copy link
Member

birkskyum commented Oct 9, 2025

A fresh install of jsdom 27 no longer trips over the click repro i made, so the issue appear to have been solved in that specific case, causing me to think the changes to new dom-selector versions does pass through. Unfortunately, my repro appear to only represent one of potentially several issues we see - so another repro will likely be necessary.

@birkskyum
Copy link
Member

birkskyum commented Oct 9, 2025

I've submitted a reproduction, that show jsdom 26 can pick up on a class that's removed after a 1s timeout, and jsdom 27 doesn't pick up on the change. This should at least showcase the issue we see with the cooperative gestures.

@birkskyum
Copy link
Member

@dependabot recreate

Bumps [jsdom](https://github.com/jsdom/jsdom) and [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom). These dependencies needed to be updated together.

Updates `jsdom` from 26.1.0 to 27.0.0
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](jsdom/jsdom@26.1.0...27.0.0)

Updates `@types/jsdom` from 21.1.7 to 27.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/jsdom"
  dependency-version: 27.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/multi-214b01377a branch from 3fe63e1 to 8623c42 Compare October 16, 2025 14:08
@birkskyum
Copy link
Member

birkskyum commented Oct 16, 2025

Alright, two rounds of JSDOM 27 repros and fixes, and we're now down to 1 failing test 🎉

For the last issue (cooperative gestures overlay), I've made another repro here:

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.

2 participants