Repository navigation
chore(deps): update dependency jsdom to v30 - #214
renovate[bot] wants to merge 1 commit into
Conversation
fb8aa0e to
10634b6
Compare
10634b6 to
503bfbe
Compare
22a583e to
bb87251
Compare
bad3e66 to
08e4e93
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
| Layer / File(s) | Summary |
|---|---|
Update jsdom dev dependency package.json |
The development dependency jsdom was upgraded from version 29.1.1 to 30.0.1. |
Priority:
Estimated code review effort: 1 (Trivial) | ~3 minutes
Change: Other
Suggested reviewers: devsecninja
Merge Risk: 
Minimal · previous review e7e0b
-
No concrete issue identified in the jsdom upgrade prevents merging after normal checks.
Architecture risk: 
Low · up to e7e0b
-
The change affects 1 system.
Changed systems:
package.jsonArchitecture concerns
No architecture-level concerns identified.Review details
-
Systems and components
- observed — package.json (service) was modified; 1 changed file maps to changed impact.
Before / after behavior
- observed — Modified behavior in package.json: The
jsdomdev dependency version changed from29.1.1to30.0.1.
-
🚥 Pre-merge checks | ✅ 5
-
✅ Passed checks (5 passed)
-
Check name Status Explanation Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled. Title check ✅ Passed The title clearly and concisely describes the dependency update from jsdom 29.1.1 to the v30 release line. Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0… Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request. Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
-
✨ Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
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.
Comment @coderabbitai help to get the list of available commands.
e7e0bb9 to
7c4bf2c
Compare
31cf1c8 to
ebb4f1d
Compare
c719f13 to
b83ad4d
Compare
ab87961 to
71f0dd6
Compare
71f0dd6 to
2a00684
Compare
This PR contains the following updates:
29.1.1→30.1.3Release Notes
jsdom/jsdom (jsdom)
v30.1.3Compare Source
getComputedStyle()and computed CSS property reads, including with stylesheets containing attribute selectors. (@scttcper, @asamuzaK)XMLHttpRequestreusing credentials supplied toxhr.open()after cross-origin redirects, including in response to authentication challenges from the destination.XMLHttpRequestincorrectly sending and accepting cookies after cross-origin redirects back to the document's origin whenxhr.withCredentialsis false.calc(0px - @submenu_space), while parsing documents, stylesheets, and style declarations. (@rnavarro)getComputedStyle()ignoring style rules nested inside multiple@mediarules.getComputedStyle()returning unresolved or inconsistent shorthand values, including for 'background', 'border', 'flex', 'font', 'margin', and 'padding', and incorrect shorthand defaults and inheritance.color-mix()results, which regressed in v29.0.2.currentcolorborder colors incorrectly becoming transparent when 'color' useslight-dark()or relative color syntax.[data-a|=""]failing to match empty values and values beginning with-. (@asamuzaK)v30.1.2Compare Source
initialreset. (@scttcper)getComputedStyle()returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.:focus,:focus-visible,:focus-within, and selectors containing them after focus changes, including inside focus and blur listeners. (@asamuzaK)element.focus()incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (@asamuzaK)getComputedStyle()throwing for elements without inline-style support, including XML and MathML elements.window.close().MutationObserverinstances retaining bookkeeping for garbage-collected nodes. (@scttcper)select.selectedOptionscollections becoming stale after selection changes and form resets.color-mix()expressions, including exceptions during color resolution. (@asamuzaK)v30.1.1Compare Source
blurandfocusoutevents and incorrectevent.relatedTargetvalues when focusing an element after removing the previously focused element, which regressed in v30.1.0. (@asamuzaK)document.documentElement.focus(). (@asamuzaK)blurlisteners becoming active, and text selections made by focus and blur listeners being overwritten. (@asamuzaK)element.focus()incorrectly focusing disabled form controls and<input type="hidden">elements withtabindex="". (@scttcper)style.setProperty()calls changing existing!importantpriorities, serialized styles, or mutation records. (@FedgeNo)!importanthandling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (@FedgeNo)<noscript>parsing withincludeNodeLocations: trueor inside frames to honor therunScriptsoption.storageQuotaoption being ignored by frames.charsetparameters in<meta>elements, and encoding detection incorrectly using incomplete<meta>tags. (@FedgeNo)constructor,toString,__proto__, or"null", and incorrect reuse of namespace prefixes declared on sibling elements.element.innerHTMLandelement.outerHTMLin XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.:lang(),:nth-child(... of ...)after mutations, and:has()with duplicate IDs or nested logical pseudo-classes. (@asamuzaK)v30.1.0Compare 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).
document, such asdocument.myFormfor<form name="myForm">. (@vojtisprime11)QuotaExceededError, including its use for storage quota errors and oversizedcrypto.getRandomValues()requests.getComputedStyle(), style changes, and CSS serialization. (@scttcper, @jhult)<select>elements and radio button groups. (@scttcper)window.close()to preserve access to the document and its DOM through retained references.element.querySelectorAll()returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (@asamuzaK)data-state="",title="", and other case-sensitive values. (@asamuzaK)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):focusmatching in shadow trees. (@asamuzaK)document.replaceChildren()calls, invalid document element and doctype placements, and mutations duringelement.replaceWith().window.close()or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (@scttcper)requestInterceptor()callbacks, and when reusing anXMLHttpRequestafter aborting it.JSDOM.fromURL()potentially hanging when response handling throws and response stream cleanup does not finish.getComputedStyle()anddocument.styleSheetsusing the wrong stylesheet order after inserting or updating<style>elements.getComputedStyle()ignoring nested@importand@mediarules in imported stylesheets, and returning stale results after imports finish loading.getComputedStyle()calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (@scttcper)16px, which regressed in v30.0.0. (@Alberto-BaseNet)getComputedStyle()to resolve'font-weight'keywords to numeric values. (@tianrking)getComputedStyle()to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in'font-size'math functions. (@soroushm)min()andmax()containing nestedcalc(), which regressed in v30.0.0. (@asamuzaK)'grid-template-columns'values containing both100pxandcalc(). (@rome-xi)'background'and'border'shorthands with adjacent components, such asurl(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)'flex'shorthands, such as35 1 0, and rejection of negative'flex-basis'lengths and percentages. (@asamuzaK)RangeandSelectionhandling of CDATA sections, including boundary offsets and range cloning, extraction, deletion, insertion, and stringification. (@scttcper)text.normalize()incorrectly removing the text node or merging its siblings. (@scttcper)window, and incorrect named access from empty or namespacedid=""andname=""values. (@scttcper)DOMParserordocument.implementation.createHTMLDocument()appearing as named properties onwindowand being retained in memory. (@Iaotle)storageevents being sent to windows created after the storage change, and ensured surviving recipients still receive events when the source document is destroyed.input.listin detached element trees. (@scttcper)attr.ownerDocumentafter setting an attribute node on an element in another document or adopting its element. (@Kjubikstronk)element.getElementsByTagName()calls using the previous document's case-sensitivity rules after adoption between HTML and XML documents. (@Kjubikstronk)element.tagNamereturning stale casing after adoption between HTML and XML documents.<select>selection updates when moving options, and unintended selection resets when moving a whole<select>or changing unrelated descendants.<input>elements to preserveinput.indeterminate.<script>. (@Kjubikstronk)src="", and handling oftype="",for="", andevent="".document.currentScriptduring nested script execution and scripts in shadow trees.window.event, and default passive listener handling for non-node event targets, and event dispatch when user code modifieswindow.constructor.volumechangeandratechangeevents to fire asynchronously. (@christianaurichzm)NodeIteratortraversal when its filter removes nodes.fileReader.readAsText()to honor the blob's MIME type charset when no supported explicit encoding is supplied.input.valueAsNumberassignments for time and local date/time inputs.<textarea>values to use the numerictextarea.colsvalue.document.readyStateto be"complete"for documents created withdocument.implementation.createDocument()anddocument.implementation.createHTMLDocument().element.translatefor emptytranslate=""values and elements without a parent.node.lookupNamespaceURI()for thexmlandxmlnsprefixes. (@vojtisprime11)<base>elements to ignoredata:andjavascript:URLs. (@vojtisprime11)svgElement.viewportElementinside<symbol>elements.blobEvent.timecodeto beNaN.CSS.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)Configuration
📅 Schedule: (in timezone Europe/Amsterdam)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.