Conversation
✅ Deploy Preview for vue-test-utils-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
db15b9d to
4c055cd
Compare
tests/props.spec.ts
Outdated
|
|
||
| it('should get props from functional component', async () => { | ||
| const wrapper = mount(Title, { | ||
| const wrapper: VueWrapper<any> = mount(Title, { |
There was a problem hiding this comment.
I had to add this to make the compilation pass; I'm not sure I understand why this isn't working properly with the functional component? Feels like this is an issue with functional component types rather than my change, right...?
There was a problem hiding this comment.
I'm not sure.
@johnsoncodehk Would you mind taking a look at this PR please? Is this the proper way to type props?
There was a problem hiding this comment.
If we add something that requires users to add code to their code base (like this) I think this would be a breaking change, which I'm not sure we'd want to do.
Not sure if Johnson will have time to 👀 , we may need to have a look. Vue types are too complex 😓
There was a problem hiding this comment.
Okay have applied @pikax 's suggestion and the build is green without this cast
cexbrayat
left a comment
There was a problem hiding this comment.
I think we need @johnsoncodehk insight
tests/props.spec.ts
Outdated
|
|
||
| it('should get props from functional component', async () => { | ||
| const wrapper = mount(Title, { | ||
| const wrapper: VueWrapper<any> = mount(Title, { |
There was a problem hiding this comment.
I'm not sure.
@johnsoncodehk Would you mind taking a look at this PR please? Is this the proper way to type props?
|
We may need to just find some wild code bases to validate if this breaks anything. Maybe GitLab (not sure if they are on Vue 3 yet) or Cypress (cypress/vue uses Test Utils) |
|
@alecgibson if you change the export function mount<
T,
C = T extends ((...args: any) => any) | (new (...args: any) => any)
? T
: T extends { props?: infer Props }
? DefineComponent<
Props extends Readonly<(infer PropNames)[]> | (infer PropNames)[]
? { [key in PropNames extends string ? PropNames : string]?: any }
: Props
>
: DefineComponent
>(
originalComponent: T,
options?: ComponentMountingOptions<C>
): VueWrapper<
ComponentProps<C> & ComponentData<C> & ComponentExposed<C>,
ComponentPublicInstance<
ComponentProps<C>,
ComponentData<C> & ComponentExposed<C>
>
>it should work without needing to cast on functional components const wrapper: VueWrapper<any> = mount(Title, { |
At the moment, `mount()` offers [strong typing][1] of props, but this strong typing is lost when dealing with the `VueWrapper` through either the `props()` or `setProps()` methods. This change strengthens the typing of these methods to help raise compile-time errors when trying to get or set incorrect props. [1]: https://github.com/vuejs/test-utils/blob/11b34745e8e66fc747881dfb1ce94cef537c455e/src/types.ts#L44
1ede858 to
dac5950
Compare
|
LGTM 👍 (Sorry for the delay!) |
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` -> `1.40.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.40.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`20.8.10` -> `20.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.8.10/20.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://togithub.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://togithub.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) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vue/test-utils](https://togithub.com/vuejs/test-utils) | [`2.4.1` -> `2.4.2`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.1/2.4.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`4.5.0` -> `5.0.0`](https://renovatebot.com/diffs/npm/vite/4.5.0/5.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://togithub.com/vuejs/core)) | [`3.3.7` -> `3.3.8`](https://renovatebot.com/diffs/npm/vue/3.3.7/3.3.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0) #### Test Generator Update  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 '@​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 (@​vitejs/plugin-vue)</summary> ### [`v4.5.0`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#450-2023-11-16) - chore: update peerDependencies to support Vite 5 ([#​290](https://togithub.com/vitejs/vite-plugin-vue/issues/290)) ([f92861a](https://togithub.com/vitejs/vite-plugin-vue/commit/f92861a)), closes [#​290](https://togithub.com/vitejs/vite-plugin-vue/issues/290) - chore: upgrade deps ([c046eba](https://togithub.com/vitejs/vite-plugin-vue/commit/c046eba)) - fix(deps): update all non-major dependencies ([#​262](https://togithub.com/vitejs/vite-plugin-vue/issues/262)) ([c316d43](https://togithub.com/vitejs/vite-plugin-vue/commit/c316d43)), closes [#​262](https://togithub.com/vitejs/vite-plugin-vue/issues/262) ### [`v4.4.1`](https://togithub.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://togithub.com/vitejs/vite-plugin-vue/commit/a26a854)), closes [vuejs/vitepress#3129](https://togithub.com/vuejs/vitepress/issues/3129) - chore: make tests pass with rollup4 ([#​271](https://togithub.com/vitejs/vite-plugin-vue/issues/271)) ([298d419](https://togithub.com/vitejs/vite-plugin-vue/commit/298d419)), closes [#​271](https://togithub.com/vitejs/vite-plugin-vue/issues/271) </details> <details> <summary>vuejs/test-utils (@​vue/test-utils)</summary> ### [`v2.4.2`](https://togithub.com/vuejs/test-utils/releases/tag/v2.4.2) [Compare Source](https://togithub.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 [@​alecgibson](https://togithub.com/alecgibson) in [https://github.com/vuejs/test-utils/pull/2185](https://togithub.com/vuejs/test-utils/pull/2185) - fix: Fixing prototype methods being discarded when using `setData` by [@​rory-instil](https://togithub.com/rory-instil) in [https://github.com/vuejs/test-utils/pull/2166](https://togithub.com/vuejs/test-utils/pull/2166) - fix(deps): update all non-major dependencies to v1.8.8 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2143](https://togithub.com/vuejs/test-utils/pull/2143) - fix(deps): update all non-major dependencies to v1.8.13 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2193](https://togithub.com/vuejs/test-utils/pull/2193) - fix(deps): update all non-major dependencies to v1.8.19 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2211](https://togithub.com/vuejs/test-utils/pull/2211) - fix: stricter props types by [@​alecgibson](https://togithub.com/alecgibson) in [https://github.com/vuejs/test-utils/pull/2137](https://togithub.com/vuejs/test-utils/pull/2137) - fix(deps): update all non-major dependencies to v1.8.21 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2224](https://togithub.com/vuejs/test-utils/pull/2224) - fix: wrapper.text method by [@​harunari0928](https://togithub.com/harunari0928) in [https://github.com/vuejs/test-utils/pull/2231](https://togithub.com/vuejs/test-utils/pull/2231) - fix(types): use `VNodeChild` type from `vue` to avoid breakage by [@​sodatea](https://togithub.com/sodatea) in [https://github.com/vuejs/test-utils/pull/2237](https://togithub.com/vuejs/test-utils/pull/2237) - Fixed typo in accessibility word by [@​ramsesmoreno](https://togithub.com/ramsesmoreno) in [https://github.com/vuejs/test-utils/pull/2160](https://togithub.com/vuejs/test-utils/pull/2160) ##### Docs - docs: Fix omission of async keywords. by [@​yasuaki640](https://togithub.com/yasuaki640) in [https://github.com/vuejs/test-utils/pull/2163](https://togithub.com/vuejs/test-utils/pull/2163) - docs: fix spell Exemple to Example by [@​yasuaki640](https://togithub.com/yasuaki640) in [https://github.com/vuejs/test-utils/pull/2161](https://togithub.com/vuejs/test-utils/pull/2161) - docs: Add removal of createWrapper by [@​AntonioDell](https://togithub.com/AntonioDell) in [https://github.com/vuejs/test-utils/pull/2235](https://togithub.com/vuejs/test-utils/pull/2235) - docs: comparison of functions with v1 by [@​freakzlike](https://togithub.com/freakzlike) in [https://github.com/vuejs/test-utils/pull/2175](https://togithub.com/vuejs/test-utils/pull/2175) - docs: fix typo in code example by [@​dennybiasiolli](https://togithub.com/dennybiasiolli) in [https://github.com/vuejs/test-utils/pull/2212](https://togithub.com/vuejs/test-utils/pull/2212) - feat: update the website application by [@​nazarepiedady](https://togithub.com/nazarepiedady) in [https://github.com/vuejs/test-utils/pull/2171](https://togithub.com/vuejs/test-utils/pull/2171) ##### Chore - Add WebdriverIO to list of supporting frameworks by [@​christian-bromann](https://togithub.com/christian-bromann) in [https://github.com/vuejs/test-utils/pull/2189](https://togithub.com/vuejs/test-utils/pull/2189) - ci: add node v20 and drop node v16 by [@​cexbrayat](https://togithub.com/cexbrayat) in [https://github.com/vuejs/test-utils/pull/2190](https://togithub.com/vuejs/test-utils/pull/2190) - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2233](https://togithub.com/vuejs/test-utils/pull/2233) - preparing for Vue 3.3.9 by [@​pikax](https://togithub.com/pikax) in [https://github.com/vuejs/test-utils/pull/2240](https://togithub.com/vuejs/test-utils/pull/2240) #### New Contributors - [@​yasuaki640](https://togithub.com/yasuaki640) made their first contribution in [https://github.com/vuejs/test-utils/pull/2161](https://togithub.com/vuejs/test-utils/pull/2161) - [@​ramsesmoreno](https://togithub.com/ramsesmoreno) made their first contribution in [https://github.com/vuejs/test-utils/pull/2160](https://togithub.com/vuejs/test-utils/pull/2160) - [@​rory-instil](https://togithub.com/rory-instil) made their first contribution in [https://github.com/vuejs/test-utils/pull/2166](https://togithub.com/vuejs/test-utils/pull/2166) - [@​nazarepiedady](https://togithub.com/nazarepiedady) made their first contribution in [https://github.com/vuejs/test-utils/pull/2171](https://togithub.com/vuejs/test-utils/pull/2171) - [@​richex-cn](https://togithub.com/richex-cn) made their first contribution in [https://github.com/vuejs/test-utils/pull/2178](https://togithub.com/vuejs/test-utils/pull/2178) - [@​christian-bromann](https://togithub.com/christian-bromann) made their first contribution in [https://github.com/vuejs/test-utils/pull/2189](https://togithub.com/vuejs/test-utils/pull/2189) - [@​dennybiasiolli](https://togithub.com/dennybiasiolli) made their first contribution in [https://github.com/vuejs/test-utils/pull/2212](https://togithub.com/vuejs/test-utils/pull/2212) - [@​harunari0928](https://togithub.com/harunari0928) made their first contribution in [https://github.com/vuejs/test-utils/pull/2231](https://togithub.com/vuejs/test-utils/pull/2231) - [@​AntonioDell](https://togithub.com/AntonioDell) made their first contribution in [https://github.com/vuejs/test-utils/pull/2235](https://togithub.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://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#500-2023-11-16) </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.3.8`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#338-2023-11-06) [Compare Source](https://togithub.com/vuejs/core/compare/v3.3.7...v3.3.8) ##### Bug Fixes - **compile-sfc:** support `Error` type in `defineProps` ([#​5955](https://togithub.com/vuejs/core/issues/5955)) ([a989345](https://togithub.com/vuejs/core/commit/a9893458ec519aae442e1b99e64e6d74685cd22c)) - **compiler-core:** known global should be shadowed by local variables in expression rewrite ([#​9492](https://togithub.com/vuejs/core/issues/9492)) ([a75d1c5](https://togithub.com/vuejs/core/commit/a75d1c5c6242e91a73cc5ba01e6da620dea0b3d9)), closes [#​9482](https://togithub.com/vuejs/core/issues/9482) - **compiler-sfc:** fix dynamic directive arguments usage check for slots ([#​9495](https://togithub.com/vuejs/core/issues/9495)) ([b39fa1f](https://togithub.com/vuejs/core/commit/b39fa1f8157647859331ce439c42ae016a49b415)), closes [#​9493](https://togithub.com/vuejs/core/issues/9493) - **deps:** update dependency [@​vue/repl](https://togithub.com/vue/repl) to ^2.6.2 ([#​9536](https://togithub.com/vuejs/core/issues/9536)) ([5cef325](https://togithub.com/vuejs/core/commit/5cef325f41e3b38657c72fa1a38dedeee1c7a60a)) - **deps:** update dependency [@​vue/repl](https://togithub.com/vue/repl) to ^2.6.3 ([#​9540](https://togithub.com/vuejs/core/issues/9540)) ([176d590](https://togithub.com/vuejs/core/commit/176d59058c9aecffe9da4d4311e98496684f06d4)) - **hydration:** fix tagName access eeror on comment/text node hydration mismatch ([dd8a0cf](https://togithub.com/vuejs/core/commit/dd8a0cf5dcde13d2cbd899262a0e07f16e14e489)), closes [#​9531](https://togithub.com/vuejs/core/issues/9531) - **types:** avoid exposing lru-cache types in generated dts ([462aeb3](https://togithub.com/vuejs/core/commit/462aeb3b600765e219ded2ee9a0ed1e74df61de0)), closes [#​9521](https://togithub.com/vuejs/core/issues/9521) - **warn:** avoid warning on empty children with Suspense ([#​3962](https://togithub.com/vuejs/core/issues/3962)) ([405f345](https://togithub.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://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/toolbelt). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` -> `1.40.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.40.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`20.9.0` -> `20.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.9.0/20.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://togithub.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://togithub.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) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vue/test-utils](https://togithub.com/vuejs/test-utils) | [`2.4.1` -> `2.4.2`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.1/2.4.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`4.5.0` -> `5.0.0`](https://renovatebot.com/diffs/npm/vite/4.5.0/5.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0) #### Test Generator Update  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 '@​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 (@​vitejs/plugin-vue)</summary> ### [`v4.5.0`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#450-2023-11-16) - chore: update peerDependencies to support Vite 5 ([#​290](https://togithub.com/vitejs/vite-plugin-vue/issues/290)) ([f92861a](https://togithub.com/vitejs/vite-plugin-vue/commit/f92861a)), closes [#​290](https://togithub.com/vitejs/vite-plugin-vue/issues/290) - chore: upgrade deps ([c046eba](https://togithub.com/vitejs/vite-plugin-vue/commit/c046eba)) - fix(deps): update all non-major dependencies ([#​262](https://togithub.com/vitejs/vite-plugin-vue/issues/262)) ([c316d43](https://togithub.com/vitejs/vite-plugin-vue/commit/c316d43)), closes [#​262](https://togithub.com/vitejs/vite-plugin-vue/issues/262) </details> <details> <summary>vuejs/test-utils (@​vue/test-utils)</summary> ### [`v2.4.2`](https://togithub.com/vuejs/test-utils/releases/tag/v2.4.2) [Compare Source](https://togithub.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 [@​alecgibson](https://togithub.com/alecgibson) in [https://github.com/vuejs/test-utils/pull/2185](https://togithub.com/vuejs/test-utils/pull/2185) - fix: Fixing prototype methods being discarded when using `setData` by [@​rory-instil](https://togithub.com/rory-instil) in [https://github.com/vuejs/test-utils/pull/2166](https://togithub.com/vuejs/test-utils/pull/2166) - fix(deps): update all non-major dependencies to v1.8.8 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2143](https://togithub.com/vuejs/test-utils/pull/2143) - fix(deps): update all non-major dependencies to v1.8.13 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2193](https://togithub.com/vuejs/test-utils/pull/2193) - fix(deps): update all non-major dependencies to v1.8.19 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2211](https://togithub.com/vuejs/test-utils/pull/2211) - fix: stricter props types by [@​alecgibson](https://togithub.com/alecgibson) in [https://github.com/vuejs/test-utils/pull/2137](https://togithub.com/vuejs/test-utils/pull/2137) - fix(deps): update all non-major dependencies to v1.8.21 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2224](https://togithub.com/vuejs/test-utils/pull/2224) - fix: wrapper.text method by [@​harunari0928](https://togithub.com/harunari0928) in [https://github.com/vuejs/test-utils/pull/2231](https://togithub.com/vuejs/test-utils/pull/2231) - fix(types): use `VNodeChild` type from `vue` to avoid breakage by [@​sodatea](https://togithub.com/sodatea) in [https://github.com/vuejs/test-utils/pull/2237](https://togithub.com/vuejs/test-utils/pull/2237) - Fixed typo in accessibility word by [@​ramsesmoreno](https://togithub.com/ramsesmoreno) in [https://github.com/vuejs/test-utils/pull/2160](https://togithub.com/vuejs/test-utils/pull/2160) ##### Docs - docs: Fix omission of async keywords. by [@​yasuaki640](https://togithub.com/yasuaki640) in [https://github.com/vuejs/test-utils/pull/2163](https://togithub.com/vuejs/test-utils/pull/2163) - docs: fix spell Exemple to Example by [@​yasuaki640](https://togithub.com/yasuaki640) in [https://github.com/vuejs/test-utils/pull/2161](https://togithub.com/vuejs/test-utils/pull/2161) - docs: Add removal of createWrapper by [@​AntonioDell](https://togithub.com/AntonioDell) in [https://github.com/vuejs/test-utils/pull/2235](https://togithub.com/vuejs/test-utils/pull/2235) - docs: comparison of functions with v1 by [@​freakzlike](https://togithub.com/freakzlike) in [https://github.com/vuejs/test-utils/pull/2175](https://togithub.com/vuejs/test-utils/pull/2175) - docs: fix typo in code example by [@​dennybiasiolli](https://togithub.com/dennybiasiolli) in [https://github.com/vuejs/test-utils/pull/2212](https://togithub.com/vuejs/test-utils/pull/2212) - feat: update the website application by [@​nazarepiedady](https://togithub.com/nazarepiedady) in [https://github.com/vuejs/test-utils/pull/2171](https://togithub.com/vuejs/test-utils/pull/2171) ##### Chore - Add WebdriverIO to list of supporting frameworks by [@​christian-bromann](https://togithub.com/christian-bromann) in [https://github.com/vuejs/test-utils/pull/2189](https://togithub.com/vuejs/test-utils/pull/2189) - ci: add node v20 and drop node v16 by [@​cexbrayat](https://togithub.com/cexbrayat) in [https://github.com/vuejs/test-utils/pull/2190](https://togithub.com/vuejs/test-utils/pull/2190) - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2233](https://togithub.com/vuejs/test-utils/pull/2233) - preparing for Vue 3.3.9 by [@​pikax](https://togithub.com/pikax) in [https://github.com/vuejs/test-utils/pull/2240](https://togithub.com/vuejs/test-utils/pull/2240) #### New Contributors - [@​yasuaki640](https://togithub.com/yasuaki640) made their first contribution in [https://github.com/vuejs/test-utils/pull/2161](https://togithub.com/vuejs/test-utils/pull/2161) - [@​ramsesmoreno](https://togithub.com/ramsesmoreno) made their first contribution in [https://github.com/vuejs/test-utils/pull/2160](https://togithub.com/vuejs/test-utils/pull/2160) - [@​rory-instil](https://togithub.com/rory-instil) made their first contribution in [https://github.com/vuejs/test-utils/pull/2166](https://togithub.com/vuejs/test-utils/pull/2166) - [@​nazarepiedady](https://togithub.com/nazarepiedady) made their first contribution in [https://github.com/vuejs/test-utils/pull/2171](https://togithub.com/vuejs/test-utils/pull/2171) - [@​richex-cn](https://togithub.com/richex-cn) made their first contribution in [https://github.com/vuejs/test-utils/pull/2178](https://togithub.com/vuejs/test-utils/pull/2178) - [@​christian-bromann](https://togithub.com/christian-bromann) made their first contribution in [https://github.com/vuejs/test-utils/pull/2189](https://togithub.com/vuejs/test-utils/pull/2189) - [@​dennybiasiolli](https://togithub.com/dennybiasiolli) made their first contribution in [https://github.com/vuejs/test-utils/pull/2212](https://togithub.com/vuejs/test-utils/pull/2212) - [@​harunari0928](https://togithub.com/harunari0928) made their first contribution in [https://github.com/vuejs/test-utils/pull/2231](https://togithub.com/vuejs/test-utils/pull/2231) - [@​AntonioDell](https://togithub.com/AntonioDell) made their first contribution in [https://github.com/vuejs/test-utils/pull/2235](https://togithub.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://togithub.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://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/logger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` -> `1.40.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.40.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`20.9.0` -> `20.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.9.0/20.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://togithub.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://togithub.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) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@vue/test-utils](https://togithub.com/vuejs/test-utils) | [`2.4.1` -> `2.4.2`](https://renovatebot.com/diffs/npm/@vue%2ftest-utils/2.4.1/2.4.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`4.5.0` -> `5.0.0`](https://renovatebot.com/diffs/npm/vite/4.5.0/5.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0) #### Test Generator Update  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 '@​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 (@​vitejs/plugin-vue)</summary> ### [`v4.5.0`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#450-2023-11-16) - chore: update peerDependencies to support Vite 5 ([#​290](https://togithub.com/vitejs/vite-plugin-vue/issues/290)) ([f92861a](https://togithub.com/vitejs/vite-plugin-vue/commit/f92861a)), closes [#​290](https://togithub.com/vitejs/vite-plugin-vue/issues/290) - chore: upgrade deps ([c046eba](https://togithub.com/vitejs/vite-plugin-vue/commit/c046eba)) - fix(deps): update all non-major dependencies ([#​262](https://togithub.com/vitejs/vite-plugin-vue/issues/262)) ([c316d43](https://togithub.com/vitejs/vite-plugin-vue/commit/c316d43)), closes [#​262](https://togithub.com/vitejs/vite-plugin-vue/issues/262) </details> <details> <summary>vuejs/test-utils (@​vue/test-utils)</summary> ### [`v2.4.2`](https://togithub.com/vuejs/test-utils/releases/tag/v2.4.2) [Compare Source](https://togithub.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 [@​alecgibson](https://togithub.com/alecgibson) in [https://github.com/vuejs/test-utils/pull/2185](https://togithub.com/vuejs/test-utils/pull/2185) - fix: Fixing prototype methods being discarded when using `setData` by [@​rory-instil](https://togithub.com/rory-instil) in [https://github.com/vuejs/test-utils/pull/2166](https://togithub.com/vuejs/test-utils/pull/2166) - fix(deps): update all non-major dependencies to v1.8.8 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2143](https://togithub.com/vuejs/test-utils/pull/2143) - fix(deps): update all non-major dependencies to v1.8.13 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2193](https://togithub.com/vuejs/test-utils/pull/2193) - fix(deps): update all non-major dependencies to v1.8.19 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2211](https://togithub.com/vuejs/test-utils/pull/2211) - fix: stricter props types by [@​alecgibson](https://togithub.com/alecgibson) in [https://github.com/vuejs/test-utils/pull/2137](https://togithub.com/vuejs/test-utils/pull/2137) - fix(deps): update all non-major dependencies to v1.8.21 by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2224](https://togithub.com/vuejs/test-utils/pull/2224) - fix: wrapper.text method by [@​harunari0928](https://togithub.com/harunari0928) in [https://github.com/vuejs/test-utils/pull/2231](https://togithub.com/vuejs/test-utils/pull/2231) - fix(types): use `VNodeChild` type from `vue` to avoid breakage by [@​sodatea](https://togithub.com/sodatea) in [https://github.com/vuejs/test-utils/pull/2237](https://togithub.com/vuejs/test-utils/pull/2237) - Fixed typo in accessibility word by [@​ramsesmoreno](https://togithub.com/ramsesmoreno) in [https://github.com/vuejs/test-utils/pull/2160](https://togithub.com/vuejs/test-utils/pull/2160) ##### Docs - docs: Fix omission of async keywords. by [@​yasuaki640](https://togithub.com/yasuaki640) in [https://github.com/vuejs/test-utils/pull/2163](https://togithub.com/vuejs/test-utils/pull/2163) - docs: fix spell Exemple to Example by [@​yasuaki640](https://togithub.com/yasuaki640) in [https://github.com/vuejs/test-utils/pull/2161](https://togithub.com/vuejs/test-utils/pull/2161) - docs: Add removal of createWrapper by [@​AntonioDell](https://togithub.com/AntonioDell) in [https://github.com/vuejs/test-utils/pull/2235](https://togithub.com/vuejs/test-utils/pull/2235) - docs: comparison of functions with v1 by [@​freakzlike](https://togithub.com/freakzlike) in [https://github.com/vuejs/test-utils/pull/2175](https://togithub.com/vuejs/test-utils/pull/2175) - docs: fix typo in code example by [@​dennybiasiolli](https://togithub.com/dennybiasiolli) in [https://github.com/vuejs/test-utils/pull/2212](https://togithub.com/vuejs/test-utils/pull/2212) - feat: update the website application by [@​nazarepiedady](https://togithub.com/nazarepiedady) in [https://github.com/vuejs/test-utils/pull/2171](https://togithub.com/vuejs/test-utils/pull/2171) ##### Chore - Add WebdriverIO to list of supporting frameworks by [@​christian-bromann](https://togithub.com/christian-bromann) in [https://github.com/vuejs/test-utils/pull/2189](https://togithub.com/vuejs/test-utils/pull/2189) - ci: add node v20 and drop node v16 by [@​cexbrayat](https://togithub.com/cexbrayat) in [https://github.com/vuejs/test-utils/pull/2190](https://togithub.com/vuejs/test-utils/pull/2190) - chore(deps): update all non-major dependencies by [@​renovate](https://togithub.com/renovate) in [https://github.com/vuejs/test-utils/pull/2233](https://togithub.com/vuejs/test-utils/pull/2233) - preparing for Vue 3.3.9 by [@​pikax](https://togithub.com/pikax) in [https://github.com/vuejs/test-utils/pull/2240](https://togithub.com/vuejs/test-utils/pull/2240) #### New Contributors - [@​yasuaki640](https://togithub.com/yasuaki640) made their first contribution in [https://github.com/vuejs/test-utils/pull/2161](https://togithub.com/vuejs/test-utils/pull/2161) - [@​ramsesmoreno](https://togithub.com/ramsesmoreno) made their first contribution in [https://github.com/vuejs/test-utils/pull/2160](https://togithub.com/vuejs/test-utils/pull/2160) - [@​rory-instil](https://togithub.com/rory-instil) made their first contribution in [https://github.com/vuejs/test-utils/pull/2166](https://togithub.com/vuejs/test-utils/pull/2166) - [@​nazarepiedady](https://togithub.com/nazarepiedady) made their first contribution in [https://github.com/vuejs/test-utils/pull/2171](https://togithub.com/vuejs/test-utils/pull/2171) - [@​richex-cn](https://togithub.com/richex-cn) made their first contribution in [https://github.com/vuejs/test-utils/pull/2178](https://togithub.com/vuejs/test-utils/pull/2178) - [@​christian-bromann](https://togithub.com/christian-bromann) made their first contribution in [https://github.com/vuejs/test-utils/pull/2189](https://togithub.com/vuejs/test-utils/pull/2189) - [@​dennybiasiolli](https://togithub.com/dennybiasiolli) made their first contribution in [https://github.com/vuejs/test-utils/pull/2212](https://togithub.com/vuejs/test-utils/pull/2212) - [@​harunari0928](https://togithub.com/harunari0928) made their first contribution in [https://github.com/vuejs/test-utils/pull/2231](https://togithub.com/vuejs/test-utils/pull/2231) - [@​AntonioDell](https://togithub.com/AntonioDell) made their first contribution in [https://github.com/vuejs/test-utils/pull/2235](https://togithub.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://togithub.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://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/ui). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
This PR (released in 2.4.2) breaks existing TypeScript projects, because |
|
@DanielleHuisman We're waiting on another PR to land that should improve typings from @pikax #2242 |
At the moment,
mount()offers strong typing of props, but this strong typing is lost when dealing with theVueWrapperthrough either theprops()orsetProps()methods.This change strengthens the typing of these methods to help raise compile-time errors when trying to get or set incorrect props.