Move @testing-library/dom and @types/react-dom to peer dependencies (#1305) (a4744fa)
BREAKING CHANGES
@testing-library/dom was moved to a peer dependency and needs to be explicitly installed. This reduces the chance of having conflicting versions of @testing-library/dom installed that frequently caused bugs when used with @testing-library/user-event. We will also be able to allow new versions of @testing-library/dom being used without a SemVer major release of @testing-library/react by just widening the peer dependency.
@types/react-dom needs to be installed if you're typechecking files using @testing-library/react.
This major release changes the prototype of a jsdom's EventTarget.prototype to point to the Object.prototype inside the jsdom, instead of pointing to the Node.js Object.prototype. Thus, the prototype chain of Window stays entirely within the jsdom, never crossing over into the Node.js realm.
This only occurs when runScripts is set to non-default values of "dangerously" or "outside-only", as with the default value, there is no separate Object.prototype inside the jsdom.
This will likely not impact many programs, but could cause some changes in instanceof behavior, and so out of an abundance of caution, we're releasing it as a new major version.
Version 24.1.3
Fixed calls to postMessage() that were done as a bare property (i.e., postMessage() instead of window.postMessage()).
Version 24.1.2
Fixed an issue with the in operator applied to EventTarget methods, e.g. 'addEventListener' in window, which only appeared in Node.js ≥22.5.0. (legendecas)
Fixed the events fired by blur(): it no longer fires focus and focusin on the Document, and blur and focusout no longer have their relatedTarget property set. (asamuzaK)
Version 24.1.1
Fixed selection methods to trigger the selectionchange event on the Document object. (piotr-oles)
Version 24.1.0
Added the getSetCookie() method to the Headers class. (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.
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.
Version 23.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.
Version 23.1.0
Added an initial implementation of ElementInternals, including the shadowRoot getter and the string-valued ARIA properties. (zjffun)
Added the string-valued ARIA attribute-reflecting properties to Element.
Fixed history.pushState() and history.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.valueAsANumber setter to handle NaN correctly. (alexandertrefz)
Updated various dependencies, including cssstyle which contains several bug fixes.
Version 23.0.1
Fixed the incorrect canvas peer dependency introduced in v23.0.0.
Version 23.0.0
Node.js v18 is now the minimum supported version.
Updated various dependencies, including whatwg-url which integrates various additions to the URL and URLSearchParams objects.
This major release changes the prototype of a jsdom's EventTarget.prototype to point to the Object.prototype inside the jsdom, instead of pointing to the Node.js Object.prototype. Thus, the prototype chain of Window stays entirely within the jsdom, never crossing over into the Node.js realm.
This only occurs when runScripts is set to non-default values of "dangerously" or "outside-only", as with the default value, there is no separate Object.prototype inside the jsdom.
This will likely not impact many programs, but could cause some changes in instanceof behavior, and so out of an abundance of caution, we're releasing it as a new major version.
24.1.3
Fixed calls to postMessage() that were done as a bare property (i.e., postMessage() instead of window.postMessage()).
24.1.2
Fixed an issue with the in operator applied to EventTarget methods, e.g. 'addEventListener' in window, which only appeared in Node.js ≥22.5.0. (legendecas)
Fixed the events fired by blur(): it no longer fires focus and focusin on the Document, and blur and focusout no longer have their relatedTarget property set. (asamuzaK)
24.1.1
Fixed selection methods to trigger the selectionchange event on the Document object. (piotr-oles)
24.1.0
Added the getSetCookie() method to the Headers class. (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.
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.
23.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.
23.1.0
Added an initial implementation of ElementInternals, including the shadowRoot getter and the string-valued ARIA properties. (zjffun)
Added the string-valued ARIA attribute-reflecting properties to Element.
Fixed history.pushState() and history.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.valueAsANumber setter to handle NaN correctly. (alexandertrefz)
Updated various dependencies, including cssstyle which contains several bug fixes.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dev-dependencies group with 4 updates in the /frontend directory: @testing-library/jest-dom, @testing-library/react, eslint and jsdom.
Updates
@testing-library/jest-dom
from 5.17.0 to 6.5.0Release notes
Sourced from
@testing-library/jest-dom
's releases.... (truncated)
Commits
62f0e3a
docs: add waynevanson as a contributor for code, and test (#626)acbf416
feat(toHaveValue): Asserting aria-valuenow (#479)47a667c
docs: add vorant94 as a contributor for code (#619)06d19ba
adjust vitest ambient declaration file according to vitest docs (#612)a073b08
docs: add aleks-elkin as a contributor for maintenance (#618)aa094a5
chore: remove unused@babel/runtime
dependency (#617)d02e80b
docs: add ddolcimascolo as a contributor for maintenance (#616)faf534b
fix: Drop peerDependencies from package.json (#610)78a2934
docs: add tonyhallett as a contributor for bug (#615)5cc6298
fix: Type definition oftoHaveClass
(#611)Updates
@testing-library/react
from 14.3.1 to 16.0.1Release notes
Sourced from
@testing-library/react
's releases.... (truncated)
Commits
3dcd8a9
fix: Add support for exactOptionalPropertyTypes in TypeScript (#1351)7a28fa9
Fix React Canary and Experimental tests (#1353)a4744fa
feat: Move@testing-library/dom
and@types/react-dom
to peer dependencie...c1f2957
fix: Ensureact
is notany
whenReact.act
is not declared (#1323)b6e59f7
fix: export new act when available (#1319)f6a1677
chore: Adjust tests to workaround 18.3.0 bug (#1315)d143f46
fix: Stop restrictingcontainer
option based onhydrate
(#1313)48282c2
fix: EnsurerenderHook
options extend options forrender
(#1308)067d0c6
fix: Don't raise TypeScript errors when hydatingdocument
(#1304)c63b873
fix: ImprovelegacyRoot
error message (#1301)Updates
eslint
from 8.57.0 to 9.9.1Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
8781e6f
9.9.11503d03
Build: changelog update for 9.9.1b0c34d0
chore: upgrade to@eslint/js
@9
.9.1 (#18809)cd5a0da
chore: package.json update for@eslint/js
release4840930
docs: Update README with version support and clean up content (#18804)f61f40d
docs: Update globals examples (#18805)e112642
refactor: Extract parsing logic from Linter (#18790)241fcea
docs: Use and define languages (#18795)0f68a85
chore: use eslint-plugin-yml on yaml files only (#18801)5dbdd63
docs: eslint-plugin-markdown ->@eslint/markdown
(#18797)Updates
jsdom
from 22.1.0 to 25.0.0Release notes
Sourced from jsdom's releases.
Changelog
Sourced from jsdom's changelog.
... (truncated)
Commits
c53efc8
Version 25.0.0784c8a5
Set EventTarget.prototype to the jsdom's Object.prototype0314f1e
Version 24.1.346d5d5c
Fix postMessage referenced as a bare propertya241df6
Version 24.1.2c3a9aed
Remove upstreamed WPTs07fab37
Refactor Window object setup code3383805
Fix events fired by blur()065abcb
Roll web platform tests439a43e
Setup Window prototype in vm contextDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show