diff --git a/package-lock.json b/package-lock.json index fec61f84e9b19a..cbe2db9208f5cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6038,11 +6038,6 @@ "csstype": "^3.1.0" } }, - "node_modules/vue-component-type-helpers": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.6.5.tgz", - "integrity": "sha512-iGdlqtajmiqed8ptURKPJ/Olz0/mwripVZszg6tygfZSIL9kYFPJTNY6+Q6OjWGznl2L06vxG5HvNvAnWrnzbg==" - }, "node_modules/vue/node_modules/@vue/compiler-sfc": { "version": "2.7.14", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", @@ -6433,8 +6428,7 @@ "license": "Apache-2.0", "dependencies": { "@playwright/experimental-ct-core": "1.37.0-next", - "@vitejs/plugin-vue": "^4.2.1", - "vue-component-type-helpers": "^1.6.5" + "@vitejs/plugin-vue": "^4.2.1" }, "bin": { "playwright": "cli.js" @@ -7426,8 +7420,7 @@ "version": "file:packages/playwright-ct-vue", "requires": { "@playwright/experimental-ct-core": "1.37.0-next", - "@vitejs/plugin-vue": "^4.2.1", - "vue-component-type-helpers": "^1.6.5" + "@vitejs/plugin-vue": "^4.2.1" }, "dependencies": { "@vitejs/plugin-vue": { @@ -10523,11 +10516,6 @@ } } }, - "vue-component-type-helpers": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.6.5.tgz", - "integrity": "sha512-iGdlqtajmiqed8ptURKPJ/Olz0/mwripVZszg6tygfZSIL9kYFPJTNY6+Q6OjWGznl2L06vxG5HvNvAnWrnzbg==" - }, "web": { "version": "file:packages/web", "requires": { diff --git a/packages/playwright-ct-vue/index.d.ts b/packages/playwright-ct-vue/index.d.ts index 68615822391884..3013c3850e1526 100644 --- a/packages/playwright-ct-vue/index.d.ts +++ b/packages/playwright-ct-vue/index.d.ts @@ -25,7 +25,12 @@ import type { } from '@playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; import type { InlineConfig } from 'vite'; -import type { ComponentProps } from 'vue-component-type-helpers'; + +// Copied from: https://github.com/vuejs/language-tools/blob/master/packages/vue-component-type-helpers/index.d.ts#L10-L13 +type ComponentProps = + T extends new () => { $props: infer P; } ? NonNullable

: + T extends (props: infer P, ...args: any) => any ? P : + {}; export type PlaywrightTestConfig = Omit, 'use'> & { use?: BasePlaywrightTestConfig['use'] & { @@ -40,7 +45,7 @@ type ComponentSlot = string | string[]; type ComponentSlots = Record & { default?: ComponentSlot }; type ComponentEvents = Record; -export interface MountOptions< HooksConfig extends JsonObject, Component> { +export interface MountOptions { props?: ComponentProps; slots?: ComponentSlots; on?: ComponentEvents; diff --git a/packages/playwright-ct-vue/package.json b/packages/playwright-ct-vue/package.json index 867de11c5349e6..0ccebc381f90fc 100644 --- a/packages/playwright-ct-vue/package.json +++ b/packages/playwright-ct-vue/package.json @@ -27,8 +27,7 @@ }, "dependencies": { "@playwright/experimental-ct-core": "1.37.0-next", - "@vitejs/plugin-vue": "^4.2.1", - "vue-component-type-helpers": "^1.6.5" + "@vitejs/plugin-vue": "^4.2.1" }, "bin": { "playwright": "./cli.js"