Skip to content
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

Merged
merged 2 commits into from Apr 9, 2024

Conversation

nandi95
Copy link
Contributor

@nandi95 nandi95 commented Apr 8, 2024

I used to contribute and it seems I had this laying around for years now without committing. Small improvement for getting better type inference.

Copy link

netlify bot commented Apr 8, 2024

Deploy Preview for vue-test-utils-docs ready!

Name Link
🔨 Latest commit 3df7558
🔍 Latest deploy log https://app.netlify.com/sites/vue-test-utils-docs/deploys/66153c4fc679290008571585
😎 Deploy Preview https://deploy-preview-2406--vue-test-utils-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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)

Copy link
Member

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?

Copy link
Contributor Author

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

@cexbrayat cexbrayat merged commit 5c22b4e into vuejs:main Apr 9, 2024
6 checks passed
@nandi95 nandi95 deleted the feat/improve-element-type branch April 9, 2024 16:16
renovate bot added a commit to slipmatio/logger that referenced this pull request May 13, 2024
[![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 (@&#8203;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 (@&#8203;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 [@&#8203;Evobaso-J](https://togithub.com/Evobaso-J) in
[vuejs/test-utils#2371
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2374
- docs: setup the translation helper by
[@&#8203;Jinjiang](https://togithub.com/Jinjiang) in
[vuejs/test-utils#2373
- chore: translate translation sync message in french by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2377
- docs: synchronize the french docs by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2378
- chore(deps): update dependency vite to v5.2.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2376
- chore(deps): pin dependency vitepress-translation-helper to 0.1.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2379
- chore(deps): update dependency typescript to v5.4.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2380
- chore(deps): update dependency vitepress-translation-helper to v0.2.0
by [@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2381
- chore: update vitepress-translation-helper by
[@&#8203;Jinjiang](https://togithub.com/Jinjiang) in
[vuejs/test-utils#2382
- chore(deps): update dependency vitepress to v1.0.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2383
- chore(deps): update dependency vitepress-translation-helper to v0.2.1
by [@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2384
- fix: update attachTo type in MountingOptions interface by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2375
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2388
- docs(api): fix typo in attachTo anchor tag within isVisible by
[@&#8203;matusekma](https://togithub.com/matusekma) in
[vuejs/test-utils#2351
- change vm to always provide global property by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2386
- chore(deps): update dependency rollup to v4.13.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2389
- chore(deps): update dependency reflect-metadata to v0.2.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2391
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2393
- chore(deps): update dependency vite to v5.2.8 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2396
- docs: fix missing equal sign by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2398
- fix: renderStubDefaultSlot with scoped slots by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2397
- docs(api): fix missing chars by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2399
- docs: use innerHTML in teleport cleanup by
[@&#8203;brc-dd](https://togithub.com/brc-dd) in
[vuejs/test-utils#2403
- feat: Added dynamic return for element getter by
[@&#8203;nandi95](https://togithub.com/nandi95) in
[vuejs/test-utils#2406
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2407
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2408
- doc(api): fix missing char by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2410
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2412
- chore: use node v18 on netlify by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2416
- fix(stubs): avoid warning on normalized props with Vue v3.4.22 by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2413
- chore: use the packageManager field from package.json in github action
by [@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2417
- chore(deps): update pnpm to v9 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2415
- chore(deps): update all non-major dependencies to v3.4.23 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2418
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2419
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2420
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2421
- Update index.md to fix typo and clarify `get` vs `find` behavior by
[@&#8203;KatWorkGit](https://togithub.com/KatWorkGit) in
[vuejs/test-utils#2422
- fix: set global provides before running vue plugins by
[@&#8203;danielroe](https://togithub.com/danielroe) in
[vuejs/test-utils#2423
- ci: add build on node v22 by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2424
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2426
- chore(deps): update dependency unplugin-vue-components to v0.27.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2427
- chore(deps): update dependency
[@&#8203;types/node](https://togithub.com/types/node) to v20.12.8 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2429
- Fix/issue 2319 throw first error thrown during mount by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2428

#### New Contributors

- [@&#8203;Jinjiang](https://togithub.com/Jinjiang) made their first
contribution in
[vuejs/test-utils#2373
- [@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) made their
first contribution in
[vuejs/test-utils#2375
- [@&#8203;matusekma](https://togithub.com/matusekma) made their first
contribution in
[vuejs/test-utils#2351
- [@&#8203;w2xi](https://togithub.com/w2xi) made their first
contribution in
[vuejs/test-utils#2398
- [@&#8203;brc-dd](https://togithub.com/brc-dd) made their first
contribution in
[vuejs/test-utils#2403
- [@&#8203;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
**[@&#8203;TreyVigus](https://togithub.com/TreyVigus)** in task
[#&#8203;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
**[@&#8203;mdafanasev](https://togithub.com/mdafanasev)** in task
[#&#8203;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
**[@&#8203;jeffwcx](https://togithub.com/jeffwcx)** in task
[#&#8203;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
[#&#8203;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
([#&#8203;10868](https://togithub.com/vuejs/core/issues/10868))
([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)),
closes [#&#8203;8869](https://togithub.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with
unbracketed
([#&#8203;5789](https://togithub.com/vuejs/core/issues/5789))
([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)),
closes [#&#8203;5788](https://togithub.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option
elements ([#&#8203;10846](https://togithub.com/vuejs/core/issues/10846))
([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)),
closes [#&#8203;6568](https://togithub.com/vuejs/core/issues/6568)
[#&#8203;7434](https://togithub.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator
([#&#8203;10874](https://togithub.com/vuejs/core/issues/10874))
([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)),
closes [#&#8203;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 [#&#8203;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
([#&#8203;2377](https://togithub.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://togithub.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://togithub.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;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
([#&#8203;4365](https://togithub.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://togithub.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;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="{}"`
([#&#8203;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
([#&#8203;4353](https://togithub.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://togithub.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;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
([#&#8203;4345](https://togithub.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;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
([#&#8203;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`
([#&#8203;4358](https://togithub.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://togithub.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://togithub.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://togithub.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;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>
renovate bot added a commit to slipmatio/ui that referenced this pull request May 13, 2024
[![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 (@&#8203;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 (@&#8203;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 [@&#8203;Evobaso-J](https://togithub.com/Evobaso-J) in
[vuejs/test-utils#2371
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2374
- docs: setup the translation helper by
[@&#8203;Jinjiang](https://togithub.com/Jinjiang) in
[vuejs/test-utils#2373
- chore: translate translation sync message in french by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2377
- docs: synchronize the french docs by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2378
- chore(deps): update dependency vite to v5.2.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2376
- chore(deps): pin dependency vitepress-translation-helper to 0.1.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2379
- chore(deps): update dependency typescript to v5.4.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2380
- chore(deps): update dependency vitepress-translation-helper to v0.2.0
by [@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2381
- chore: update vitepress-translation-helper by
[@&#8203;Jinjiang](https://togithub.com/Jinjiang) in
[vuejs/test-utils#2382
- chore(deps): update dependency vitepress to v1.0.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2383
- chore(deps): update dependency vitepress-translation-helper to v0.2.1
by [@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2384
- fix: update attachTo type in MountingOptions interface by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2375
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2388
- docs(api): fix typo in attachTo anchor tag within isVisible by
[@&#8203;matusekma](https://togithub.com/matusekma) in
[vuejs/test-utils#2351
- change vm to always provide global property by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2386
- chore(deps): update dependency rollup to v4.13.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2389
- chore(deps): update dependency reflect-metadata to v0.2.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2391
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2393
- chore(deps): update dependency vite to v5.2.8 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2396
- docs: fix missing equal sign by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2398
- fix: renderStubDefaultSlot with scoped slots by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2397
- docs(api): fix missing chars by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2399
- docs: use innerHTML in teleport cleanup by
[@&#8203;brc-dd](https://togithub.com/brc-dd) in
[vuejs/test-utils#2403
- feat: Added dynamic return for element getter by
[@&#8203;nandi95](https://togithub.com/nandi95) in
[vuejs/test-utils#2406
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2407
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2408
- doc(api): fix missing char by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2410
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2412
- chore: use node v18 on netlify by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2416
- fix(stubs): avoid warning on normalized props with Vue v3.4.22 by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2413
- chore: use the packageManager field from package.json in github action
by [@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2417
- chore(deps): update pnpm to v9 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2415
- chore(deps): update all non-major dependencies to v3.4.23 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2418
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2419
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2420
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2421
- Update index.md to fix typo and clarify `get` vs `find` behavior by
[@&#8203;KatWorkGit](https://togithub.com/KatWorkGit) in
[vuejs/test-utils#2422
- fix: set global provides before running vue plugins by
[@&#8203;danielroe](https://togithub.com/danielroe) in
[vuejs/test-utils#2423
- ci: add build on node v22 by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2424
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2426
- chore(deps): update dependency unplugin-vue-components to v0.27.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2427
- chore(deps): update dependency
[@&#8203;types/node](https://togithub.com/types/node) to v20.12.8 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2429
- Fix/issue 2319 throw first error thrown during mount by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2428

#### New Contributors

- [@&#8203;Jinjiang](https://togithub.com/Jinjiang) made their first
contribution in
[vuejs/test-utils#2373
- [@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) made their
first contribution in
[vuejs/test-utils#2375
- [@&#8203;matusekma](https://togithub.com/matusekma) made their first
contribution in
[vuejs/test-utils#2351
- [@&#8203;w2xi](https://togithub.com/w2xi) made their first
contribution in
[vuejs/test-utils#2398
- [@&#8203;brc-dd](https://togithub.com/brc-dd) made their first
contribution in
[vuejs/test-utils#2403
- [@&#8203;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
**[@&#8203;TreyVigus](https://togithub.com/TreyVigus)** in task
[#&#8203;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
**[@&#8203;mdafanasev](https://togithub.com/mdafanasev)** in task
[#&#8203;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
**[@&#8203;jeffwcx](https://togithub.com/jeffwcx)** in task
[#&#8203;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
[#&#8203;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
([#&#8203;10868](https://togithub.com/vuejs/core/issues/10868))
([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)),
closes [#&#8203;8869](https://togithub.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with
unbracketed
([#&#8203;5789](https://togithub.com/vuejs/core/issues/5789))
([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)),
closes [#&#8203;5788](https://togithub.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option
elements ([#&#8203;10846](https://togithub.com/vuejs/core/issues/10846))
([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)),
closes [#&#8203;6568](https://togithub.com/vuejs/core/issues/6568)
[#&#8203;7434](https://togithub.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator
([#&#8203;10874](https://togithub.com/vuejs/core/issues/10874))
([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)),
closes [#&#8203;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 [#&#8203;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
([#&#8203;2377](https://togithub.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://togithub.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://togithub.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;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
([#&#8203;4365](https://togithub.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://togithub.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;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="{}"`
([#&#8203;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
([#&#8203;4353](https://togithub.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://togithub.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;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
([#&#8203;4345](https://togithub.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;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
([#&#8203;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`
([#&#8203;4358](https://togithub.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://togithub.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://togithub.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://togithub.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;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>
renovate bot added a commit to slipmatio/toolbelt that referenced this pull request May 13, 2024
[![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 (@&#8203;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 (@&#8203;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 [@&#8203;Evobaso-J](https://togithub.com/Evobaso-J) in
[vuejs/test-utils#2371
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2374
- docs: setup the translation helper by
[@&#8203;Jinjiang](https://togithub.com/Jinjiang) in
[vuejs/test-utils#2373
- chore: translate translation sync message in french by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2377
- docs: synchronize the french docs by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2378
- chore(deps): update dependency vite to v5.2.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2376
- chore(deps): pin dependency vitepress-translation-helper to 0.1.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2379
- chore(deps): update dependency typescript to v5.4.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2380
- chore(deps): update dependency vitepress-translation-helper to v0.2.0
by [@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2381
- chore: update vitepress-translation-helper by
[@&#8203;Jinjiang](https://togithub.com/Jinjiang) in
[vuejs/test-utils#2382
- chore(deps): update dependency vitepress to v1.0.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2383
- chore(deps): update dependency vitepress-translation-helper to v0.2.1
by [@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2384
- fix: update attachTo type in MountingOptions interface by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2375
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2388
- docs(api): fix typo in attachTo anchor tag within isVisible by
[@&#8203;matusekma](https://togithub.com/matusekma) in
[vuejs/test-utils#2351
- change vm to always provide global property by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2386
- chore(deps): update dependency rollup to v4.13.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2389
- chore(deps): update dependency reflect-metadata to v0.2.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2391
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2393
- chore(deps): update dependency vite to v5.2.8 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2396
- docs: fix missing equal sign by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2398
- fix: renderStubDefaultSlot with scoped slots by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2397
- docs(api): fix missing chars by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2399
- docs: use innerHTML in teleport cleanup by
[@&#8203;brc-dd](https://togithub.com/brc-dd) in
[vuejs/test-utils#2403
- feat: Added dynamic return for element getter by
[@&#8203;nandi95](https://togithub.com/nandi95) in
[vuejs/test-utils#2406
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2407
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2408
- doc(api): fix missing char by
[@&#8203;w2xi](https://togithub.com/w2xi) in
[vuejs/test-utils#2410
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2412
- chore: use node v18 on netlify by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2416
- fix(stubs): avoid warning on normalized props with Vue v3.4.22 by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2413
- chore: use the packageManager field from package.json in github action
by [@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2417
- chore(deps): update pnpm to v9 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2415
- chore(deps): update all non-major dependencies to v3.4.23 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2418
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2419
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2420
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2421
- Update index.md to fix typo and clarify `get` vs `find` behavior by
[@&#8203;KatWorkGit](https://togithub.com/KatWorkGit) in
[vuejs/test-utils#2422
- fix: set global provides before running vue plugins by
[@&#8203;danielroe](https://togithub.com/danielroe) in
[vuejs/test-utils#2423
- ci: add build on node v22 by
[@&#8203;cexbrayat](https://togithub.com/cexbrayat) in
[vuejs/test-utils#2424
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2426
- chore(deps): update dependency unplugin-vue-components to v0.27.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2427
- chore(deps): update dependency
[@&#8203;types/node](https://togithub.com/types/node) to v20.12.8 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vuejs/test-utils#2429
- Fix/issue 2319 throw first error thrown during mount by
[@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) in
[vuejs/test-utils#2428

#### New Contributors

- [@&#8203;Jinjiang](https://togithub.com/Jinjiang) made their first
contribution in
[vuejs/test-utils#2373
- [@&#8203;taku-y-9308](https://togithub.com/taku-y-9308) made their
first contribution in
[vuejs/test-utils#2375
- [@&#8203;matusekma](https://togithub.com/matusekma) made their first
contribution in
[vuejs/test-utils#2351
- [@&#8203;w2xi](https://togithub.com/w2xi) made their first
contribution in
[vuejs/test-utils#2398
- [@&#8203;brc-dd](https://togithub.com/brc-dd) made their first
contribution in
[vuejs/test-utils#2403
- [@&#8203;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
**[@&#8203;TreyVigus](https://togithub.com/TreyVigus)** in task
[#&#8203;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
**[@&#8203;mdafanasev](https://togithub.com/mdafanasev)** in task
[#&#8203;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
**[@&#8203;jeffwcx](https://togithub.com/jeffwcx)** in task
[#&#8203;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
[#&#8203;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
([#&#8203;10868](https://togithub.com/vuejs/core/issues/10868))
([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)),
closes [#&#8203;8869](https://togithub.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with
unbracketed
([#&#8203;5789](https://togithub.com/vuejs/core/issues/5789))
([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)),
closes [#&#8203;5788](https://togithub.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option
elements ([#&#8203;10846](https://togithub.com/vuejs/core/issues/10846))
([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)),
closes [#&#8203;6568](https://togithub.com/vuejs/core/issues/6568)
[#&#8203;7434](https://togithub.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator
([#&#8203;10874](https://togithub.com/vuejs/core/issues/10874))
([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)),
closes [#&#8203;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 [#&#8203;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
([#&#8203;2377](https://togithub.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://togithub.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://togithub.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;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
([#&#8203;4365](https://togithub.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://togithub.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;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="{}"`
([#&#8203;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
([#&#8203;4353](https://togithub.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://togithub.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;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
([#&#8203;4345](https://togithub.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;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
([#&#8203;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`
([#&#8203;4358](https://togithub.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://togithub.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://togithub.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://togithub.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants