New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Added dynamic return for element getter #2406
Conversation
✅ Deploy Preview for vue-test-utils-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
@@ -14,6 +14,9 @@ const domWrapper = wrapper.find('#other') | |||
let inputMaybe = wrapper.find('input') | |||
expectType<HTMLInputElement | undefined>(inputMaybe.element) | |||
|
|||
let buttonComp = mount(defineComponent({ template: '<button>Click me</button>' })) | |||
expectType<HTMLButtonElement>(buttonComp.element) | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have a test for the case with multiple root elements?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a type test and here's an actual test for it: https://github.com/vuejs/test-utils/blob/main/tests/element.spec.ts#L46
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.1` -> `1.44.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.43.1/1.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.43.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.43.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.12.8` -> `20.12.11`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.8/20.12.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.8/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.8/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/test-utils](https://togithub.com/vuejs/test-utils) | [`2.4.5` -> `2.4.6`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.5/2.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2ftest-utils/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2ftest-utils/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2ftest-utils/2.4.5/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2ftest-utils/2.4.5/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.7.1` -> `14.10.1`](https://renovatebot.com/diffs/npm/happy-dom/14.7.1/14.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.7.1/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.7.1/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.9.0` -> `3.9.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.9.0/3.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://togithub.com/vuejs/core)) | [`3.4.26` -> `3.4.27`](https://renovatebot.com/diffs/npm/vue/3.4.26/3.4.27) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.26/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.26/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://togithub.com/vuejs/language-tools) ([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.0.16` -> `2.0.17`](https://renovatebot.com/diffs/npm/vue-tsc/2.0.16/2.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.0.16/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.0.16/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0) #### New APIs **Accessibility assertions** - [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleName('Submit'); ``` - [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleDescription('Upload a photo'); ``` - [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role: ```js const locator = page.getByTestId('save-button'); await expect(locator).toHaveRole('button'); ``` **Locator handler** - After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option. - You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run. - The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument. - New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers. ```js const locator = page.getByText('This interstitial covers the button'); await page.addLocatorHandler(locator, async overlay => { await overlay.locator('#close').click(); }, { times: 3, noWaitAfter: true }); // Run your tests that can be interrupted by the overlay. // ... await page.removeLocatorHandler(locator); ``` **Miscellaneous options** - [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name. ```js const formData = new FormData(); formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' })); formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' })); context.request.post('https://example.com/uploadFiles', { multipart: formData }); ``` - `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect). - `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case). - [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure per project whether to skip screenshot expectations. **Reporter API** - New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list. - [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD. - [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option. **Command line** - `--last-failed` CLI option for running only tests that failed in the previous run. First run all tests: ```sh $ npx playwright test Running 103 tests using 5 workers ... 2 failed [chromium] › my-test.spec.ts:8:5 › two ───────────────────────────────────────────────────────── [chromium] › my-test.spec.ts:13:5 › three ────────────────────────────────────────────────────── 101 passed (30.0s) ``` Now fix the failing tests and run Playwright again with `--last-failed` option: ```sh $ npx playwright test --last-failed Running 2 tests using 2 workers 2 passed (1.2s) ``` #### Browser Versions - Chromium 125.0.6422.14 - Mozilla Firefox 125.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 124 - Microsoft Edge 124 </details> <details> <summary>vuejs/test-utils (@​vue/test-utils)</summary> ### [`v2.4.6`](https://togithub.com/vuejs/test-utils/releases/tag/v2.4.6) [Compare Source](https://togithub.com/vuejs/test-utils/compare/v2.4.5...v2.4.6) #### What's Changed - Fix/circular references in props cause maximum call stack size exceeded by [@​Evobaso-J](https://togithub.com/Evobaso-J) in [vuejs/test-utils#2371 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2374 - docs: setup the translation helper by [@​Jinjiang](https://togithub.com/Jinjiang) in [vuejs/test-utils#2373 - chore: translate translation sync message in french by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2377 - docs: synchronize the french docs by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2378 - chore(deps): update dependency vite to v5.2.2 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2376 - chore(deps): pin dependency vitepress-translation-helper to 0.1.3 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2379 - chore(deps): update dependency typescript to v5.4.3 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2380 - chore(deps): update dependency vitepress-translation-helper to v0.2.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2381 - chore: update vitepress-translation-helper by [@​Jinjiang](https://togithub.com/Jinjiang) in [vuejs/test-utils#2382 - chore(deps): update dependency vitepress to v1.0.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2383 - chore(deps): update dependency vitepress-translation-helper to v0.2.1 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2384 - fix: update attachTo type in MountingOptions interface by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2375 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2388 - docs(api): fix typo in attachTo anchor tag within isVisible by [@​matusekma](https://togithub.com/matusekma) in [vuejs/test-utils#2351 - change vm to always provide global property by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2386 - chore(deps): update dependency rollup to v4.13.1 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2389 - chore(deps): update dependency reflect-metadata to v0.2.2 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2391 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2393 - chore(deps): update dependency vite to v5.2.8 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2396 - docs: fix missing equal sign by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2398 - fix: renderStubDefaultSlot with scoped slots by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2397 - docs(api): fix missing chars by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2399 - docs: use innerHTML in teleport cleanup by [@​brc-dd](https://togithub.com/brc-dd) in [vuejs/test-utils#2403 - feat: Added dynamic return for element getter by [@​nandi95](https://togithub.com/nandi95) in [vuejs/test-utils#2406 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2407 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2408 - doc(api): fix missing char by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2410 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2412 - chore: use node v18 on netlify by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2416 - fix(stubs): avoid warning on normalized props with Vue v3.4.22 by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2413 - chore: use the packageManager field from package.json in github action by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2417 - chore(deps): update pnpm to v9 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2415 - chore(deps): update all non-major dependencies to v3.4.23 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2418 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2419 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2420 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2421 - Update index.md to fix typo and clarify `get` vs `find` behavior by [@​KatWorkGit](https://togithub.com/KatWorkGit) in [vuejs/test-utils#2422 - fix: set global provides before running vue plugins by [@​danielroe](https://togithub.com/danielroe) in [vuejs/test-utils#2423 - ci: add build on node v22 by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2424 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2426 - chore(deps): update dependency unplugin-vue-components to v0.27.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2427 - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.12.8 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2429 - Fix/issue 2319 throw first error thrown during mount by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2428 #### New Contributors - [@​Jinjiang](https://togithub.com/Jinjiang) made their first contribution in [vuejs/test-utils#2373 - [@​taku-y-9308](https://togithub.com/taku-y-9308) made their first contribution in [vuejs/test-utils#2375 - [@​matusekma](https://togithub.com/matusekma) made their first contribution in [vuejs/test-utils#2351 - [@​w2xi](https://togithub.com/w2xi) made their first contribution in [vuejs/test-utils#2398 - [@​brc-dd](https://togithub.com/brc-dd) made their first contribution in [vuejs/test-utils#2403 - [@​KatWorkGit](https://togithub.com/KatWorkGit) made their first contribution in [vuejs/test-utils#2422 **Full Changelog**: vuejs/test-utils@v2.4.5...v2.4.6 </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v14.10.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) ### [`v14.10.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.10.0) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0) ##### 🎨 Features - Adds support for `Document.elementFromPoint()` - By **[@​TreyVigus](https://togithub.com/TreyVigus)** in task [#​1400](https://togithub.com/capricorn86/happy-dom/issues/1400) - The method will always return `null` as Happy DOM doesn't support rendering and can't calculate an element's position based on where it is rendered ### [`v14.9.0`](https://togithub.com/capricorn86/happy-dom/compare/v14.8.3...2e0329100edf7aef9987146b35024c0b90fab2aa) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.3...v14.9.0) ### [`v14.8.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.8.3) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.2...v14.8.3) ##### 👷♂️ Patch fixes - Fixes issue related to `Element.insertBefore()` not removing comment node from previous ancestor - By **[@​mdafanasev](https://togithub.com/mdafanasev)** in task [#​1406](https://togithub.com/capricorn86/happy-dom/issues/1406) ### [`v14.8.2`](https://togithub.com/capricorn86/happy-dom/compare/2a8030f7a990cf258d703bdcc895c36213f375ba...9095b2ddc7b013eedb83c670d29fc97b27ae0ddf) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.1...v14.8.2) ### [`v14.8.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.8.0...2a8030f7a990cf258d703bdcc895c36213f375ba) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.0...v14.8.1) ### [`v14.8.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.8.0) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.7.1...v14.8.0) ##### 🎨 Features - Adds support for the `HTMLIFrameElement.srcdoc` property - By **[@​jeffwcx](https://togithub.com/jeffwcx)** in task [#​1398](https://togithub.com/capricorn86/happy-dom/issues/1398) </details> <details> <summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary> ### [`v3.9.1`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#391-2024-05-05) [Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.9.0...v3.9.1) ##### Bug Fixes - correctly process cleaning .vue paths ([0a3ad73](https://togithub.com/qmhc/vite-plugin-dts/commit/0a3ad732f269eeaf838ee44604e143595ac60916)), closes [#​325](https://togithub.com/qmhc/vite-plugin-dts/issues/325) </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.4.27`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.26...v3.4.27) ##### Bug Fixes - **compat:** include legacy scoped slots ([#​10868](https://togithub.com/vuejs/core/issues/10868)) ([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)), closes [#​8869](https://togithub.com/vuejs/core/issues/8869) - **compiler-core:** add support for arrow aysnc function with unbracketed ([#​5789](https://togithub.com/vuejs/core/issues/5789)) ([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)), closes [#​5788](https://togithub.com/vuejs/core/issues/5788) - **compiler-dom:** restrict createStaticVNode usage with option elements ([#​10846](https://togithub.com/vuejs/core/issues/10846)) ([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)), closes [#​6568](https://togithub.com/vuejs/core/issues/6568) [#​7434](https://togithub.com/vuejs/core/issues/7434) - **compiler-sfc:** handle keyof operator ([#​10874](https://togithub.com/vuejs/core/issues/10874)) ([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)), closes [#​10871](https://togithub.com/vuejs/core/issues/10871) - **hydration:** handle edge case of style mismatch without style attribute ([f2c1412](https://togithub.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)), closes [#​10786](https://togithub.com/vuejs/core/issues/10786) </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v2.0.17`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.16...v2.0.17) ##### Features - **language-core:** add JSDod support for component ([#​2377](https://togithub.com/vuejs/language-tools/issues/2377)) - **language-core:** add JSDoc support for script setup binding variables ([#​3409](https://togithub.com/vuejs/language-tools/issues/3409)) - **language-core:** add class component support ([#​4354](https://togithub.com/vuejs/language-tools/issues/4354)) - **language-service:** re-support scoped class links in template ([#​4357](https://togithub.com/vuejs/language-tools/issues/4357)) - **typescript-plugin:** create script setup block when auto import if needed - **typescript-plugin:** add JSDoc support for events in template ([#​4365](https://togithub.com/vuejs/language-tools/issues/4365)) - **component-meta:** add JSDoc tags support for events - **language-core:** support defineOptions ([#​4362](https://togithub.com/vuejs/language-tools/issues/4362)) - Thanks [@​zhiyuanzmj](https://togithub.com/zhiyuanzmj) ##### Bug Fixes - **language-core:** hover not working for intrinsic element event name - **language-core:** showing false *declared but not used* errors for functions used in `v-on="{}"` ([#​4333](https://togithub.com/vuejs/language-tools/issues/4333)) - **language-core:** fix nameless event expression formatting - **language-core:** types imported in the `<script setup>` should not be used as a variable in template ([#​4353](https://togithub.com/vuejs/language-tools/issues/4353)) - **language-core:** renaming classname within `scoped` not working ([#​4355](https://togithub.com/vuejs/language-tools/issues/4355)) - **language-core:** `<style>` completions and html custom data completions not provided in some cases ([#​4092](https://togithub.com/vuejs/language-tools/issues/4092)) - **language-core:** improve code action edits mapping fault tolerance - **language-core:** support defineModel for generic component ([#​4345](https://togithub.com/vuejs/language-tools/issues/4345)) - Thanks [@​zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-service:** completion cannot trigger in SFC root - **component-meta:** `forceUseTs` options not working ##### Other Changes - Upgrade Volar from `v2.2.0` to `v2.2.2`. - fix(language-server): pass correct languageId when creating virtual code ([volarjs/volar.js#173) - fix(typescript): additional completion not working in plugin ([#​4323](https://togithub.com/vuejs/language-tools/issues/4323)) - Upgrade Volar services from `v0.0.42` to `v0.0.44`. - feat(typescript): code action edits respect editor formatting settings ([volarjs/services#30) - fix(typescript): not being able to jump to shims module definition - fix(typescript): `allowTextChangesInNewFiles` never true for embedded documents - perf(typescript): check `command` resolve capability only for specific refactors ([volarjs/services#94) - The following extensions have been added to Hybrid Mode’s compatibility whitelist: - `mxsdev.typescript-explorer` - Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate` - Specify `packageManager` ([#​4358](https://togithub.com/vuejs/language-tools/issues/4358)) - Thanks [@​so1ve](https://togithub.com/so1ve) - **docs:** emoved possibly redundant duplicate reference ([#​4348](https://togithub.com/vuejs/language-tools/issues/4348)) - Thanks [@​artshade](https://togithub.com/artshade) - **language-service:** temporarily remove references codeLens ([#​4364](https://togithub.com/vuejs/language-tools/issues/4364)) - **vscode:** auto enabling hybrid mode allows </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/logger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.1` -> `1.44.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.43.1/1.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.43.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.43.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.12.8` -> `20.12.11`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.8/20.12.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.8/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.8/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/test-utils](https://togithub.com/vuejs/test-utils) | [`2.4.5` -> `2.4.6`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.5/2.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2ftest-utils/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2ftest-utils/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2ftest-utils/2.4.5/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2ftest-utils/2.4.5/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.7.1` -> `14.10.1`](https://renovatebot.com/diffs/npm/happy-dom/14.7.1/14.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.7.1/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.7.1/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.9.0` -> `3.9.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.9.0/3.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://togithub.com/vuejs/core)) | [`3.4.26` -> `3.4.27`](https://renovatebot.com/diffs/npm/vue/3.4.26/3.4.27) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.26/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.26/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://togithub.com/vuejs/language-tools) ([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.0.16` -> `2.0.17`](https://renovatebot.com/diffs/npm/vue-tsc/2.0.16/2.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.0.16/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.0.16/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0) #### New APIs **Accessibility assertions** - [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleName('Submit'); ``` - [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleDescription('Upload a photo'); ``` - [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role: ```js const locator = page.getByTestId('save-button'); await expect(locator).toHaveRole('button'); ``` **Locator handler** - After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option. - You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run. - The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument. - New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers. ```js const locator = page.getByText('This interstitial covers the button'); await page.addLocatorHandler(locator, async overlay => { await overlay.locator('#close').click(); }, { times: 3, noWaitAfter: true }); // Run your tests that can be interrupted by the overlay. // ... await page.removeLocatorHandler(locator); ``` **Miscellaneous options** - [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name. ```js const formData = new FormData(); formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' })); formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' })); context.request.post('https://example.com/uploadFiles', { multipart: formData }); ``` - `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect). - `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case). - [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure per project whether to skip screenshot expectations. **Reporter API** - New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list. - [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD. - [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option. **Command line** - `--last-failed` CLI option for running only tests that failed in the previous run. First run all tests: ```sh $ npx playwright test Running 103 tests using 5 workers ... 2 failed [chromium] › my-test.spec.ts:8:5 › two ───────────────────────────────────────────────────────── [chromium] › my-test.spec.ts:13:5 › three ────────────────────────────────────────────────────── 101 passed (30.0s) ``` Now fix the failing tests and run Playwright again with `--last-failed` option: ```sh $ npx playwright test --last-failed Running 2 tests using 2 workers 2 passed (1.2s) ``` #### Browser Versions - Chromium 125.0.6422.14 - Mozilla Firefox 125.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 124 - Microsoft Edge 124 </details> <details> <summary>vuejs/test-utils (@​vue/test-utils)</summary> ### [`v2.4.6`](https://togithub.com/vuejs/test-utils/releases/tag/v2.4.6) [Compare Source](https://togithub.com/vuejs/test-utils/compare/v2.4.5...v2.4.6) #### What's Changed - Fix/circular references in props cause maximum call stack size exceeded by [@​Evobaso-J](https://togithub.com/Evobaso-J) in [vuejs/test-utils#2371 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2374 - docs: setup the translation helper by [@​Jinjiang](https://togithub.com/Jinjiang) in [vuejs/test-utils#2373 - chore: translate translation sync message in french by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2377 - docs: synchronize the french docs by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2378 - chore(deps): update dependency vite to v5.2.2 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2376 - chore(deps): pin dependency vitepress-translation-helper to 0.1.3 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2379 - chore(deps): update dependency typescript to v5.4.3 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2380 - chore(deps): update dependency vitepress-translation-helper to v0.2.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2381 - chore: update vitepress-translation-helper by [@​Jinjiang](https://togithub.com/Jinjiang) in [vuejs/test-utils#2382 - chore(deps): update dependency vitepress to v1.0.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2383 - chore(deps): update dependency vitepress-translation-helper to v0.2.1 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2384 - fix: update attachTo type in MountingOptions interface by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2375 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2388 - docs(api): fix typo in attachTo anchor tag within isVisible by [@​matusekma](https://togithub.com/matusekma) in [vuejs/test-utils#2351 - change vm to always provide global property by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2386 - chore(deps): update dependency rollup to v4.13.1 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2389 - chore(deps): update dependency reflect-metadata to v0.2.2 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2391 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2393 - chore(deps): update dependency vite to v5.2.8 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2396 - docs: fix missing equal sign by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2398 - fix: renderStubDefaultSlot with scoped slots by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2397 - docs(api): fix missing chars by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2399 - docs: use innerHTML in teleport cleanup by [@​brc-dd](https://togithub.com/brc-dd) in [vuejs/test-utils#2403 - feat: Added dynamic return for element getter by [@​nandi95](https://togithub.com/nandi95) in [vuejs/test-utils#2406 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2407 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2408 - doc(api): fix missing char by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2410 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2412 - chore: use node v18 on netlify by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2416 - fix(stubs): avoid warning on normalized props with Vue v3.4.22 by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2413 - chore: use the packageManager field from package.json in github action by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2417 - chore(deps): update pnpm to v9 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2415 - chore(deps): update all non-major dependencies to v3.4.23 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2418 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2419 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2420 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2421 - Update index.md to fix typo and clarify `get` vs `find` behavior by [@​KatWorkGit](https://togithub.com/KatWorkGit) in [vuejs/test-utils#2422 - fix: set global provides before running vue plugins by [@​danielroe](https://togithub.com/danielroe) in [vuejs/test-utils#2423 - ci: add build on node v22 by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2424 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2426 - chore(deps): update dependency unplugin-vue-components to v0.27.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2427 - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.12.8 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2429 - Fix/issue 2319 throw first error thrown during mount by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2428 #### New Contributors - [@​Jinjiang](https://togithub.com/Jinjiang) made their first contribution in [vuejs/test-utils#2373 - [@​taku-y-9308](https://togithub.com/taku-y-9308) made their first contribution in [vuejs/test-utils#2375 - [@​matusekma](https://togithub.com/matusekma) made their first contribution in [vuejs/test-utils#2351 - [@​w2xi](https://togithub.com/w2xi) made their first contribution in [vuejs/test-utils#2398 - [@​brc-dd](https://togithub.com/brc-dd) made their first contribution in [vuejs/test-utils#2403 - [@​KatWorkGit](https://togithub.com/KatWorkGit) made their first contribution in [vuejs/test-utils#2422 **Full Changelog**: vuejs/test-utils@v2.4.5...v2.4.6 </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v14.10.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) ### [`v14.10.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.10.0) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0) ##### 🎨 Features - Adds support for `Document.elementFromPoint()` - By **[@​TreyVigus](https://togithub.com/TreyVigus)** in task [#​1400](https://togithub.com/capricorn86/happy-dom/issues/1400) - The method will always return `null` as Happy DOM doesn't support rendering and can't calculate an element's position based on where it is rendered ### [`v14.9.0`](https://togithub.com/capricorn86/happy-dom/compare/v14.8.3...2e0329100edf7aef9987146b35024c0b90fab2aa) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.3...v14.9.0) ### [`v14.8.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.8.3) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.2...v14.8.3) ##### 👷♂️ Patch fixes - Fixes issue related to `Element.insertBefore()` not removing comment node from previous ancestor - By **[@​mdafanasev](https://togithub.com/mdafanasev)** in task [#​1406](https://togithub.com/capricorn86/happy-dom/issues/1406) ### [`v14.8.2`](https://togithub.com/capricorn86/happy-dom/compare/2a8030f7a990cf258d703bdcc895c36213f375ba...9095b2ddc7b013eedb83c670d29fc97b27ae0ddf) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.1...v14.8.2) ### [`v14.8.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.8.0...2a8030f7a990cf258d703bdcc895c36213f375ba) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.0...v14.8.1) ### [`v14.8.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.8.0) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.7.1...v14.8.0) ##### 🎨 Features - Adds support for the `HTMLIFrameElement.srcdoc` property - By **[@​jeffwcx](https://togithub.com/jeffwcx)** in task [#​1398](https://togithub.com/capricorn86/happy-dom/issues/1398) </details> <details> <summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary> ### [`v3.9.1`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#391-2024-05-05) [Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.9.0...v3.9.1) ##### Bug Fixes - correctly process cleaning .vue paths ([0a3ad73](https://togithub.com/qmhc/vite-plugin-dts/commit/0a3ad732f269eeaf838ee44604e143595ac60916)), closes [#​325](https://togithub.com/qmhc/vite-plugin-dts/issues/325) </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.4.27`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.26...v3.4.27) ##### Bug Fixes - **compat:** include legacy scoped slots ([#​10868](https://togithub.com/vuejs/core/issues/10868)) ([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)), closes [#​8869](https://togithub.com/vuejs/core/issues/8869) - **compiler-core:** add support for arrow aysnc function with unbracketed ([#​5789](https://togithub.com/vuejs/core/issues/5789)) ([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)), closes [#​5788](https://togithub.com/vuejs/core/issues/5788) - **compiler-dom:** restrict createStaticVNode usage with option elements ([#​10846](https://togithub.com/vuejs/core/issues/10846)) ([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)), closes [#​6568](https://togithub.com/vuejs/core/issues/6568) [#​7434](https://togithub.com/vuejs/core/issues/7434) - **compiler-sfc:** handle keyof operator ([#​10874](https://togithub.com/vuejs/core/issues/10874)) ([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)), closes [#​10871](https://togithub.com/vuejs/core/issues/10871) - **hydration:** handle edge case of style mismatch without style attribute ([f2c1412](https://togithub.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)), closes [#​10786](https://togithub.com/vuejs/core/issues/10786) </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v2.0.17`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.16...v2.0.17) ##### Features - **language-core:** add JSDod support for component ([#​2377](https://togithub.com/vuejs/language-tools/issues/2377)) - **language-core:** add JSDoc support for script setup binding variables ([#​3409](https://togithub.com/vuejs/language-tools/issues/3409)) - **language-core:** add class component support ([#​4354](https://togithub.com/vuejs/language-tools/issues/4354)) - **language-service:** re-support scoped class links in template ([#​4357](https://togithub.com/vuejs/language-tools/issues/4357)) - **typescript-plugin:** create script setup block when auto import if needed - **typescript-plugin:** add JSDoc support for events in template ([#​4365](https://togithub.com/vuejs/language-tools/issues/4365)) - **component-meta:** add JSDoc tags support for events - **language-core:** support defineOptions ([#​4362](https://togithub.com/vuejs/language-tools/issues/4362)) - Thanks [@​zhiyuanzmj](https://togithub.com/zhiyuanzmj) ##### Bug Fixes - **language-core:** hover not working for intrinsic element event name - **language-core:** showing false *declared but not used* errors for functions used in `v-on="{}"` ([#​4333](https://togithub.com/vuejs/language-tools/issues/4333)) - **language-core:** fix nameless event expression formatting - **language-core:** types imported in the `<script setup>` should not be used as a variable in template ([#​4353](https://togithub.com/vuejs/language-tools/issues/4353)) - **language-core:** renaming classname within `scoped` not working ([#​4355](https://togithub.com/vuejs/language-tools/issues/4355)) - **language-core:** `<style>` completions and html custom data completions not provided in some cases ([#​4092](https://togithub.com/vuejs/language-tools/issues/4092)) - **language-core:** improve code action edits mapping fault tolerance - **language-core:** support defineModel for generic component ([#​4345](https://togithub.com/vuejs/language-tools/issues/4345)) - Thanks [@​zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-service:** completion cannot trigger in SFC root - **component-meta:** `forceUseTs` options not working ##### Other Changes - Upgrade Volar from `v2.2.0` to `v2.2.2`. - fix(language-server): pass correct languageId when creating virtual code ([volarjs/volar.js#173) - fix(typescript): additional completion not working in plugin ([#​4323](https://togithub.com/vuejs/language-tools/issues/4323)) - Upgrade Volar services from `v0.0.42` to `v0.0.44`. - feat(typescript): code action edits respect editor formatting settings ([volarjs/services#30) - fix(typescript): not being able to jump to shims module definition - fix(typescript): `allowTextChangesInNewFiles` never true for embedded documents - perf(typescript): check `command` resolve capability only for specific refactors ([volarjs/services#94) - The following extensions have been added to Hybrid Mode’s compatibility whitelist: - `mxsdev.typescript-explorer` - Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate` - Specify `packageManager` ([#​4358](https://togithub.com/vuejs/language-tools/issues/4358)) - Thanks [@​so1ve](https://togithub.com/so1ve) - **docs:** emoved possibly redundant duplicate reference ([#​4348](https://togithub.com/vuejs/language-tools/issues/4348)) - Thanks [@​artshade](https://togithub.com/artshade) - **language-service:** temporarily remove references codeLens ([#​4364](https://togithub.com/vuejs/language-tools/issues/4364)) - **vscode:** auto enabling hybrid mode allows </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/ui). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.1` -> `1.44.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.43.1/1.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.43.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.43.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.12.8` -> `20.12.11`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.8/20.12.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.8/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.8/20.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/test-utils](https://togithub.com/vuejs/test-utils) | [`2.4.5` -> `2.4.6`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.5/2.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2ftest-utils/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2ftest-utils/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2ftest-utils/2.4.5/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2ftest-utils/2.4.5/2.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.7.1` -> `14.10.1`](https://renovatebot.com/diffs/npm/happy-dom/14.7.1/14.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.7.1/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.7.1/14.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.9.0` -> `3.9.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.9.0/3.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://togithub.com/vuejs/core)) | [`3.4.26` -> `3.4.27`](https://renovatebot.com/diffs/npm/vue/3.4.26/3.4.27) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.26/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.26/3.4.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://togithub.com/vuejs/language-tools) ([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.0.16` -> `2.0.17`](https://renovatebot.com/diffs/npm/vue-tsc/2.0.16/2.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.0.16/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.0.16/2.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0) #### New APIs **Accessibility assertions** - [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleName('Submit'); ``` - [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleDescription('Upload a photo'); ``` - [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role: ```js const locator = page.getByTestId('save-button'); await expect(locator).toHaveRole('button'); ``` **Locator handler** - After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option. - You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run. - The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument. - New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers. ```js const locator = page.getByText('This interstitial covers the button'); await page.addLocatorHandler(locator, async overlay => { await overlay.locator('#close').click(); }, { times: 3, noWaitAfter: true }); // Run your tests that can be interrupted by the overlay. // ... await page.removeLocatorHandler(locator); ``` **Miscellaneous options** - [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name. ```js const formData = new FormData(); formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' })); formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' })); context.request.post('https://example.com/uploadFiles', { multipart: formData }); ``` - `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect). - `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case). - [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure per project whether to skip screenshot expectations. **Reporter API** - New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list. - [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD. - [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option. **Command line** - `--last-failed` CLI option for running only tests that failed in the previous run. First run all tests: ```sh $ npx playwright test Running 103 tests using 5 workers ... 2 failed [chromium] › my-test.spec.ts:8:5 › two ───────────────────────────────────────────────────────── [chromium] › my-test.spec.ts:13:5 › three ────────────────────────────────────────────────────── 101 passed (30.0s) ``` Now fix the failing tests and run Playwright again with `--last-failed` option: ```sh $ npx playwright test --last-failed Running 2 tests using 2 workers 2 passed (1.2s) ``` #### Browser Versions - Chromium 125.0.6422.14 - Mozilla Firefox 125.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 124 - Microsoft Edge 124 </details> <details> <summary>vuejs/test-utils (@​vue/test-utils)</summary> ### [`v2.4.6`](https://togithub.com/vuejs/test-utils/releases/tag/v2.4.6) [Compare Source](https://togithub.com/vuejs/test-utils/compare/v2.4.5...v2.4.6) #### What's Changed - Fix/circular references in props cause maximum call stack size exceeded by [@​Evobaso-J](https://togithub.com/Evobaso-J) in [vuejs/test-utils#2371 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2374 - docs: setup the translation helper by [@​Jinjiang](https://togithub.com/Jinjiang) in [vuejs/test-utils#2373 - chore: translate translation sync message in french by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2377 - docs: synchronize the french docs by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2378 - chore(deps): update dependency vite to v5.2.2 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2376 - chore(deps): pin dependency vitepress-translation-helper to 0.1.3 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2379 - chore(deps): update dependency typescript to v5.4.3 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2380 - chore(deps): update dependency vitepress-translation-helper to v0.2.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2381 - chore: update vitepress-translation-helper by [@​Jinjiang](https://togithub.com/Jinjiang) in [vuejs/test-utils#2382 - chore(deps): update dependency vitepress to v1.0.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2383 - chore(deps): update dependency vitepress-translation-helper to v0.2.1 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2384 - fix: update attachTo type in MountingOptions interface by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2375 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2388 - docs(api): fix typo in attachTo anchor tag within isVisible by [@​matusekma](https://togithub.com/matusekma) in [vuejs/test-utils#2351 - change vm to always provide global property by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2386 - chore(deps): update dependency rollup to v4.13.1 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2389 - chore(deps): update dependency reflect-metadata to v0.2.2 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2391 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2393 - chore(deps): update dependency vite to v5.2.8 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2396 - docs: fix missing equal sign by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2398 - fix: renderStubDefaultSlot with scoped slots by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2397 - docs(api): fix missing chars by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2399 - docs: use innerHTML in teleport cleanup by [@​brc-dd](https://togithub.com/brc-dd) in [vuejs/test-utils#2403 - feat: Added dynamic return for element getter by [@​nandi95](https://togithub.com/nandi95) in [vuejs/test-utils#2406 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2407 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2408 - doc(api): fix missing char by [@​w2xi](https://togithub.com/w2xi) in [vuejs/test-utils#2410 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2412 - chore: use node v18 on netlify by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2416 - fix(stubs): avoid warning on normalized props with Vue v3.4.22 by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2413 - chore: use the packageManager field from package.json in github action by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2417 - chore(deps): update pnpm to v9 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2415 - chore(deps): update all non-major dependencies to v3.4.23 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2418 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2419 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2420 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2421 - Update index.md to fix typo and clarify `get` vs `find` behavior by [@​KatWorkGit](https://togithub.com/KatWorkGit) in [vuejs/test-utils#2422 - fix: set global provides before running vue plugins by [@​danielroe](https://togithub.com/danielroe) in [vuejs/test-utils#2423 - ci: add build on node v22 by [@​cexbrayat](https://togithub.com/cexbrayat) in [vuejs/test-utils#2424 - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2426 - chore(deps): update dependency unplugin-vue-components to v0.27.0 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2427 - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.12.8 by [@​renovate](https://togithub.com/renovate) in [vuejs/test-utils#2429 - Fix/issue 2319 throw first error thrown during mount by [@​taku-y-9308](https://togithub.com/taku-y-9308) in [vuejs/test-utils#2428 #### New Contributors - [@​Jinjiang](https://togithub.com/Jinjiang) made their first contribution in [vuejs/test-utils#2373 - [@​taku-y-9308](https://togithub.com/taku-y-9308) made their first contribution in [vuejs/test-utils#2375 - [@​matusekma](https://togithub.com/matusekma) made their first contribution in [vuejs/test-utils#2351 - [@​w2xi](https://togithub.com/w2xi) made their first contribution in [vuejs/test-utils#2398 - [@​brc-dd](https://togithub.com/brc-dd) made their first contribution in [vuejs/test-utils#2403 - [@​KatWorkGit](https://togithub.com/KatWorkGit) made their first contribution in [vuejs/test-utils#2422 **Full Changelog**: vuejs/test-utils@v2.4.5...v2.4.6 </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v14.10.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) ### [`v14.10.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.10.0) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0) ##### 🎨 Features - Adds support for `Document.elementFromPoint()` - By **[@​TreyVigus](https://togithub.com/TreyVigus)** in task [#​1400](https://togithub.com/capricorn86/happy-dom/issues/1400) - The method will always return `null` as Happy DOM doesn't support rendering and can't calculate an element's position based on where it is rendered ### [`v14.9.0`](https://togithub.com/capricorn86/happy-dom/compare/v14.8.3...2e0329100edf7aef9987146b35024c0b90fab2aa) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.3...v14.9.0) ### [`v14.8.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.8.3) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.2...v14.8.3) ##### 👷♂️ Patch fixes - Fixes issue related to `Element.insertBefore()` not removing comment node from previous ancestor - By **[@​mdafanasev](https://togithub.com/mdafanasev)** in task [#​1406](https://togithub.com/capricorn86/happy-dom/issues/1406) ### [`v14.8.2`](https://togithub.com/capricorn86/happy-dom/compare/2a8030f7a990cf258d703bdcc895c36213f375ba...9095b2ddc7b013eedb83c670d29fc97b27ae0ddf) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.1...v14.8.2) ### [`v14.8.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.8.0...2a8030f7a990cf258d703bdcc895c36213f375ba) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.8.0...v14.8.1) ### [`v14.8.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v14.8.0) [Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.7.1...v14.8.0) ##### 🎨 Features - Adds support for the `HTMLIFrameElement.srcdoc` property - By **[@​jeffwcx](https://togithub.com/jeffwcx)** in task [#​1398](https://togithub.com/capricorn86/happy-dom/issues/1398) </details> <details> <summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary> ### [`v3.9.1`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#391-2024-05-05) [Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.9.0...v3.9.1) ##### Bug Fixes - correctly process cleaning .vue paths ([0a3ad73](https://togithub.com/qmhc/vite-plugin-dts/commit/0a3ad732f269eeaf838ee44604e143595ac60916)), closes [#​325](https://togithub.com/qmhc/vite-plugin-dts/issues/325) </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.4.27`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.26...v3.4.27) ##### Bug Fixes - **compat:** include legacy scoped slots ([#​10868](https://togithub.com/vuejs/core/issues/10868)) ([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)), closes [#​8869](https://togithub.com/vuejs/core/issues/8869) - **compiler-core:** add support for arrow aysnc function with unbracketed ([#​5789](https://togithub.com/vuejs/core/issues/5789)) ([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)), closes [#​5788](https://togithub.com/vuejs/core/issues/5788) - **compiler-dom:** restrict createStaticVNode usage with option elements ([#​10846](https://togithub.com/vuejs/core/issues/10846)) ([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)), closes [#​6568](https://togithub.com/vuejs/core/issues/6568) [#​7434](https://togithub.com/vuejs/core/issues/7434) - **compiler-sfc:** handle keyof operator ([#​10874](https://togithub.com/vuejs/core/issues/10874)) ([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)), closes [#​10871](https://togithub.com/vuejs/core/issues/10871) - **hydration:** handle edge case of style mismatch without style attribute ([f2c1412](https://togithub.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)), closes [#​10786](https://togithub.com/vuejs/core/issues/10786) </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v2.0.17`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.16...v2.0.17) ##### Features - **language-core:** add JSDod support for component ([#​2377](https://togithub.com/vuejs/language-tools/issues/2377)) - **language-core:** add JSDoc support for script setup binding variables ([#​3409](https://togithub.com/vuejs/language-tools/issues/3409)) - **language-core:** add class component support ([#​4354](https://togithub.com/vuejs/language-tools/issues/4354)) - **language-service:** re-support scoped class links in template ([#​4357](https://togithub.com/vuejs/language-tools/issues/4357)) - **typescript-plugin:** create script setup block when auto import if needed - **typescript-plugin:** add JSDoc support for events in template ([#​4365](https://togithub.com/vuejs/language-tools/issues/4365)) - **component-meta:** add JSDoc tags support for events - **language-core:** support defineOptions ([#​4362](https://togithub.com/vuejs/language-tools/issues/4362)) - Thanks [@​zhiyuanzmj](https://togithub.com/zhiyuanzmj) ##### Bug Fixes - **language-core:** hover not working for intrinsic element event name - **language-core:** showing false *declared but not used* errors for functions used in `v-on="{}"` ([#​4333](https://togithub.com/vuejs/language-tools/issues/4333)) - **language-core:** fix nameless event expression formatting - **language-core:** types imported in the `<script setup>` should not be used as a variable in template ([#​4353](https://togithub.com/vuejs/language-tools/issues/4353)) - **language-core:** renaming classname within `scoped` not working ([#​4355](https://togithub.com/vuejs/language-tools/issues/4355)) - **language-core:** `<style>` completions and html custom data completions not provided in some cases ([#​4092](https://togithub.com/vuejs/language-tools/issues/4092)) - **language-core:** improve code action edits mapping fault tolerance - **language-core:** support defineModel for generic component ([#​4345](https://togithub.com/vuejs/language-tools/issues/4345)) - Thanks [@​zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-service:** completion cannot trigger in SFC root - **component-meta:** `forceUseTs` options not working ##### Other Changes - Upgrade Volar from `v2.2.0` to `v2.2.2`. - fix(language-server): pass correct languageId when creating virtual code ([volarjs/volar.js#173) - fix(typescript): additional completion not working in plugin ([#​4323](https://togithub.com/vuejs/language-tools/issues/4323)) - Upgrade Volar services from `v0.0.42` to `v0.0.44`. - feat(typescript): code action edits respect editor formatting settings ([volarjs/services#30) - fix(typescript): not being able to jump to shims module definition - fix(typescript): `allowTextChangesInNewFiles` never true for embedded documents - perf(typescript): check `command` resolve capability only for specific refactors ([volarjs/services#94) - The following extensions have been added to Hybrid Mode’s compatibility whitelist: - `mxsdev.typescript-explorer` - Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate` - Specify `packageManager` ([#​4358](https://togithub.com/vuejs/language-tools/issues/4358)) - Thanks [@​so1ve](https://togithub.com/so1ve) - **docs:** emoved possibly redundant duplicate reference ([#​4348](https://togithub.com/vuejs/language-tools/issues/4348)) - Thanks [@​artshade](https://togithub.com/artshade) - **language-service:** temporarily remove references codeLens ([#​4364](https://togithub.com/vuejs/language-tools/issues/4364)) - **vscode:** auto enabling hybrid mode allows </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/toolbelt). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
I used to contribute and it seems I had this laying around for years now without committing. Small improvement for getting better type inference.