build: update dependency jsdom to v29 (main)#32770
build: update dependency jsdom to v29 (main)#32770angular-robot wants to merge 1 commit intoangular:mainfrom
Conversation
See associated pull request for more information.
There was a problem hiding this comment.
Code Review
This pull request updates the jsdom dependency from version 28.1.0 to 29.0.0, a major version update. The changes are reflected in package.json files and the pnpm-lock.yaml lockfile, including updates to transitive dependencies. According to the release notes, this version of jsdom introduces a breaking change related to the minimum supported Node.js version and includes a significant overhaul of its CSSOM implementation. The lockfile has been updated accordingly. No other code changes are included in this pull request.
There was a problem hiding this comment.
Code Review
This pull request updates the jsdom dependency from 28.1.0 to 29.0.0. This is a major version update that, according to the release notes, introduces a breaking change by requiring Node.js v22.13.0+ (previously v22.12.0+). The update also brings significant improvements, including a completely overhauled CSSOM implementation, which removes dependencies on @acemir/cssom and cssstyle, along with numerous bug fixes and performance enhancements. The changes to package.json files and the pnpm-lock.yaml are consistent and reflect this upgrade. As long as the CI pipeline passes, this update is beneficial and recommended for merging.
There was a problem hiding this comment.
Code Review
This pull request updates the jsdom dependency from version 28.1.0 to 29.0.0. This is a major version update which introduces some breaking changes, most notably an increase in the minimum required Node.js v22 version. The changes in package.json files and the pnpm-lock.yaml are consistent with this update and the release notes for jsdom v29. The lockfile correctly reflects the updated main dependency, its new transitive dependencies, and the removal of old ones.
This PR contains the following updates:
28.1.0→29.0.0Release Notes
jsdom/jsdom (jsdom)
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.