feat(deps): update dependency jsdom to v30 #46

Open
bot-renovate wants to merge 1 commit from chore/jsdom-30.x into main
Collaborator

This PR contains the following updates:

Package Change Age Confidence
jsdom ^29.0.1 → ^30.0.0 age confidence
@types/jsdom (source) ^28.0.1 → ^30.0.0 age confidence

Release Notes

jsdom/jsdom (jsdom)

v30.1.1

Compare Source

  • Fixed spurious window blur and focusout events and incorrect event.relatedTarget values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (@​asamuzaK)
  • Fixed focus and blur behavior across frames, and focusing the document's viewport through document.documentElement.focus(). (@​asamuzaK)
  • Fixed focus targets removed or disabled by blur listeners becoming active, and text selections made by focus and blur listeners being overwritten. (@​asamuzaK)
  • Fixed element.focus() incorrectly focusing disabled form controls and <input type="hidden"> elements with tabindex="". (@​scttcper)
  • Fixed invalid style.setProperty() calls changing existing !important priorities, serialized styles, or mutation records. (@​FedgeNo)
  • Fixed !important handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (@​FedgeNo)
  • Fixed <noscript> parsing with includeNodeLocations: true or inside frames to honor the runScripts option.
  • Fixed the storageQuota option being ignored by frames.
  • Fixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.
  • Fixed exceptions caused by truncated charset parameters in <meta> elements, and encoding detection incorrectly using incomplete <meta> tags. (@​FedgeNo)
  • Fixed XML serialization errors for namespaces named constructor, toString, __proto__, or "null", and incorrect reuse of namespace prefixes declared on sibling elements.
  • Fixed element.innerHTML and element.outerHTML in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.
  • Fixed selector matching for :lang(), :nth-child(... of ...) after mutations, and :has() with duplicate IDs or nested logical pseudo-classes. (@​asamuzaK)

v30.1.0

Compare Source

jsdom is feeling the AGI!

This release is dedicated to @​scttcper, who unleashed @​codex upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.

We really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.

Thanks to @​scttcper, as well as all the other contributors of this release (most of whom were AI-assisted).

  • Added named access to elements on document, such as document.myForm for <form name="myForm">. (@​vojtisprime11)
  • Added QuotaExceededError, including its use for storage quota errors and oversized crypto.getRandomValues() requests.
  • Added support for the relaxed DOM naming rules when creating elements, attributes, and document types.
  • Improved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (@​scttcper, @​erezrokah)
  • Improved performance of getComputedStyle(), style changes, and CSS serialization. (@​scttcper, @​jhult)
  • Improved performance of event dispatch, form control and label lookups, and updates to <select> elements and radio button groups. (@​scttcper)
  • Reduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (@​scttcper)
  • Changed window.close() to preserve access to the document and its DOM through retained references.
  • Fixed element.querySelectorAll() returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (@​asamuzaK)
  • Fixed case sensitivity in CSS attribute selectors, including selectors matching data-state="", title="", and other case-sensitive values. (@​asamuzaK)
  • Fixed document.querySelector() failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (@​vojtisprime11)
  • Fixed :focus matching in shadow trees. (@​asamuzaK)
  • Fixed DOM insertion and replacement, including valid document.replaceChildren() calls, invalid document element and doctype placements, and mutations during element.replaceWith().
  • Fixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.
  • Fixed queued events and navigation continuing after window.close() or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (@​scttcper)
  • Fixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.
  • Fixed request cancellation across redirects, during pending requestInterceptor() callbacks, and when reusing an XMLHttpRequest after aborting it.
  • Fixed resource loading and JSDOM.fromURL() potentially hanging when response handling throws and response stream cleanup does not finish.
  • Fixed successful cached resource loads being treated as aborted.
  • Fixed getComputedStyle() and document.styleSheets using the wrong stylesheet order after inserting or updating <style> elements.
  • Fixed getComputedStyle() ignoring nested @import and @media rules in imported stylesheets, and returning stale results after imports finish loading.
  • Fixed style invalidation, stylesheet removal, and frame source updates in shadow trees.
  • Fixed repeated getComputedStyle() calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (@​scttcper)
  • Fixed computed border widths, including borderless elements incorrectly reporting 16px, which regressed in v30.0.0. (@​Alberto-BaseNet)
  • Fixed getComputedStyle() to resolve 'font-weight' keywords to numeric values. (@​tianrking)
  • Fixed getComputedStyle() to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in 'font-size' math functions. (@​soroushm)
  • Fixed serialization of min() and max() containing nested calc(), which regressed in v30.0.0. (@​asamuzaK)
  • Fixed CSS values mixing lengths or percentages with math functions, such as 'grid-template-columns' values containing both 100px and calc(). (@​rome-xi)
  • Fixed parsing of 'background' and 'border' shorthands with adjacent components, such as url(a.png)no-repeat, including a crash when parsing inline styles. Also fixed handling of invalid shorthand assignments and escaped or unusual characters in CSS declarations. (@​asamuzaK)
  • Fixed parsing of unitless zero values in 'flex' shorthands, such as 35 1 0, and rejection of negative 'flex-basis' lengths and percentages. (@​asamuzaK)
  • Fixed shorthand style assignments producing extra mutation records and custom element callbacks for intermediate values. (@​scttcper)
  • Fixed Range and Selection handling of CDATA sections, including boundary offsets and range cloning, extraction, deletion, insertion, and stringification. (@​scttcper)
  • Fixed text.normalize() incorrectly removing the text node or merging its siblings. (@​scttcper)
  • Fixed cloning and importing CDATA sections and processing instructions whose contents have been modified, and serialization of CDATA sections adopted into HTML documents.
  • Fixed stale named-property collections on window, and incorrect named access from empty or namespaced id="" and name="" values. (@​scttcper)
  • Fixed elements in documents created with DOMParser or document.implementation.createHTMLDocument() appearing as named properties on window and being retained in memory. (@​Iaotle)
  • Fixed memory leaks from mutation observers retaining observed nodes, abort signals retaining removed event listeners, and storage event tracking retaining closed windows. (@​scttcper)
  • Fixed storage events being sent to windows created after the storage change, and ensured surviving recipients still receive events when the source document is destroyed.
  • Fixed attribute lookups after namespace prefix changes, and namespaced attributes incorrectly affecting ID lookups and element behavior. (@​scttcper)
  • Fixed input.list in detached element trees. (@​scttcper)
  • Fixed attr.ownerDocument after setting an attribute node on an element in another document or adopting its element. (@​Kjubikstronk)
  • Fixed fresh element.getElementsByTagName() calls using the previous document's case-sensitivity rules after adoption between HTML and XML documents. (@​Kjubikstronk)
  • Fixed element.tagName returning stale casing after adoption between HTML and XML documents.
  • Fixed radio button grouping and checkedness updates for controls with different form owners, controls outside their form, unnamed controls, and canceled clicks.
  • Fixed <select> selection updates when moving options, and unintended selection resets when moving a whole <select> or changing unrelated descendants.
  • Fixed cloning <input> elements to preserve input.indeterminate.
  • Fixed focus state after removing a focused element or its ancestor, including inside shadow trees.
  • Fixed script execution when inserting children into a connected, empty <script>. (@​Kjubikstronk)
  • Fixed incorrect script execution after changes to src="", and handling of type="", for="", and event="".
  • Fixed document.currentScript during nested script execution and scripts in shadow trees.
  • Fixed event dispatch, window.event, and default passive listener handling for non-node event targets, and event dispatch when user code modifies window.constructor.
  • Fixed volumechange and ratechange events to fire asynchronously. (@​christianaurichzm)
  • Fixed DOM APIs accepting user-created proxies around DOM objects where genuine DOM objects are required.
  • Fixed XPath iterator invalidation after DOM mutations and errors for invalid result types.
  • Fixed NodeIterator traversal when its filter removes nodes.
  • Fixed fileReader.readAsText() to honor the blob's MIME type charset when no supported explicit encoding is supplied.
  • Fixed fractional seconds in time input parsing and serialization. (@​Jaybhade)
  • Fixed large input.valueAsNumber assignments for time and local date/time inputs.
  • Fixed hard wrapping of <textarea> values to use the numeric textarea.cols value.
  • Fixed document.readyState to be "complete" for documents created with document.implementation.createDocument() and document.implementation.createHTMLDocument().
  • Fixed element.translate for empty translate="" values and elements without a parent.
  • Fixed XML parsing of lone surrogates to replace them with the Unicode replacement character.
  • Fixed node.lookupNamespaceURI() for the xml and xmlns prefixes. (@​vojtisprime11)
  • Fixed <base> elements to ignore data: and javascript: URLs. (@​vojtisprime11)
  • Fixed svgElement.viewportElement inside <symbol> elements.
  • Fixed the default blobEvent.timecode to be NaN.
  • Fixed the object shape and property descriptors of CSS.

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)

