Skip to content

chore(deps): update dependency jsdom to v29#428

Merged
WomB0ComB0 merged 7 commits intomasterfrom
renovate/jsdom-29.x
Apr 10, 2026
Merged

chore(deps): update dependency jsdom to v29#428
WomB0ComB0 merged 7 commits intomasterfrom
renovate/jsdom-29.x

Conversation

@WomB0ComB0
Copy link
Copy Markdown
Owner

@WomB0ComB0 WomB0ComB0 commented Mar 26, 2026

This PR contains the following updates:

Package Change Age Confidence
jsdom ^28.0.0^29.0.0 age confidence

Release Notes

jsdom/jsdom (jsdom)

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.

Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • At any time (no schedule defined)
  • 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.


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

This PR has been generated by Renovate Bot.

Summary by CodeRabbit

  • Chores
    • Updated minimum Node.js version requirement to 22.13.0
    • Updated development dependencies to latest versions

@WomB0ComB0 WomB0ComB0 added the dependencies Pull requests that update a dependency file label Mar 26, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
portfolio Error Error Apr 10, 2026 7:05pm

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 26, 2026

Warning

Rate limit exceeded

@WomB0ComB0 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 4 minutes and 38 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 4 minutes and 38 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 3338f01a-7bb0-4c1c-9517-56c4802fe9ac

📥 Commits

Reviewing files that changed from the base of the PR and between 9a0e8c0 and 00bea4a.

📒 Files selected for processing (1)
  • package.json
📝 Walkthrough

Walkthrough

Two configuration files updated: Node.js engine requirement bumped from 20.0.0 to 22.13.0, jsdom dev dependency updated from 28.0.0 to 29.0.0, and Sentry sourcemaps cleanup configuration modified from pattern-based deletion to a boolean flag.

Changes

Cohort / File(s) Summary
Sentry Configuration
next.config.ts
Updated sourcemaps upload cleanup behavior from pattern-based filesToDeleteAfterUpload to boolean deleteSourcemapsAfterUpload flag.
Dependencies & Runtime
package.json
Upgraded Node.js engine requirement to 22.13.0 and bumped jsdom dev dependency to 29.0.0.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title refers to a real part of the changeset (jsdom update to v29), but the PR also includes significant changes to Node.js engine requirements and Sentry configuration that are not mentioned.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/jsdom-29.x

Warning

Review ran into problems

🔥 Problems

Timed out fetching pipeline failures after 30000ms


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the jsdom dependency to its latest major version, v29. This upgrade brings substantial improvements to the CSS Object Model (CSSOM) implementation, enhances performance, and addresses various bugs, while also introducing a new minimum Node.js version requirement for compatibility.

Highlights

  • Dependency Update: Updated the jsdom dependency from v28 to v29, which is a major version bump. This update includes significant changes to the CSS Object Model (CSSOM) implementation, performance improvements, and several bug fixes.
  • Breaking Change: The new jsdom version requires Node.js v22.13.0+ as the minimum supported version.
  • CSSOM Overhaul: The CSSOM implementation has been overhauled, replacing @acemir/cssom and cssstyle with internal implementations based on webidl2js and css-tree, leading to improved serialization, parsing, and API behavior.
  • Performance and Fixes: Improved Document initialization performance, fixed memory leaks, corrected CSSStyleDeclaration modifications, and resolved various issues with XMLHttpRequest and getComputedStyle().

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

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

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 the jsdom dependency to version 29. A review comment points out that this update requires Node.js v22.13.0 or higher, which conflicts with the current engines.node setting of >=20.0.0. It is recommended to update the engines.node field to >=22.13.0 to prevent potential runtime issues.

Comment thread package.json
"@vitest/ui": "4.1.0",
"cross-env": "^10.1.0",
"jsdom": "^28.0.0",
"jsdom": "^29.0.0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

The update to jsdom v29 introduces a breaking change, requiring Node.js v22.13.0 or higher. The current engines.node setting in package.json (">=20.0.0") is not compatible with this new minimum requirement. This could lead to unexpected errors or failures if the project is run on Node.js versions below v22.13.0. It is recommended to update the engines.node field to ">=22.13.0" to prevent potential runtime issues.

@WomB0ComB0
Copy link
Copy Markdown
Owner Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@WomB0ComB0 WomB0ComB0 merged commit dee4d59 into master Apr 10, 2026
11 of 14 checks passed
@WomB0ComB0 WomB0ComB0 deleted the renovate/jsdom-29.x branch April 10, 2026 19:27
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant