Update dependency jsdom to v29#491
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
👍 @renovate[bot] |
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0fb0f5cba8
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "figma-js": "1.16.1-0", | ||
| "husky": "^9.1.7", | ||
| "jsdom": "^26.1.0", | ||
| "jsdom": "^29.0.0", |
There was a problem hiding this comment.
Raise the repo's Node floor before taking jsdom 29
If any contributor or CI job is still on Node 20.0–20.18 or Node 22.0–22.12, this bump will make vitest stop booting, because jsdom 27.0.1 raised its minimum runtime to v20.19.0+, v22.12.0+, v24.0.0+, and jsdom 29.0.0 raises the v22 floor again to 22.13.0+. This repo always loads jsdom for tests via vitest.config.ts, but package.json still doesn't advertise a matching engines floor, so the change silently drops those environments instead of failing up front. Please either keep jsdom on 26.x or raise/document the supported Node version in the same PR.
Useful? React with 👍 / 👎.
0fb0f5c to
96cb2e3
Compare
96cb2e3 to
8a6b5c6
Compare
8a6b5c6 to
134fead
Compare
134fead to
c96e53b
Compare
c96e53b to
7ab2d73
Compare
7ab2d73 to
be8b231
Compare
This PR contains the following updates:
^26.1.0→^29.0.0Release Notes
jsdom/jsdom (jsdom)
v29.0.1Compare Source
v29.0.0Compare Source
Breaking changes:
Other changes:
@acemir/cssomandcssstyledependencies with fresh internal implementations built on webidl2js wrappers and thecss-treeparser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.CSSCounterStyleRuleandCSSNamespaceRuleto jsdomWindows.cssMediaRule.matchesandcssSupportsRule.matchesgetters.MediaList, usingcss-treeinstead of naive comma-splitting. Invalid queries become"not all"per spec.cssKeyframeRule.keyTextgetter/setter validation.cssStyleRule.selectorTextsetter validation: invalid selectors are now rejected.styleSheet.ownerNode,styleSheet.href, andstyleSheet.title.Documentinitialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead perDocument. (thypon)CSSStyleDeclarationmodifications to properly trigger custom element reactions.@mediarule parsing.CSSStyleSheet's "disallow modification" flag not being checked in all mutation methods.XMLHttpRequest'sresponsegetter returning parsed JSON during theLOADINGstate instead ofnull.getComputedStyle()crashing in XHTML documents when stylesheets contained at-rules such as@pageor@font-face.XMLHttpRequestcaused by a race condition with the worker thread's idle timeout.v28.1.0Compare Source
blob.text(),blob.arrayBuffer(), andblob.bytes()methods.getComputedStyle()to account for CSS specificity when multiple rules apply. (asamuzaK)XMLHttpRequestperformance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.node.getRootNode(),node.isConnected, andevent.dispatchEvent()by caching the root node of document-connected trees.getComputedStyle()to correctly handle!importantpriority. (asamuzaK)document.getElementById()to return the first element in tree order when multiple elements share the same ID.<svg>elements to no longer incorrectly proxy event handlers to theWindow.FileReaderevent timing andfileReader.resultstate to more closely follow the spec.XMLHttpRequestencountered dispatch errors.fetch()has been used before importing jsdom, by working around undici v6/v7 incompatibilities.v28.0.0Compare Source
<iframe>and<frame>loads.WebSockets are no longer correctly throttled to one connection per origin. This is a result of the bug at nodejs/undici#4743.<a>and<area>elements in non-UTF-8 documents.XMLHttpRequestfetches andWebSocketupgrade requests to be interceptable by the new customizable resource loading. (Except synchronousXMLHttpRequests.)ArrayBuffers or typed arrays to various APIs, where they would not correctly snapshot the data.require("url").parse()deprecation warning when usingWebSockets.<iframe>,<frame>, and<img>(whencanvasis installed) to fireloadevents, noterrorevents, on non-OK HTTP responses.XMLHttpRequest.v27.4.0Compare Source
TextEncoderandTextDecoder.@exodus/bytespackage; it is now much more correct. (ChALkeR)<meta charset>or using the parent frame's encoding.Ranges were used and then the elements referred to by those ranges were removed.v27.3.0Compare Source
@acemir/cssom. (acemir)v27.2.0Compare Source
CSSGroupingRule,CSSNestedDeclarations,CSSConditionRule,CSSContainerRule,CSSScopeRule,CSSSupportsRule,CSSLayerBlockRule, andCSSLayerStatementRuleto jsdomWindows. (acemir)@acemir/cssom. (acemir)@import-ed stylesheets to be properly exposed to CSSOM, and not to overwrite the sheet created from the<link>or<style>element. (acemir)v27.1.0Compare Source
@acemir/cssom, including support for nested selectors, nested declarations, layer statements, and improved at-rule validation. (acemir)package.json"engines"field to reflect the new minimum Node.js versions needed to run jsdom, as noted in the changelog for v27.0.1.v27.0.1Compare Source
class=""attribute changes is only possible with a new version of jsdom. (asamuzaK)v27.0.0Compare Source
Changes since 26.1.0
BeforeUnloadEvent,BlobEvent,DeviceMotionEvent(omittingrequestPermission()),DeviceOrientationEvent(omittingrequestPermission()),PointerEvent,PromiseRejectionEvent, andTransitionEvent.movementXandmovementYtoMouseEvent. (These are from the Pointer Lock specification, the rest of which is not implemented.)customElements.getName(). (mash-graz)"jsdomError"events are now documented, with specifictypeproperties and other properties that depend on the type.sendTo()was renamed toforwardTo().jsdomErrorsoption toforwardTo()can be used to control which errors are sent to the Node.js console. This replaces the previousomitJSDOMErrorsboolean option."jsdomError"s for failedXMLHttpRequestfetches are no longer emitted."jsdomError"s to the Node.js console are streamlined.nwsapito@asamuzakjp/dom-selector, closing over 20 selector-related bugs.tough-cookie, which now considers URLs likehttp://localhost/to be secure contexts (per the spec), and thus will returnSecure-flagged cookies for such URLs. (colincasey)cssstyle, which brings along many improvements and fixes to theCSSStyleDeclarationobject and its properties.element.click()to fire aPointerEventinstead of aMouseEvent.<input>element'spattern=""attribute to use thevregular expression flag, instead ofu.Windowobject, including named properties and changing various data properties to accessor properties.document.createEvent()to accept a more correct set of event names.ElementInternalsaccessibility getters and setters. (They were introduced in v23.1.0, but due to inadequate test coverage never actually worked.)Object.defineProperty()on certain objects, such asHTMLSelectElementinstances.jsdom.reconfigure({ url })not updatingdocument.baseURIor properties derived from it. (This regressed in v26.1.0.)initial,inherit, andunsetkeywords, to resolve correctly. (asamuzaK)displaystyle resolution. (asamuzaK)Changes since 27.0.0-beta.3
cssstyle, which brings along various CSS parsing fixes.Configuration
📅 Schedule: Branch creation - "on sunday before 6:00am" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.