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

fix(stubs): avoid warning on normalized props with Vue v3.4.22 #2413

Merged
merged 1 commit into from
Apr 16, 2024

Conversation

cexbrayat
Copy link
Member

Fixes #2411

We can "trick" the warning introduced in Vue v3.4.22 (See vuejs/core@7ccd453) by using an array of strings instead of a string (as the new check allows functions and arrays, but not strings). This does not affect the rendering of the stub, and still displays [Function], so it should not impact the existing tests.

Fixes vuejs#2411

We can "trick" the warning introduced in Vue v3.4.22 (See vuejs/core@7ccd453)
by using an array of strings instead of a string (as the new check allows functions and arrays, but not strings).
This does not affect the rendering of the stub, and still displays `[Function]`, so it should not impact the existing tests.
@cexbrayat cexbrayat requested a review from freakzlike April 16, 2024 08:45
Copy link

netlify bot commented Apr 16, 2024

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

Name Link
🔨 Latest commit a2c491b
🔍 Latest deploy log https://app.netlify.com/sites/vue-test-utils-docs/deploys/661e3a9b498fc90008633f42
😎 Deploy Preview https://deploy-preview-2413--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.

Copy link
Collaborator

@freakzlike freakzlike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't seem to break anything. Nice fix

@cexbrayat cexbrayat merged commit 05d9745 into vuejs:main Apr 16, 2024
6 checks passed
@cexbrayat cexbrayat deleted the fix/2411 branch April 16, 2024 17:12
renovate bot referenced this pull request in slipmatio/logger 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://github.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://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.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://github.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://github.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://github.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://github.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://github.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://github.com/vuejs/language-tools)
([source](https://github.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://github.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare
Source](https://github.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://github.com/vuejs/test-utils/releases/tag/v2.4.6)

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

#### New Contributors

- [@&#8203;Jinjiang](https://github.com/Jinjiang) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2373](https://github.com/vuejs/test-utils/pull/2373)
- [@&#8203;taku-y-9308](https://github.com/taku-y-9308) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2375](https://github.com/vuejs/test-utils/pull/2375)
- [@&#8203;matusekma](https://github.com/matusekma) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2351](https://github.com/vuejs/test-utils/pull/2351)
- [@&#8203;w2xi](https://github.com/w2xi) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2398](https://github.com/vuejs/test-utils/pull/2398)
- [@&#8203;brc-dd](https://github.com/brc-dd) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2403](https://github.com/vuejs/test-utils/pull/2403)
- [@&#8203;KatWorkGit](https://github.com/KatWorkGit) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2422](https://github.com/vuejs/test-utils/pull/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://github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1)

###
[`v14.10.0`](https://github.com/capricorn86/happy-dom/releases/tag/v14.10.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0)

##### 🎨 Features

- Adds support for `Document.elementFromPoint()` - By
**[@&#8203;TreyVigus](https://github.com/TreyVigus)** in task
[#&#8203;1400](https://github.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://github.com/capricorn86/happy-dom/compare/v14.8.3...2e0329100edf7aef9987146b35024c0b90fab2aa)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.3...v14.9.0)

###
[`v14.8.3`](https://github.com/capricorn86/happy-dom/releases/tag/v14.8.3)

[Compare
Source](https://github.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://github.com/mdafanasev)** in task
[#&#8203;1406](https://github.com/capricorn86/happy-dom/issues/1406)

###
[`v14.8.2`](https://github.com/capricorn86/happy-dom/compare/2a8030f7a990cf258d703bdcc895c36213f375ba...9095b2ddc7b013eedb83c670d29fc97b27ae0ddf)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.1...v14.8.2)

###
[`v14.8.1`](https://github.com/capricorn86/happy-dom/compare/v14.8.0...2a8030f7a990cf258d703bdcc895c36213f375ba)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.0...v14.8.1)

###
[`v14.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v14.8.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.7.1...v14.8.0)

##### 🎨 Features

- Adds support for the `HTMLIFrameElement.srcdoc` property - By
**[@&#8203;jeffwcx](https://github.com/jeffwcx)** in task
[#&#8203;1398](https://github.com/capricorn86/happy-dom/issues/1398)

</details>

<details>
<summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary>

###
[`v3.9.1`](https://github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#391-2024-05-05)

[Compare
Source](https://github.com/qmhc/vite-plugin-dts/compare/v3.9.0...v3.9.1)

##### Bug Fixes

- correctly process cleaning .vue paths
([0a3ad73](https://github.com/qmhc/vite-plugin-dts/commit/0a3ad732f269eeaf838ee44604e143595ac60916)),
closes
[#&#8203;325](https://github.com/qmhc/vite-plugin-dts/issues/325)

</details>

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.4.27`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.26...v3.4.27)

##### Bug Fixes

- **compat:** include legacy scoped slots
([#&#8203;10868](https://github.com/vuejs/core/issues/10868))
([8366126](https://github.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)),
closes [#&#8203;8869](https://github.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with
unbracketed
([#&#8203;5789](https://github.com/vuejs/core/issues/5789))
([ca7d421](https://github.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)),
closes [#&#8203;5788](https://github.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option
elements ([#&#8203;10846](https://github.com/vuejs/core/issues/10846))
([0e3d617](https://github.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)),
closes [#&#8203;6568](https://github.com/vuejs/core/issues/6568)
[#&#8203;7434](https://github.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator
([#&#8203;10874](https://github.com/vuejs/core/issues/10874))
([10d34a5](https://github.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)),
closes [#&#8203;10871](https://github.com/vuejs/core/issues/10871)
- **hydration:** handle edge case of style mismatch without style
attribute
([f2c1412](https://github.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)),
closes [#&#8203;10786](https://github.com/vuejs/core/issues/10786)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.17`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.16...v2.0.17)

##### Features

- **language-core:** add JSDod support for component
([#&#8203;2377](https://github.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://github.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://github.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;4357](https://github.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://github.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://github.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;zhiyuanzmj](https://github.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://github.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://github.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://github.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;4092](https://github.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://github.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;zhiyuanzmj](https://github.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
([https://github.com/volarjs/volar.js/issues/173](https://github.com/volarjs/volar.js/issues/173))
- fix(typescript): additional completion not working in plugin
([#&#8203;4323](https://github.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
([https://github.com/volarjs/services/issues/30](https://github.com/volarjs/services/issues/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
([https://github.com/volarjs/services/issues/94](https://github.com/volarjs/services/issues/94))
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist:
    -   `mxsdev.typescript-explorer`
- Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate`
- Specify `packageManager`
([#&#8203;4358](https://github.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://github.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://github.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://github.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;4364](https://github.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://github.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 referenced this pull request in slipmatio/ui 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://github.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://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.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://github.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://github.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://github.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://github.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://github.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://github.com/vuejs/language-tools)
([source](https://github.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://github.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare
Source](https://github.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://github.com/vuejs/test-utils/releases/tag/v2.4.6)

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

#### New Contributors

- [@&#8203;Jinjiang](https://github.com/Jinjiang) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2373](https://github.com/vuejs/test-utils/pull/2373)
- [@&#8203;taku-y-9308](https://github.com/taku-y-9308) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2375](https://github.com/vuejs/test-utils/pull/2375)
- [@&#8203;matusekma](https://github.com/matusekma) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2351](https://github.com/vuejs/test-utils/pull/2351)
- [@&#8203;w2xi](https://github.com/w2xi) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2398](https://github.com/vuejs/test-utils/pull/2398)
- [@&#8203;brc-dd](https://github.com/brc-dd) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2403](https://github.com/vuejs/test-utils/pull/2403)
- [@&#8203;KatWorkGit](https://github.com/KatWorkGit) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2422](https://github.com/vuejs/test-utils/pull/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://github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1)

###
[`v14.10.0`](https://github.com/capricorn86/happy-dom/releases/tag/v14.10.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0)

##### 🎨 Features

- Adds support for `Document.elementFromPoint()` - By
**[@&#8203;TreyVigus](https://github.com/TreyVigus)** in task
[#&#8203;1400](https://github.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://github.com/capricorn86/happy-dom/compare/v14.8.3...2e0329100edf7aef9987146b35024c0b90fab2aa)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.3...v14.9.0)

###
[`v14.8.3`](https://github.com/capricorn86/happy-dom/releases/tag/v14.8.3)

[Compare
Source](https://github.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://github.com/mdafanasev)** in task
[#&#8203;1406](https://github.com/capricorn86/happy-dom/issues/1406)

###
[`v14.8.2`](https://github.com/capricorn86/happy-dom/compare/2a8030f7a990cf258d703bdcc895c36213f375ba...9095b2ddc7b013eedb83c670d29fc97b27ae0ddf)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.1...v14.8.2)

###
[`v14.8.1`](https://github.com/capricorn86/happy-dom/compare/v14.8.0...2a8030f7a990cf258d703bdcc895c36213f375ba)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.0...v14.8.1)

###
[`v14.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v14.8.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.7.1...v14.8.0)

##### 🎨 Features

- Adds support for the `HTMLIFrameElement.srcdoc` property - By
**[@&#8203;jeffwcx](https://github.com/jeffwcx)** in task
[#&#8203;1398](https://github.com/capricorn86/happy-dom/issues/1398)

</details>

<details>
<summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary>

###
[`v3.9.1`](https://github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#391-2024-05-05)

[Compare
Source](https://github.com/qmhc/vite-plugin-dts/compare/v3.9.0...v3.9.1)

##### Bug Fixes

- correctly process cleaning .vue paths
([0a3ad73](https://github.com/qmhc/vite-plugin-dts/commit/0a3ad732f269eeaf838ee44604e143595ac60916)),
closes
[#&#8203;325](https://github.com/qmhc/vite-plugin-dts/issues/325)

</details>

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.4.27`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.26...v3.4.27)

##### Bug Fixes

- **compat:** include legacy scoped slots
([#&#8203;10868](https://github.com/vuejs/core/issues/10868))
([8366126](https://github.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)),
closes [#&#8203;8869](https://github.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with
unbracketed
([#&#8203;5789](https://github.com/vuejs/core/issues/5789))
([ca7d421](https://github.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)),
closes [#&#8203;5788](https://github.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option
elements ([#&#8203;10846](https://github.com/vuejs/core/issues/10846))
([0e3d617](https://github.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)),
closes [#&#8203;6568](https://github.com/vuejs/core/issues/6568)
[#&#8203;7434](https://github.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator
([#&#8203;10874](https://github.com/vuejs/core/issues/10874))
([10d34a5](https://github.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)),
closes [#&#8203;10871](https://github.com/vuejs/core/issues/10871)
- **hydration:** handle edge case of style mismatch without style
attribute
([f2c1412](https://github.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)),
closes [#&#8203;10786](https://github.com/vuejs/core/issues/10786)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.17`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.16...v2.0.17)

##### Features

- **language-core:** add JSDod support for component
([#&#8203;2377](https://github.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://github.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://github.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;4357](https://github.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://github.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://github.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;zhiyuanzmj](https://github.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://github.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://github.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://github.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;4092](https://github.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://github.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;zhiyuanzmj](https://github.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
([https://github.com/volarjs/volar.js/issues/173](https://github.com/volarjs/volar.js/issues/173))
- fix(typescript): additional completion not working in plugin
([#&#8203;4323](https://github.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
([https://github.com/volarjs/services/issues/30](https://github.com/volarjs/services/issues/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
([https://github.com/volarjs/services/issues/94](https://github.com/volarjs/services/issues/94))
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist:
    -   `mxsdev.typescript-explorer`
- Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate`
- Specify `packageManager`
([#&#8203;4358](https://github.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://github.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://github.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://github.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;4364](https://github.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://github.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 referenced this pull request in slipmatio/toolbelt 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://github.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://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.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://github.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://github.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://github.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://github.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://github.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://github.com/vuejs/language-tools)
([source](https://github.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://github.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare
Source](https://github.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://github.com/vuejs/test-utils/releases/tag/v2.4.6)

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

#### New Contributors

- [@&#8203;Jinjiang](https://github.com/Jinjiang) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2373](https://github.com/vuejs/test-utils/pull/2373)
- [@&#8203;taku-y-9308](https://github.com/taku-y-9308) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2375](https://github.com/vuejs/test-utils/pull/2375)
- [@&#8203;matusekma](https://github.com/matusekma) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2351](https://github.com/vuejs/test-utils/pull/2351)
- [@&#8203;w2xi](https://github.com/w2xi) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2398](https://github.com/vuejs/test-utils/pull/2398)
- [@&#8203;brc-dd](https://github.com/brc-dd) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2403](https://github.com/vuejs/test-utils/pull/2403)
- [@&#8203;KatWorkGit](https://github.com/KatWorkGit) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2422](https://github.com/vuejs/test-utils/pull/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://github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1)

###
[`v14.10.0`](https://github.com/capricorn86/happy-dom/releases/tag/v14.10.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0)

##### 🎨 Features

- Adds support for `Document.elementFromPoint()` - By
**[@&#8203;TreyVigus](https://github.com/TreyVigus)** in task
[#&#8203;1400](https://github.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://github.com/capricorn86/happy-dom/compare/v14.8.3...2e0329100edf7aef9987146b35024c0b90fab2aa)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.3...v14.9.0)

###
[`v14.8.3`](https://github.com/capricorn86/happy-dom/releases/tag/v14.8.3)

[Compare
Source](https://github.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://github.com/mdafanasev)** in task
[#&#8203;1406](https://github.com/capricorn86/happy-dom/issues/1406)

###
[`v14.8.2`](https://github.com/capricorn86/happy-dom/compare/2a8030f7a990cf258d703bdcc895c36213f375ba...9095b2ddc7b013eedb83c670d29fc97b27ae0ddf)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.1...v14.8.2)

###
[`v14.8.1`](https://github.com/capricorn86/happy-dom/compare/v14.8.0...2a8030f7a990cf258d703bdcc895c36213f375ba)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.8.0...v14.8.1)

###
[`v14.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v14.8.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v14.7.1...v14.8.0)

##### 🎨 Features

- Adds support for the `HTMLIFrameElement.srcdoc` property - By
**[@&#8203;jeffwcx](https://github.com/jeffwcx)** in task
[#&#8203;1398](https://github.com/capricorn86/happy-dom/issues/1398)

</details>

<details>
<summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary>

###
[`v3.9.1`](https://github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#391-2024-05-05)

[Compare
Source](https://github.com/qmhc/vite-plugin-dts/compare/v3.9.0...v3.9.1)

##### Bug Fixes

- correctly process cleaning .vue paths
([0a3ad73](https://github.com/qmhc/vite-plugin-dts/commit/0a3ad732f269eeaf838ee44604e143595ac60916)),
closes
[#&#8203;325](https://github.com/qmhc/vite-plugin-dts/issues/325)

</details>

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.4.27`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06)

[Compare
Source](https://github.com/vuejs/core/compare/v3.4.26...v3.4.27)

##### Bug Fixes

- **compat:** include legacy scoped slots
([#&#8203;10868](https://github.com/vuejs/core/issues/10868))
([8366126](https://github.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)),
closes [#&#8203;8869](https://github.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with
unbracketed
([#&#8203;5789](https://github.com/vuejs/core/issues/5789))
([ca7d421](https://github.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)),
closes [#&#8203;5788](https://github.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option
elements ([#&#8203;10846](https://github.com/vuejs/core/issues/10846))
([0e3d617](https://github.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)),
closes [#&#8203;6568](https://github.com/vuejs/core/issues/6568)
[#&#8203;7434](https://github.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator
([#&#8203;10874](https://github.com/vuejs/core/issues/10874))
([10d34a5](https://github.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)),
closes [#&#8203;10871](https://github.com/vuejs/core/issues/10871)
- **hydration:** handle edge case of style mismatch without style
attribute
([f2c1412](https://github.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)),
closes [#&#8203;10786](https://github.com/vuejs/core/issues/10786)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.17`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.16...v2.0.17)

##### Features

- **language-core:** add JSDod support for component
([#&#8203;2377](https://github.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://github.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://github.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;4357](https://github.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://github.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://github.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;zhiyuanzmj](https://github.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://github.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://github.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://github.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;4092](https://github.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://github.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;zhiyuanzmj](https://github.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
([https://github.com/volarjs/volar.js/issues/173](https://github.com/volarjs/volar.js/issues/173))
- fix(typescript): additional completion not working in plugin
([#&#8203;4323](https://github.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
([https://github.com/volarjs/services/issues/30](https://github.com/volarjs/services/issues/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
([https://github.com/volarjs/services/issues/94](https://github.com/volarjs/services/issues/94))
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist:
    -   `mxsdev.typescript-explorer`
- Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate`
- Specify `packageManager`
([#&#8203;4358](https://github.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://github.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://github.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://github.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;4364](https://github.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://github.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.

Bug: Stubs broken in vue@3.4.22
2 participants