Skip to content

build: update schematics dependencies (main) (major)- - #33834

Closed
angular-robot wants to merge 1 commit into
angular:mainfrom
angular-robot:ng-renovate/main-major-schematics-dependencies
Closed

build: update schematics dependencies (main) (major)-#33834
angular-robot wants to merge 1 commit into
angular:mainfrom
angular-robot:ng-renovate/main-major-schematics-dependencies

Conversation

@angular-robot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@types/node (source) ^20.17.19^26.0.0 age adoption passing confidence
jsdom ^28.0.0^30.0.0 age adoption passing confidence

  • If you want to rebase/retry this PR, check this box

Release Notes

jsdom/jsdom (jsdom)

v30.0.1

Compare Source

  • Fixed getComputedStyle() with calc() and other functions throwing an exception, which regressed in v30.0.0. (@​asamuzaK)
  • Sped up up range operations on large documents (@​leonidaz)

v30.0.0

Compare Source

Breaking changes:

  • Node.js minimum version raised to ^22.22.2 || ^24.15.0 || >=26.0.0.

Other changes:

  • Added CSS.escape() and CSS.supports() functions. (@​asamuzaK)
  • Added 'background-position-x' and 'background-position-y' CSS properties. (@​olagokemills)
  • Fixed getComputedStyle() to convert length values into pixels. (@​asamuzaK)
  • Fixed CSS function serialization, e.g., in the return value of getPropertyValue(). (@​asamuzaK)
  • Fixed the type of error thrown by document.evaluate() (@​dokson)

v29.1.1

Compare Source

  • 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

Compare Source

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

v29.0.2

Compare Source

  • 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

Compare Source

  • 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

Compare Source

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.

See associated pull request for more information.
@angular-robot angular-robot added action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: automation This PR is targeted to only merge into the branch defined in Github [bot use only] labels Aug 11, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

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).

Suggested change
"@types/node": "^26.0.0",
"@types/node": "^22.0.0",

},
"devDependencies": {
"@types/node": "^20.17.19",
"@types/node": "^26.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

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).

Suggested change
"@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",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

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).

Suggested change
"@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",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

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.

Suggested change
"jsdom": "^30.0.0",
"jsdom": "^28.0.0",

@alan-agius4 alan-agius4 changed the title build: update schematics dependencies (main) (major) build: update schematics dependencies (main) (major)- Aug 11, 2026
@angular-robot
angular-robot deleted the ng-renovate/main-major-schematics-dependencies branch August 11, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: automation This PR is targeted to only merge into the branch defined in Github [bot use only]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants