build: update schematics dependencies (main) (major)- - #33834
build: update schematics dependencies (main) (major)-#33834angular-robot wants to merge 1 commit into
Conversation
See associated pull request for more information.
There was a problem hiding this comment.
Code Review
This pull request updates dependency versions in several package.json files, upgrading @types/node to ^26.0.0 and jsdom to ^30.0.0. The review feedback correctly identifies that Node.js 26 is not yet released, making the @types/node upgrade invalid and likely to cause type-checking failures. Additionally, upgrading jsdom to ^30.0.0 raises the minimum Node.js requirement, breaking compatibility with Node.js v18 and v20 which are still supported. The reviewer suggests using ^22.0.0 for @types/node and reverting the jsdom upgrade.
| }, | ||
| "devDependencies": { | ||
| "@types/node": "^20.17.19", | ||
| "@types/node": "^26.0.0", |
There was a problem hiding this comment.
Upgrading @types/node to ^26.0.0 is invalid because Node.js 26 is not yet released, and @types/node versions correspond to Node.js major versions. This version mismatch can cause type-checking failures and compatibility issues with the project's TypeScript version. Use a version matching the supported Node.js LTS versions (e.g., ^20.17.19 or ^22.0.0).
| "@types/node": "^26.0.0", | |
| "@types/node": "^22.0.0", |
| }, | ||
| "devDependencies": { | ||
| "@types/node": "^20.17.19", | ||
| "@types/node": "^26.0.0", |
There was a problem hiding this comment.
Upgrading @types/node to ^26.0.0 is invalid because Node.js 26 is not yet released, and @types/node versions correspond to Node.js major versions. This version mismatch can cause type-checking failures and compatibility issues with the project's TypeScript version. Use a version matching the supported Node.js LTS versions (e.g., ^20.17.19 or ^22.0.0).
| "@types/node": "^26.0.0", | |
| "@types/node": "^22.0.0", |
| "@types/express": "^5.0.1", | ||
| "@types/jasmine": "~6.0.0", | ||
| "@types/node": "^20.17.19", | ||
| "@types/node": "^26.0.0", |
There was a problem hiding this comment.
Upgrading @types/node to ^26.0.0 is invalid because Node.js 26 is not yet released, and @types/node versions correspond to Node.js major versions. This version mismatch can cause type-checking failures and compatibility issues with the project's TypeScript version. Use a version matching the supported Node.js LTS versions (e.g., ^20.17.19 or ^22.0.0).
| "@types/node": "^26.0.0", | |
| "@types/node": "^22.0.0", |
| "karma-jasmine": "~5.1.0", | ||
| "karma": "~6.4.0", | ||
| "jsdom": "^28.0.0", | ||
| "jsdom": "^30.0.0", |
There was a problem hiding this comment.
Upgrading jsdom to ^30.0.0 introduces a breaking change that raises the minimum Node.js version to ^22.22.2 || ^24.15.0 || >=26.0.0. Since Angular still supports Node.js v18 and v20, this upgrade will break compatibility for users running on those supported LTS versions. Revert to ^28.0.0 to maintain compatibility.
| "jsdom": "^30.0.0", | |
| "jsdom": "^28.0.0", |
This PR contains the following updates:
^20.17.19→^26.0.0^28.0.0→^30.0.0Release Notes
jsdom/jsdom (jsdom)
v30.0.1Compare Source
getComputedStyle()withcalc()and other functions throwing an exception, which regressed in v30.0.0. (@asamuzaK)v30.0.0Compare Source
Breaking changes:
^22.22.2 || ^24.15.0 || >=26.0.0.Other changes:
CSS.escape()andCSS.supports()functions. (@asamuzaK)'background-position-x'and'background-position-y'CSS properties. (@olagokemills)getComputedStyle()to convert length values into pixels. (@asamuzaK)getPropertyValue(). (@asamuzaK)document.evaluate()(@dokson)v29.1.1Compare Source
'border-radius'computed style serialization. (@asamuzaK)'background-origin'and'background-clip'CSS properties. (@asamuzaK)getComputedStyle(), before the cache warms up. (@asamuzaK)v29.1.0Compare Source
getComputedStyle()sometimes returning outdated results after CSS was modified. (@asamuzaK)v29.0.2Compare Source
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 ascurrentcolorand system colors. (@asamuzaK)'background' and'border'shorthand parsing. (@asamuzaK)v29.0.1Compare Source
'border','background', and their sub-shorthands containing keywords orvar(). (@asamuzaK)getComputedStyle()to return a more functionalCSSStyleDeclarationobject, including indexed access support, which regressed in v29.0.0.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.