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

Fixing prototype methods being discarded when using setData #2166

Merged
merged 2 commits into from
Aug 22, 2023

Conversation

rory-instil
Copy link
Contributor

Currently when calling setData on a wrapper it will not retain methods on any constructed objects passed in. These methods reside in the prototype which the current logic do not persist across. These changes will ensure that any prototype properties / methods are copied over to the proxied data object.

fixes #1851

@netlify
Copy link

netlify bot commented Aug 22, 2023

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

Name Link
🔨 Latest commit 6671b01
🔍 Latest deploy log https://app.netlify.com/sites/vue-test-utils-docs/deploys/64e4c8908efcad0007b78358
😎 Deploy Preview https://deploy-preview-2166--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
Member

@cexbrayat cexbrayat left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @rory-instil 👍

defineComponent({
template: '<div/>',
data() {
return { value: new TestClass() }
Copy link
Member

Choose a reason for hiding this comment

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

Maybe the initial value should be something else to see if setData properly updates it no?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As in a different class altogether?
Or just with some properties on the class that get changed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

for example:

it('should retain prototype methods for constructed objects when calling setData', async () => {
  const expectedResult = 'success!'
  class TestClass {
    name: string
    constructor(name: string) {
      this.name = name
    }
    getResult(): string {
      return expectedResult
    }
  }

  const wrapper = mount(
    defineComponent({
      template: '<div/>',
      data() {
        return { value: new TestClass('test1') }
      },
      methods: {
        getResult() {
          return `${this.value.name}: ${this.value.getResult()}`
        }
      }
    })
  )

  expect(wrapper.vm.getResult()).toStrictEqual(`test1: ${expectedResult}`)

  await wrapper.setData({
    value: new TestClass('test2')
  })

  expect(wrapper.vm.getResult()).toStrictEqual(`test2: ${expectedResult}`)
})

Copy link
Member

Choose a reason for hiding this comment

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

Yes, this looks good 👍
(nit: as it is TS, you can use constructor(private name: string))

@cexbrayat cexbrayat merged commit 0ad433e into vuejs:main Aug 22, 2023
6 checks passed
@cexbrayat
Copy link
Member

Thanks for the help @rory-instil !

renovate bot referenced this pull request in slipmatio/toolbelt Nov 20, 2023
[![Mend Renovate logo
banner](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.39.0` ->
`1.40.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.40.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.39.0/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.39.0/1.40.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)) |
[`20.8.10` ->
`20.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.8.10/20.9.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.8.10/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.8.10/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme)
([source](https://github.com/vitejs/vite-plugin-vue)) | [`4.4.0` ->
`4.5.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.4.0/4.5.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.4.0/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.4.0/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@vue/test-utils](https://github.com/vuejs/test-utils) | [`2.4.1` ->
`2.4.2`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.1/2.4.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2ftest-utils/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2ftest-utils/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2ftest-utils/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2ftest-utils/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://github.com/vitejs/vite/tree/main/#readme)
([source](https://github.com/vitejs/vite)) | [`4.5.0` ->
`5.0.0`](https://renovatebot.com/diffs/npm/vite/4.5.0/5.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.5.0/5.0.0?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.3.7` ->
`3.3.8`](https://renovatebot.com/diffs/npm/vue/3.3.7/3.3.8) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.3.7/3.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.3.7/3.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.40.0`](https://github.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://github.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://github.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

</details>

<details>
<summary>vitejs/vite-plugin-vue (@&#8203;vitejs/plugin-vue)</summary>

###
[`v4.5.0`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#450-2023-11-16)

- chore: update peerDependencies to support Vite 5
([#&#8203;290](https://github.com/vitejs/vite-plugin-vue/issues/290))
([f92861a](https://github.com/vitejs/vite-plugin-vue/commit/f92861a)),
closes
[#&#8203;290](https://github.com/vitejs/vite-plugin-vue/issues/290)
- chore: upgrade deps
([c046eba](https://github.com/vitejs/vite-plugin-vue/commit/c046eba))
- fix(deps): update all non-major dependencies
([#&#8203;262](https://github.com/vitejs/vite-plugin-vue/issues/262))
([c316d43](https://github.com/vitejs/vite-plugin-vue/commit/c316d43)),
closes
[#&#8203;262](https://github.com/vitejs/vite-plugin-vue/issues/262)

###
[`v4.4.1`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#small441-2023-11-08-small)

- fix: fix style block hmr for vitepress md files
([a26a854](https://github.com/vitejs/vite-plugin-vue/commit/a26a854)),
closes
[vuejs/vitepress#3129](https://github.com/vuejs/vitepress/issues/3129)
- chore: make tests pass with rollup4
([#&#8203;271](https://github.com/vitejs/vite-plugin-vue/issues/271))
([298d419](https://github.com/vitejs/vite-plugin-vue/commit/298d419)),
closes
[#&#8203;271](https://github.com/vitejs/vite-plugin-vue/issues/271)

</details>

<details>
<summary>vuejs/test-utils (@&#8203;vue/test-utils)</summary>

###
[`v2.4.2`](https://github.com/vuejs/test-utils/releases/tag/v2.4.2)

[Compare
Source](https://github.com/vuejs/test-utils/compare/v2.4.1...v2.4.2)

#### What's Changed

##### Fix

- fix: (could be considered a feature?) allow custom `<transition>`
stubs by [@&#8203;alecgibson](https://github.com/alecgibson) in
[https://github.com/vuejs/test-utils/pull/2185](https://github.com/vuejs/test-utils/pull/2185)
- fix: Fixing prototype methods being discarded when using `setData` by
[@&#8203;rory-instil](https://github.com/rory-instil) in
[https://github.com/vuejs/test-utils/pull/2166](https://github.com/vuejs/test-utils/pull/2166)
- fix(deps): update all non-major dependencies to v1.8.8 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2143](https://github.com/vuejs/test-utils/pull/2143)
- fix(deps): update all non-major dependencies to v1.8.13 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2193](https://github.com/vuejs/test-utils/pull/2193)
- fix(deps): update all non-major dependencies to v1.8.19 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2211](https://github.com/vuejs/test-utils/pull/2211)
- fix: stricter props types by
[@&#8203;alecgibson](https://github.com/alecgibson) in
[https://github.com/vuejs/test-utils/pull/2137](https://github.com/vuejs/test-utils/pull/2137)
- fix(deps): update all non-major dependencies to v1.8.21 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2224](https://github.com/vuejs/test-utils/pull/2224)
- fix: wrapper.text method by
[@&#8203;harunari0928](https://github.com/harunari0928) in
[https://github.com/vuejs/test-utils/pull/2231](https://github.com/vuejs/test-utils/pull/2231)
- fix(types): use `VNodeChild` type from `vue` to avoid breakage by
[@&#8203;sodatea](https://github.com/sodatea) in
[https://github.com/vuejs/test-utils/pull/2237](https://github.com/vuejs/test-utils/pull/2237)
- Fixed typo in accessibility word by
[@&#8203;ramsesmoreno](https://github.com/ramsesmoreno) in
[https://github.com/vuejs/test-utils/pull/2160](https://github.com/vuejs/test-utils/pull/2160)

##### Docs

- docs: Fix omission of async keywords. by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/vuejs/test-utils/pull/2163](https://github.com/vuejs/test-utils/pull/2163)
- docs: fix spell Exemple to Example by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/vuejs/test-utils/pull/2161](https://github.com/vuejs/test-utils/pull/2161)
- docs: Add removal of createWrapper by
[@&#8203;AntonioDell](https://github.com/AntonioDell) in
[https://github.com/vuejs/test-utils/pull/2235](https://github.com/vuejs/test-utils/pull/2235)
- docs: comparison of functions with v1 by
[@&#8203;freakzlike](https://github.com/freakzlike) in
[https://github.com/vuejs/test-utils/pull/2175](https://github.com/vuejs/test-utils/pull/2175)
- docs: fix typo in code example by
[@&#8203;dennybiasiolli](https://github.com/dennybiasiolli) in
[https://github.com/vuejs/test-utils/pull/2212](https://github.com/vuejs/test-utils/pull/2212)
- feat: update the website application by
[@&#8203;nazarepiedady](https://github.com/nazarepiedady) in
[https://github.com/vuejs/test-utils/pull/2171](https://github.com/vuejs/test-utils/pull/2171)

##### Chore

- Add WebdriverIO to list of supporting frameworks by
[@&#8203;christian-bromann](https://github.com/christian-bromann) in
[https://github.com/vuejs/test-utils/pull/2189](https://github.com/vuejs/test-utils/pull/2189)
- ci: add node v20 and drop node v16 by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vuejs/test-utils/pull/2190](https://github.com/vuejs/test-utils/pull/2190)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2233](https://github.com/vuejs/test-utils/pull/2233)
- preparing for Vue 3.3.9 by [@&#8203;pikax](https://github.com/pikax)
in
[https://github.com/vuejs/test-utils/pull/2240](https://github.com/vuejs/test-utils/pull/2240)

#### New Contributors

- [@&#8203;yasuaki640](https://github.com/yasuaki640) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2161](https://github.com/vuejs/test-utils/pull/2161)
- [@&#8203;ramsesmoreno](https://github.com/ramsesmoreno) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2160](https://github.com/vuejs/test-utils/pull/2160)
- [@&#8203;rory-instil](https://github.com/rory-instil) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2166](https://github.com/vuejs/test-utils/pull/2166)
- [@&#8203;nazarepiedady](https://github.com/nazarepiedady) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2171](https://github.com/vuejs/test-utils/pull/2171)
- [@&#8203;richex-cn](https://github.com/richex-cn) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2178](https://github.com/vuejs/test-utils/pull/2178)
- [@&#8203;christian-bromann](https://github.com/christian-bromann)
made their first contribution in
[https://github.com/vuejs/test-utils/pull/2189](https://github.com/vuejs/test-utils/pull/2189)
- [@&#8203;dennybiasiolli](https://github.com/dennybiasiolli) made
their first contribution in
[https://github.com/vuejs/test-utils/pull/2212](https://github.com/vuejs/test-utils/pull/2212)
- [@&#8203;harunari0928](https://github.com/harunari0928) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2231](https://github.com/vuejs/test-utils/pull/2231)
- [@&#8203;AntonioDell](https://github.com/AntonioDell) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2235](https://github.com/vuejs/test-utils/pull/2235)

**Full Changelog**:
vuejs/test-utils@v2.4.1...v2.4.2

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#500-2023-11-16)

</details>

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

###
[`v3.3.8`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#338-2023-11-06)

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

##### Bug Fixes

- **compile-sfc:** support `Error` type in `defineProps`
([#&#8203;5955](https://github.com/vuejs/core/issues/5955))
([a989345](https://github.com/vuejs/core/commit/a9893458ec519aae442e1b99e64e6d74685cd22c))
- **compiler-core:** known global should be shadowed by local variables
in expression rewrite
([#&#8203;9492](https://github.com/vuejs/core/issues/9492))
([a75d1c5](https://github.com/vuejs/core/commit/a75d1c5c6242e91a73cc5ba01e6da620dea0b3d9)),
closes [#&#8203;9482](https://github.com/vuejs/core/issues/9482)
- **compiler-sfc:** fix dynamic directive arguments usage check for
slots ([#&#8203;9495](https://github.com/vuejs/core/issues/9495))
([b39fa1f](https://github.com/vuejs/core/commit/b39fa1f8157647859331ce439c42ae016a49b415)),
closes [#&#8203;9493](https://github.com/vuejs/core/issues/9493)
- **deps:** update dependency
[@&#8203;vue/repl](https://github.com/vue/repl) to ^2.6.2
([#&#8203;9536](https://github.com/vuejs/core/issues/9536))
([5cef325](https://github.com/vuejs/core/commit/5cef325f41e3b38657c72fa1a38dedeee1c7a60a))
- **deps:** update dependency
[@&#8203;vue/repl](https://github.com/vue/repl) to ^2.6.3
([#&#8203;9540](https://github.com/vuejs/core/issues/9540))
([176d590](https://github.com/vuejs/core/commit/176d59058c9aecffe9da4d4311e98496684f06d4))
- **hydration:** fix tagName access eeror on comment/text node hydration
mismatch
([dd8a0cf](https://github.com/vuejs/core/commit/dd8a0cf5dcde13d2cbd899262a0e07f16e14e489)),
closes [#&#8203;9531](https://github.com/vuejs/core/issues/9531)
- **types:** avoid exposing lru-cache types in generated dts
([462aeb3](https://github.com/vuejs/core/commit/462aeb3b600765e219ded2ee9a0ed1e74df61de0)),
closes [#&#8203;9521](https://github.com/vuejs/core/issues/9521)
- **warn:** avoid warning on empty children with Suspense
([#&#8203;3962](https://github.com/vuejs/core/issues/3962))
([405f345](https://github.com/vuejs/core/commit/405f34587a63a5f1e3d147b9848219ea98acc22d))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in slipmatio/logger Nov 20, 2023
[![Mend Renovate logo
banner](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.39.0` ->
`1.40.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.40.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.39.0/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.39.0/1.40.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)) |
[`20.9.0` ->
`20.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.9.0/20.9.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.9.0/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.9.0/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme)
([source](https://github.com/vitejs/vite-plugin-vue)) | [`4.4.1` ->
`4.5.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.4.1/4.5.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@vue/test-utils](https://github.com/vuejs/test-utils) | [`2.4.1` ->
`2.4.2`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.1/2.4.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2ftest-utils/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2ftest-utils/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2ftest-utils/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2ftest-utils/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://github.com/vitejs/vite/tree/main/#readme)
([source](https://github.com/vitejs/vite)) | [`4.5.0` ->
`5.0.0`](https://renovatebot.com/diffs/npm/vite/4.5.0/5.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.40.0`](https://github.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://github.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://github.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

</details>

<details>
<summary>vitejs/vite-plugin-vue (@&#8203;vitejs/plugin-vue)</summary>

###
[`v4.5.0`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#450-2023-11-16)

- chore: update peerDependencies to support Vite 5
([#&#8203;290](https://github.com/vitejs/vite-plugin-vue/issues/290))
([f92861a](https://github.com/vitejs/vite-plugin-vue/commit/f92861a)),
closes
[#&#8203;290](https://github.com/vitejs/vite-plugin-vue/issues/290)
- chore: upgrade deps
([c046eba](https://github.com/vitejs/vite-plugin-vue/commit/c046eba))
- fix(deps): update all non-major dependencies
([#&#8203;262](https://github.com/vitejs/vite-plugin-vue/issues/262))
([c316d43](https://github.com/vitejs/vite-plugin-vue/commit/c316d43)),
closes
[#&#8203;262](https://github.com/vitejs/vite-plugin-vue/issues/262)

</details>

<details>
<summary>vuejs/test-utils (@&#8203;vue/test-utils)</summary>

###
[`v2.4.2`](https://github.com/vuejs/test-utils/releases/tag/v2.4.2)

[Compare
Source](https://github.com/vuejs/test-utils/compare/v2.4.1...v2.4.2)

#### What's Changed

##### Fix

- fix: (could be considered a feature?) allow custom `<transition>`
stubs by [@&#8203;alecgibson](https://github.com/alecgibson) in
[https://github.com/vuejs/test-utils/pull/2185](https://github.com/vuejs/test-utils/pull/2185)
- fix: Fixing prototype methods being discarded when using `setData` by
[@&#8203;rory-instil](https://github.com/rory-instil) in
[https://github.com/vuejs/test-utils/pull/2166](https://github.com/vuejs/test-utils/pull/2166)
- fix(deps): update all non-major dependencies to v1.8.8 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2143](https://github.com/vuejs/test-utils/pull/2143)
- fix(deps): update all non-major dependencies to v1.8.13 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2193](https://github.com/vuejs/test-utils/pull/2193)
- fix(deps): update all non-major dependencies to v1.8.19 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2211](https://github.com/vuejs/test-utils/pull/2211)
- fix: stricter props types by
[@&#8203;alecgibson](https://github.com/alecgibson) in
[https://github.com/vuejs/test-utils/pull/2137](https://github.com/vuejs/test-utils/pull/2137)
- fix(deps): update all non-major dependencies to v1.8.21 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2224](https://github.com/vuejs/test-utils/pull/2224)
- fix: wrapper.text method by
[@&#8203;harunari0928](https://github.com/harunari0928) in
[https://github.com/vuejs/test-utils/pull/2231](https://github.com/vuejs/test-utils/pull/2231)
- fix(types): use `VNodeChild` type from `vue` to avoid breakage by
[@&#8203;sodatea](https://github.com/sodatea) in
[https://github.com/vuejs/test-utils/pull/2237](https://github.com/vuejs/test-utils/pull/2237)
- Fixed typo in accessibility word by
[@&#8203;ramsesmoreno](https://github.com/ramsesmoreno) in
[https://github.com/vuejs/test-utils/pull/2160](https://github.com/vuejs/test-utils/pull/2160)

##### Docs

- docs: Fix omission of async keywords. by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/vuejs/test-utils/pull/2163](https://github.com/vuejs/test-utils/pull/2163)
- docs: fix spell Exemple to Example by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/vuejs/test-utils/pull/2161](https://github.com/vuejs/test-utils/pull/2161)
- docs: Add removal of createWrapper by
[@&#8203;AntonioDell](https://github.com/AntonioDell) in
[https://github.com/vuejs/test-utils/pull/2235](https://github.com/vuejs/test-utils/pull/2235)
- docs: comparison of functions with v1 by
[@&#8203;freakzlike](https://github.com/freakzlike) in
[https://github.com/vuejs/test-utils/pull/2175](https://github.com/vuejs/test-utils/pull/2175)
- docs: fix typo in code example by
[@&#8203;dennybiasiolli](https://github.com/dennybiasiolli) in
[https://github.com/vuejs/test-utils/pull/2212](https://github.com/vuejs/test-utils/pull/2212)
- feat: update the website application by
[@&#8203;nazarepiedady](https://github.com/nazarepiedady) in
[https://github.com/vuejs/test-utils/pull/2171](https://github.com/vuejs/test-utils/pull/2171)

##### Chore

- Add WebdriverIO to list of supporting frameworks by
[@&#8203;christian-bromann](https://github.com/christian-bromann) in
[https://github.com/vuejs/test-utils/pull/2189](https://github.com/vuejs/test-utils/pull/2189)
- ci: add node v20 and drop node v16 by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vuejs/test-utils/pull/2190](https://github.com/vuejs/test-utils/pull/2190)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2233](https://github.com/vuejs/test-utils/pull/2233)
- preparing for Vue 3.3.9 by [@&#8203;pikax](https://github.com/pikax)
in
[https://github.com/vuejs/test-utils/pull/2240](https://github.com/vuejs/test-utils/pull/2240)

#### New Contributors

- [@&#8203;yasuaki640](https://github.com/yasuaki640) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2161](https://github.com/vuejs/test-utils/pull/2161)
- [@&#8203;ramsesmoreno](https://github.com/ramsesmoreno) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2160](https://github.com/vuejs/test-utils/pull/2160)
- [@&#8203;rory-instil](https://github.com/rory-instil) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2166](https://github.com/vuejs/test-utils/pull/2166)
- [@&#8203;nazarepiedady](https://github.com/nazarepiedady) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2171](https://github.com/vuejs/test-utils/pull/2171)
- [@&#8203;richex-cn](https://github.com/richex-cn) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2178](https://github.com/vuejs/test-utils/pull/2178)
- [@&#8203;christian-bromann](https://github.com/christian-bromann)
made their first contribution in
[https://github.com/vuejs/test-utils/pull/2189](https://github.com/vuejs/test-utils/pull/2189)
- [@&#8203;dennybiasiolli](https://github.com/dennybiasiolli) made
their first contribution in
[https://github.com/vuejs/test-utils/pull/2212](https://github.com/vuejs/test-utils/pull/2212)
- [@&#8203;harunari0928](https://github.com/harunari0928) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2231](https://github.com/vuejs/test-utils/pull/2231)
- [@&#8203;AntonioDell](https://github.com/AntonioDell) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2235](https://github.com/vuejs/test-utils/pull/2235)

**Full Changelog**:
vuejs/test-utils@v2.4.1...v2.4.2

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#500-2023-11-16)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in slipmatio/ui Nov 20, 2023
[![Mend Renovate logo
banner](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.39.0` ->
`1.40.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.40.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.39.0/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.39.0/1.40.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)) |
[`20.9.0` ->
`20.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.9.0/20.9.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.9.0/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.9.0/20.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme)
([source](https://github.com/vitejs/vite-plugin-vue)) | [`4.4.1` ->
`4.5.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.4.1/4.5.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@vue/test-utils](https://github.com/vuejs/test-utils) | [`2.4.1` ->
`2.4.2`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.1/2.4.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2ftest-utils/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2ftest-utils/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2ftest-utils/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2ftest-utils/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://github.com/vitejs/vite/tree/main/#readme)
([source](https://github.com/vitejs/vite)) | [`4.5.0` ->
`5.0.0`](https://renovatebot.com/diffs/npm/vite/4.5.0/5.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.40.0`](https://github.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://github.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://github.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

</details>

<details>
<summary>vitejs/vite-plugin-vue (@&#8203;vitejs/plugin-vue)</summary>

###
[`v4.5.0`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#450-2023-11-16)

- chore: update peerDependencies to support Vite 5
([#&#8203;290](https://github.com/vitejs/vite-plugin-vue/issues/290))
([f92861a](https://github.com/vitejs/vite-plugin-vue/commit/f92861a)),
closes
[#&#8203;290](https://github.com/vitejs/vite-plugin-vue/issues/290)
- chore: upgrade deps
([c046eba](https://github.com/vitejs/vite-plugin-vue/commit/c046eba))
- fix(deps): update all non-major dependencies
([#&#8203;262](https://github.com/vitejs/vite-plugin-vue/issues/262))
([c316d43](https://github.com/vitejs/vite-plugin-vue/commit/c316d43)),
closes
[#&#8203;262](https://github.com/vitejs/vite-plugin-vue/issues/262)

</details>

<details>
<summary>vuejs/test-utils (@&#8203;vue/test-utils)</summary>

###
[`v2.4.2`](https://github.com/vuejs/test-utils/releases/tag/v2.4.2)

[Compare
Source](https://github.com/vuejs/test-utils/compare/v2.4.1...v2.4.2)

#### What's Changed

##### Fix

- fix: (could be considered a feature?) allow custom `<transition>`
stubs by [@&#8203;alecgibson](https://github.com/alecgibson) in
[https://github.com/vuejs/test-utils/pull/2185](https://github.com/vuejs/test-utils/pull/2185)
- fix: Fixing prototype methods being discarded when using `setData` by
[@&#8203;rory-instil](https://github.com/rory-instil) in
[https://github.com/vuejs/test-utils/pull/2166](https://github.com/vuejs/test-utils/pull/2166)
- fix(deps): update all non-major dependencies to v1.8.8 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2143](https://github.com/vuejs/test-utils/pull/2143)
- fix(deps): update all non-major dependencies to v1.8.13 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2193](https://github.com/vuejs/test-utils/pull/2193)
- fix(deps): update all non-major dependencies to v1.8.19 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2211](https://github.com/vuejs/test-utils/pull/2211)
- fix: stricter props types by
[@&#8203;alecgibson](https://github.com/alecgibson) in
[https://github.com/vuejs/test-utils/pull/2137](https://github.com/vuejs/test-utils/pull/2137)
- fix(deps): update all non-major dependencies to v1.8.21 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2224](https://github.com/vuejs/test-utils/pull/2224)
- fix: wrapper.text method by
[@&#8203;harunari0928](https://github.com/harunari0928) in
[https://github.com/vuejs/test-utils/pull/2231](https://github.com/vuejs/test-utils/pull/2231)
- fix(types): use `VNodeChild` type from `vue` to avoid breakage by
[@&#8203;sodatea](https://github.com/sodatea) in
[https://github.com/vuejs/test-utils/pull/2237](https://github.com/vuejs/test-utils/pull/2237)
- Fixed typo in accessibility word by
[@&#8203;ramsesmoreno](https://github.com/ramsesmoreno) in
[https://github.com/vuejs/test-utils/pull/2160](https://github.com/vuejs/test-utils/pull/2160)

##### Docs

- docs: Fix omission of async keywords. by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/vuejs/test-utils/pull/2163](https://github.com/vuejs/test-utils/pull/2163)
- docs: fix spell Exemple to Example by
[@&#8203;yasuaki640](https://github.com/yasuaki640) in
[https://github.com/vuejs/test-utils/pull/2161](https://github.com/vuejs/test-utils/pull/2161)
- docs: Add removal of createWrapper by
[@&#8203;AntonioDell](https://github.com/AntonioDell) in
[https://github.com/vuejs/test-utils/pull/2235](https://github.com/vuejs/test-utils/pull/2235)
- docs: comparison of functions with v1 by
[@&#8203;freakzlike](https://github.com/freakzlike) in
[https://github.com/vuejs/test-utils/pull/2175](https://github.com/vuejs/test-utils/pull/2175)
- docs: fix typo in code example by
[@&#8203;dennybiasiolli](https://github.com/dennybiasiolli) in
[https://github.com/vuejs/test-utils/pull/2212](https://github.com/vuejs/test-utils/pull/2212)
- feat: update the website application by
[@&#8203;nazarepiedady](https://github.com/nazarepiedady) in
[https://github.com/vuejs/test-utils/pull/2171](https://github.com/vuejs/test-utils/pull/2171)

##### Chore

- Add WebdriverIO to list of supporting frameworks by
[@&#8203;christian-bromann](https://github.com/christian-bromann) in
[https://github.com/vuejs/test-utils/pull/2189](https://github.com/vuejs/test-utils/pull/2189)
- ci: add node v20 and drop node v16 by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vuejs/test-utils/pull/2190](https://github.com/vuejs/test-utils/pull/2190)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/vuejs/test-utils/pull/2233](https://github.com/vuejs/test-utils/pull/2233)
- preparing for Vue 3.3.9 by [@&#8203;pikax](https://github.com/pikax)
in
[https://github.com/vuejs/test-utils/pull/2240](https://github.com/vuejs/test-utils/pull/2240)

#### New Contributors

- [@&#8203;yasuaki640](https://github.com/yasuaki640) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2161](https://github.com/vuejs/test-utils/pull/2161)
- [@&#8203;ramsesmoreno](https://github.com/ramsesmoreno) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2160](https://github.com/vuejs/test-utils/pull/2160)
- [@&#8203;rory-instil](https://github.com/rory-instil) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2166](https://github.com/vuejs/test-utils/pull/2166)
- [@&#8203;nazarepiedady](https://github.com/nazarepiedady) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2171](https://github.com/vuejs/test-utils/pull/2171)
- [@&#8203;richex-cn](https://github.com/richex-cn) made their first
contribution in
[https://github.com/vuejs/test-utils/pull/2178](https://github.com/vuejs/test-utils/pull/2178)
- [@&#8203;christian-bromann](https://github.com/christian-bromann)
made their first contribution in
[https://github.com/vuejs/test-utils/pull/2189](https://github.com/vuejs/test-utils/pull/2189)
- [@&#8203;dennybiasiolli](https://github.com/dennybiasiolli) made
their first contribution in
[https://github.com/vuejs/test-utils/pull/2212](https://github.com/vuejs/test-utils/pull/2212)
- [@&#8203;harunari0928](https://github.com/harunari0928) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2231](https://github.com/vuejs/test-utils/pull/2231)
- [@&#8203;AntonioDell](https://github.com/AntonioDell) made their
first contribution in
[https://github.com/vuejs/test-utils/pull/2235](https://github.com/vuejs/test-utils/pull/2235)

**Full Changelog**:
vuejs/test-utils@v2.4.1...v2.4.2

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#500-2023-11-16)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

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: setData with classes/Object prototypes does not work correctly
2 participants