chore(deps): update devdependency jsdom to v24 (2.x)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| jsdom | 16.7.0 -> 24.1.0 |
Release Notes
jsdom/jsdom (jsdom)
v24.1.0
- Added the
getSetCookie()method to theHeadersclass. (ushiboy) - Fixed the creation and parsing of elements with names from
Object.prototype, like"constructor"or"toString". - Updated
rweb-cssom, which can now parse additional CSS constructs.
v24.0.0
This release reverts our selector engine back to nwsapi. As discussed in #3659, the performance regressions from @asamuzakjp/dom-selector turned out to be higher than anticipated. In the future, we can revisit @asamuzakjp/dom-selector after it reaches nwsapi's performance on the two real-world benchmarks provided by the community.
Since reverting to nwsapi causes several functionality regressions, e.g. removing :has() support, we've decided to make this a major version.
Additionally:
- Small fixes to edge-case behavior of the following properties:
input.maxLength,input.minLength,input.size,progress.max,tableCell.colSpan,tableCell.rowSpan,tableCol.span,textArea.cols,textArea.maxLength,textArea.minLength,textArea.rows.
v23.2.0
This release switches our CSS selector engine from nwsapi to @asamuzakjp/dom-selector. The new engine is more actively maintained, and supports many new selectors: see the package's documentation for the full list. It also works better with shadow trees.
There is a potential of a performance regression due to this change. In our stress test benchmark, which runs most of these 273 selectors against this 128 KiB document, the new engine completes the benchmark only 0.25x as fast. However, we're hopeful that in more moderate usage this will not be a significant issue. Any help speeding up @asamuzakjp/dom-selector is appreciated, and feel free to open an issue if this has had a significant impact on your project.
v23.1.0
- Added an initial implementation of
ElementInternals, including theshadowRootgetter and the string-valued ARIA properties. (zjffun) - Added the string-valued ARIA attribute-reflecting properties to
Element. - Fixed
history.pushState()andhistory.replaceState()to follow the latest specification, notably with regards to how they handle empty string inputs and what new URLs are possible. - Fixed the
input.valueAsANumbersetter to handleNaNcorrectly. (alexandertrefz) - Updated various dependencies, including
cssstylewhich contains several bug fixes.
v23.0.1
- Fix incorrect
canvaspeer dependency.
v23.0.0
v22.1.0
- Added
crypto.randomUUID(). (jamesbvaughan) - Added
DOMRectandDOMRectReadOnly. - Added
AbortSignal.timeout(). - Added
abortSignal.throwIfAborted(). - Added support for the
submitterargument to theFormDataconstructor. (jenseng) - Improved
getComputedStyle()'s results for color-based properties, to resolve named colors and attempt to provide initial inheritance support. (hoekz-wwt) - Updated
Window's event handler properties (e.g.oncopy,ontouchstart, etc.) to reflect the latest list from the standard. - Fixed
DOMParser-created documents to inherit their URL from the creating document.
v22.0.0
- Node.js v16 is now the minimum supported version.
- Removed support for running jsdom in the browser via a browserified bundle. This carried with it too much complexity, especially for our testing infrastructure, and a testing package we relied on was recently deprecated.
v21.1.2
- Fixed
setRangeText()used on<input>and<textarea>elements to calculate the new end index correctly. (pmstss) - Fixed
pageX,pageY,offsetX, andoffsetYonMouseEvents during dispatch. (jenseng) - Upgraded
nwsapito v2.2.4, bringing along various fixes to our selector engine.
v21.1.1
- Fixed
jsdom.reconfigure()to also adjust the URL as seen by the history API, so that e.g.history.replaceState(null, "")would not mess up the URL. (jdufresne) - Fixed
location.hash = ""to leave any#in location.href. - Fixes a few bugs with CSS parsing by replacing
cssomwithrweb-cssom, since the latter is maintained. (seanparmelee)
v21.1.0
- Added
x,y,pageX,pageY,offsetX, andoffsetYtoMouseEvent. (jenseng, ViniciusFXavier) - Added support for
unsetwithgetComputedStyle(). (jsnajdr) - Added the
submitterproperty toSubmitEvent. (jenseng) - Fixed
MouseEvent'sscreenXandscreenYto no longer coerce to integers, allowing fractional values. (jenseng) - Fixed
formEl.submit()to not longer firesubmitevents. (jenseng) - Fixed stylesheets to no longer affect the document after their corresponding
<link>is removed. (jsnajdr) - Fixed
pointer-eventsto inherit when used withgetComputedStyle(). (jnajdr) - Fixed
<script>elements with nosrc=""to no longer fireloadevents. (t1ger2080) - Improved
getComputedStyle()to cache its results, which should make it much faster. (jsnajdr)
v21.0.0
A potentially-breaking bug fix:
- Fixed the
window,document,location, andtopproperties ofWindowto be non-configurable. (ExE-Boss)
Other changes:
- Added support for
<input type=image>submitting forms. (jenseng) - Added the
locationsetter to theWindowobject, which forwards to thelocation.hrefsetter. Setting the URL is still only implemented for fragment navigations, however. (ExE-Boss) - Fixed
defer=""<script>elements that are added afterDOMContentLoadedto execute, instead of being skipped. - Fixed
selectElement.selectedOptionsbeing incorrect whenoptionElement.selectedis set. This was a regression introduced in v20.0.1. Unfortunately this also reverts the performance improvement when appending<option>elements that was introduced then. (eps1lon) - Fixed the
self,locationbar,menubar,personalbar,scrollbars,statusbar,toolbar,frames,parent,external,length, andscreenproperties ofWindowto be replaceable: that is, setting them will override their values, instead of having the new value be ignored. (ExE-Boss) - Fixed a few issues with
JSDOM.fromURL()in the browser build of jsdom. (LungZeno)
v20.0.3
- Updated dependencies, notably
w3c-xmlserializer, which fixes usingDOMParseron XML documents containing emoji.
v20.0.2
- Fixed
xhr.abort()to no longer give an exception when the constructedXMLHttpRequestwas invalid. (whamtet) - Fixed
event.getModifierState()onMouseEventandKeyboardEventinstances to properly consult thectrlKey,altKey,metaKey, andshiftKeyproperties of the event. (juzerzarif) - Fixed custom element creation to not be affected by any modifications to the
window.customElementsproperty. (bicknellr)
v20.0.1
- Improved the performance of appending
<option>elements to<select>elements. (TheHound) - Fixed
location.pathnamegetter to not crash when theJSDOMinstance was created using an opaque-path URL, including the default URL ofabout:blank. - Fixed
crypto.getRandomValues()to accept typed array subclasses. (sebamarynissen) - Updated various dependency minor versions. Notably,
nwsapifixed some selectors bugs, andtough-cookiefixed some cookie bugs.
v20.0.0
- Node.js v14 is now the minimum supported version.
- Added
crypto.getRandomValues(). (sjrd) - Added
HTMLFormControlsCollectionandRadioNodeList, soformEl.elementsnow behaves correctly. (UndefinedBehavior) - Added the
signaloption toaddEventListener(). (cheap-glitch) - Fixed the
:rootpseudoclass to work correctly. (hughs-ch) - Updated
parse5, bringing along some HTML parsing and serialization fixes. (fb55)
v19.0.0
- Changed
jsdom.nodeLocation()to returnundefinedwhen used on nodes that originate via fragment parsing (e.g., viainnerHTML). Previously it would return based on the node location of the fragment string, which made node locations unreliable with respect to the original document source. This restores the behavior that was present in v14.0.0, and was accidentally broken in v14.1.0. (bakkot) - Fixed calling
window.close()inside theWindow'sloadevent to no longer crash. (MattiasBuelens)
v18.1.1
- Fixed
connectedCallbackto fire in situations involving document fragments, which was broken in v18.0.1. (GrantGryczan)
v18.1.0
- Fixed
headers.append()andheaders.set()to normalize values. (MattiasBuelens) - Fixed
pageshowevents to havebubbles: trueandcancelable: true. (MattiasBuelens) - Implemented the
reasonproperty onAbortSignals, along with the correspondingreasonargument toabortSignal.abort()andAbortSignal.abort(). (MattiasBuelens)
v18.0.1
- Fixed live
Ranges to update correctly after callingnode.normalize(). (hgiesel) - Fixed live
Ranges to update correctly after removing child nodes. (hgiesel) - Fixed setting
inputEl.valueAsDate = nullto no longer throw an exception, but instead set the value to the empty string. (simon-weimann) - Improved performance of node insertion and
node.contains(). (GrantGryczan)
v18.0.0
Potentially-breaking bug fixes:
- Fixed SSL certificate checking for WebSocket connections. Previously, invalid SSL certificates were always accepted; now, they properly respect the
ResourceLoader'sstrictSSLoption (which defaults totrue). - Changed the global in which almost all
PromiseandTypeErrorinstances are created to be the jsdom global, not the Node.js global. This could affect any code that usesinstanceof.
Other changes:
- Fixed moving an element between HTML and XML documents to reset the
tagNamecache, allowing it to return a lowercase value once it's in the XML document. (LucasLefevre) - Fixed form submission to not happen when the form is invalid. (pozil)
v17.0.0
Breaking change: Node v12 is now the minimum supported version.
Configuration
📅 Schedule: 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 Mend Renovate. View repository job log here.