Configuration

📅 Schedule: (in timezone Europe/Paris)

  • 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 is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


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

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [jsdom](https://github.com/jsdom/jsdom) | [`^29.0.1` → `^30.0.0`](https://renovatebot.com/diffs/npm/jsdom/29.1.1/30.1.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/jsdom/30.1.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsdom/29.1.1/30.1.1?slim=true) | | [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jsdom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom)) | [`^28.0.1` → `^30.0.0`](https://renovatebot.com/diffs/npm/@types%2fjsdom/28.0.3/30.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fjsdom/30.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fjsdom/28.0.3/30.0.0?slim=true) | --- ### Release Notes <details> <summary>jsdom/jsdom (jsdom)</summary> ### [`v30.1.1`](https://github.com/jsdom/jsdom/releases/tag/v30.1.1) [Compare Source](https://github.com/jsdom/jsdom/compare/v30.1.0...v30.1.1) - Fixed spurious window `blur` and `focusout` events and incorrect `event.relatedTarget` values when focusing an element after removing the previously focused element, which regressed in v30.1.0. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed focus and blur behavior across frames, and focusing the document's viewport through `document.documentElement.focus()`. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed focus targets removed or disabled by `blur` listeners becoming active, and text selections made by focus and blur listeners being overwritten. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed `element.focus()` incorrectly focusing disabled form controls and `<input type="hidden">` elements with `tabindex=""`. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed invalid `style.setProperty()` calls changing existing `!important` priorities, serialized styles, or mutation records. ([@&#8203;FedgeNo](https://github.com/FedgeNo)) - Fixed `!important` handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. ([@&#8203;FedgeNo](https://github.com/FedgeNo)) - Fixed `<noscript>` parsing with `includeNodeLocations: true` or inside frames to honor the `runScripts` option. - Fixed the `storageQuota` option being ignored by frames. - Fixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark. - Fixed exceptions caused by truncated `charset` parameters in `<meta>` elements, and encoding detection incorrectly using incomplete `<meta>` tags. ([@&#8203;FedgeNo](https://github.com/FedgeNo)) - Fixed XML serialization errors for namespaces named `constructor`, `toString`, `__proto__`, or `"null"`, and incorrect reuse of namespace prefixes declared on sibling elements. - Fixed `element.innerHTML` and `element.outerHTML` in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings. - Fixed selector matching for `:lang()`, `:nth-child(... of ...)` after mutations, and `:has()` with duplicate IDs or nested logical pseudo-classes. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) ### [`v30.1.0`](https://github.com/jsdom/jsdom/releases/tag/v30.1.0) [Compare Source](https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.0) jsdom is feeling the AGI! This release is dedicated to [@&#8203;scttcper](https://github.com/scttcper), who unleashed [@&#8203;codex](https://github.com/codex) upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well. We really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time. Thanks to [@&#8203;scttcper](https://github.com/scttcper), as well as all the other contributors of this release (most of whom were AI-assisted). - Added named access to elements on `document`, such as `document.myForm` for `<form name="myForm">`. ([@&#8203;vojtisprime11](https://github.com/vojtisprime11)) - Added `QuotaExceededError`, including its use for storage quota errors and oversized `crypto.getRandomValues()` requests. - Added support for the relaxed DOM naming rules when creating elements, attributes, and document types. - Improved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. ([@&#8203;scttcper](https://github.com/scttcper), [@&#8203;erezrokah](https://github.com/erezrokah)) - Improved performance of `getComputedStyle()`, style changes, and CSS serialization. ([@&#8203;scttcper](https://github.com/scttcper), [@&#8203;jhult](https://github.com/jhult)) - Improved performance of event dispatch, form control and label lookups, and updates to `<select>` elements and radio button groups. ([@&#8203;scttcper](https://github.com/scttcper)) - Reduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. ([@&#8203;scttcper](https://github.com/scttcper)) - Changed `window.close()` to preserve access to the document and its DOM through retained references. - Fixed `element.querySelectorAll()` returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed case sensitivity in CSS attribute selectors, including selectors matching `data-state=""`, `title=""`, and other case-sensitive values. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed `document.querySelector()` failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. ([@&#8203;vojtisprime11](https://github.com/vojtisprime11)) - Fixed `:focus` matching in shadow trees. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed DOM insertion and replacement, including valid `document.replaceChildren()` calls, invalid document element and doctype placements, and mutations during `element.replaceWith()`. - Fixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees. - Fixed queued events and navigation continuing after `window.close()` or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading. - Fixed request cancellation across redirects, during pending `requestInterceptor()` callbacks, and when reusing an `XMLHttpRequest` after aborting it. - Fixed resource loading and `JSDOM.fromURL()` potentially hanging when response handling throws and response stream cleanup does not finish. - Fixed successful cached resource loads being treated as aborted. - Fixed `getComputedStyle()` and `document.styleSheets` using the wrong stylesheet order after inserting or updating `<style>` elements. - Fixed `getComputedStyle()` ignoring nested `@import` and `@media` rules in imported stylesheets, and returning stale results after imports finish loading. - Fixed style invalidation, stylesheet removal, and frame source updates in shadow trees. - Fixed repeated `getComputedStyle()` calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed computed border widths, including borderless elements incorrectly reporting `16px`, which regressed in v30.0.0. ([@&#8203;Alberto-BaseNet](https://github.com/Alberto-BaseNet)) - Fixed `getComputedStyle()` to resolve `'font-weight'` keywords to numeric values. ([@&#8203;tianrking](https://github.com/tianrking)) - Fixed `getComputedStyle()` to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in `'font-size'` math functions. ([@&#8203;soroushm](https://github.com/soroushm)) - Fixed serialization of `min()` and `max()` containing nested `calc()`, which regressed in v30.0.0. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed CSS values mixing lengths or percentages with math functions, such as `'grid-template-columns'` values containing both `100px` and `calc()`. ([@&#8203;rome-xi](https://github.com/rome-xi)) - Fixed parsing of `'background'` and `'border'` shorthands with adjacent components, such as `url(a.png)no-repeat`, including a crash when parsing inline styles. Also fixed handling of invalid shorthand assignments and escaped or unusual characters in CSS declarations. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed parsing of unitless zero values in `'flex'` shorthands, such as `35 1 0`, and rejection of negative `'flex-basis'` lengths and percentages. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed shorthand style assignments producing extra mutation records and custom element callbacks for intermediate values. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed `Range` and `Selection` handling of CDATA sections, including boundary offsets and range cloning, extraction, deletion, insertion, and stringification. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed `text.normalize()` incorrectly removing the text node or merging its siblings. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed cloning and importing CDATA sections and processing instructions whose contents have been modified, and serialization of CDATA sections adopted into HTML documents. - Fixed stale named-property collections on `window`, and incorrect named access from empty or namespaced `id=""` and `name=""` values. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed elements in documents created with `DOMParser` or `document.implementation.createHTMLDocument()` appearing as named properties on `window` and being retained in memory. ([@&#8203;Iaotle](https://github.com/Iaotle)) - Fixed memory leaks from mutation observers retaining observed nodes, abort signals retaining removed event listeners, and storage event tracking retaining closed windows. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed `storage` events being sent to windows created after the storage change, and ensured surviving recipients still receive events when the source document is destroyed. - Fixed attribute lookups after namespace prefix changes, and namespaced attributes incorrectly affecting ID lookups and element behavior. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed `input.list` in detached element trees. ([@&#8203;scttcper](https://github.com/scttcper)) - Fixed `attr.ownerDocument` after setting an attribute node on an element in another document or adopting its element. ([@&#8203;Kjubikstronk](https://github.com/Kjubikstronk)) - Fixed fresh `element.getElementsByTagName()` calls using the previous document's case-sensitivity rules after adoption between HTML and XML documents. ([@&#8203;Kjubikstronk](https://github.com/Kjubikstronk)) - Fixed `element.tagName` returning stale casing after adoption between HTML and XML documents. - Fixed radio button grouping and checkedness updates for controls with different form owners, controls outside their form, unnamed controls, and canceled clicks. - Fixed `<select>` selection updates when moving options, and unintended selection resets when moving a whole `<select>` or changing unrelated descendants. - Fixed cloning `<input>` elements to preserve `input.indeterminate`. - Fixed focus state after removing a focused element or its ancestor, including inside shadow trees. - Fixed script execution when inserting children into a connected, empty `<script>`. ([@&#8203;Kjubikstronk](https://github.com/Kjubikstronk)) - Fixed incorrect script execution after changes to `src=""`, and handling of `type=""`, `for=""`, and `event=""`. - Fixed `document.currentScript` during nested script execution and scripts in shadow trees. - Fixed event dispatch, `window.event`, and default passive listener handling for non-node event targets, and event dispatch when user code modifies `window.constructor`. - Fixed `volumechange` and `ratechange` events to fire asynchronously. ([@&#8203;christianaurichzm](https://github.com/christianaurichzm)) - Fixed DOM APIs accepting user-created proxies around DOM objects where genuine DOM objects are required. - Fixed XPath iterator invalidation after DOM mutations and errors for invalid result types. - Fixed `NodeIterator` traversal when its filter removes nodes. - Fixed `fileReader.readAsText()` to honor the blob's MIME type charset when no supported explicit encoding is supplied. - Fixed fractional seconds in time input parsing and serialization. ([@&#8203;Jaybhade](https://github.com/Jaybhade)) - Fixed large `input.valueAsNumber` assignments for time and local date/time inputs. - Fixed hard wrapping of `<textarea>` values to use the numeric `textarea.cols` value. - Fixed `document.readyState` to be `"complete"` for documents created with `document.implementation.createDocument()` and `document.implementation.createHTMLDocument()`. - Fixed `element.translate` for empty `translate=""` values and elements without a parent. - Fixed XML parsing of lone surrogates to replace them with the Unicode replacement character. - Fixed `node.lookupNamespaceURI()` for the `xml` and `xmlns` prefixes. ([@&#8203;vojtisprime11](https://github.com/vojtisprime11)) - Fixed `<base>` elements to ignore `data:` and `javascript:` URLs. ([@&#8203;vojtisprime11](https://github.com/vojtisprime11)) - Fixed `svgElement.viewportElement` inside `<symbol>` elements. - Fixed the default `blobEvent.timecode` to be `NaN`. - Fixed the object shape and property descriptors of `CSS`. ### [`v30.0.1`](https://github.com/jsdom/jsdom/releases/tag/v30.0.1) [Compare Source](https://github.com/jsdom/jsdom/compare/v30.0.0...v30.0.1) - Fixed `getComputedStyle()` with `calc()` and other functions throwing an exception, which regressed in v30.0.0. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Sped up up range operations on large documents ([@&#8203;leonidaz](https://github.com/leonidaz)) ### [`v30.0.0`](https://github.com/jsdom/jsdom/releases/tag/v30.0.0) [Compare Source](https://github.com/jsdom/jsdom/compare/v29.1.1...v30.0.0) 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. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Added `'background-position-x'` and `'background-position-y'` CSS properties. ([@&#8203;olagokemills](https://github.com/olagokemills)) - Fixed `getComputedStyle()` to convert length values into pixels. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed CSS function serialization, e.g., in the return value of `getPropertyValue()`. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed the type of error thrown by `document.evaluate()` ([@&#8203;dokson](https://github.com/dokson)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Paris) - 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 is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDQuMTA2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImJvdCIsIm1ham9yIiwicmVub3ZhdGUiXX0=-->
feat(deps): update dependency jsdom to v30
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Successful in 2m11s
8741ada80f
bot-renovate force-pushed chore/jsdom-30.x from 8741ada80f
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Successful in 2m11s
to b4a6c90502
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Successful in 3m11s
2026-09-07 06:34:13 +00:00
Compare
bot-renovate force-pushed chore/jsdom-30.x from b4a6c90502
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Successful in 3m11s
to 7e60840fef
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Failing after 10m16s
2026-09-25 12:03:17 +00:00
Compare
bot-renovate force-pushed chore/jsdom-30.x from 7e60840fef
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Failing after 10m16s
to c02dba74c8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Successful in 17m5s
2026-09-25 13:36:19 +00:00
Compare
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci: resume / CI Pipeline (pull_request) Successful in 17m5s
Required
Details
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin chore/jsdom-30.x:chore/jsdom-30.x
git switch chore/jsdom-30.x
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
cjournois/resume!46
No description provided.