From 28875fa60867a1460a046de9b6c02e110a7c1e15 Mon Sep 17 00:00:00 2001 From: Sander Date: Mon, 8 Jan 2024 04:45:42 +0100 Subject: [PATCH] chore(ct): dedupe types (#28816) --- packages/playwright-ct-core/index.d.ts | 25 +----------- packages/playwright-ct-react/index.d.ts | 41 +++----------------- packages/playwright-ct-react/register.d.ts | 2 +- packages/playwright-ct-react17/index.d.ts | 41 +++----------------- packages/playwright-ct-react17/register.d.ts | 2 +- packages/playwright-ct-solid/index.d.ts | 41 +++----------------- packages/playwright-ct-solid/register.d.ts | 2 +- packages/playwright-ct-svelte/index.d.ts | 38 +++--------------- packages/playwright-ct-vue/index.d.ts | 38 +++--------------- packages/playwright-ct-vue/register.d.ts | 2 +- packages/playwright-ct-vue2/index.d.ts | 38 +++--------------- packages/playwright-ct-vue2/register.d.ts | 2 +- 12 files changed, 37 insertions(+), 235 deletions(-) diff --git a/packages/playwright-ct-core/index.d.ts b/packages/playwright-ct-core/index.d.ts index cd052db756..2474bb792b 100644 --- a/packages/playwright-ct-core/index.d.ts +++ b/packages/playwright-ct-core/index.d.ts @@ -15,15 +15,13 @@ */ import type { - TestType, + TestType as BaseTestType, PlaywrightTestArgs, PlaywrightTestConfig as BasePlaywrightTestConfig, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, - Locator, } from 'playwright/test'; -import type { JsonObject } from './types/component'; import type { InlineConfig } from 'vite'; export type PlaywrightTestConfig = Omit, 'use'> & { @@ -35,30 +33,11 @@ export type PlaywrightTestConfig = Omit { - hooksConfig?: HooksConfig; -} - -interface MountResult extends Locator { - unmount(): Promise; - update(component: JSX.Element): Promise; -} - -export interface ComponentFixtures { - mount( - component: JSX.Element, - options?: MountOptions - ): Promise; -} - -export const test: TestType< +export type TestType = BaseTestType< PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, PlaywrightWorkerArgs & PlaywrightWorkerOptions >; -/** - * Defines Playwright config - */ export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; diff --git a/packages/playwright-ct-react/index.d.ts b/packages/playwright-ct-react/index.d.ts index 3e994cf8fa..807b929b9b 100644 --- a/packages/playwright-ct-react/index.d.ts +++ b/packages/playwright-ct-react/index.d.ts @@ -14,26 +14,9 @@ * limitations under the License. */ -import type { - TestType, - PlaywrightTestArgs, - PlaywrightTestConfig as BasePlaywrightTestConfig, - PlaywrightTestOptions, - PlaywrightWorkerArgs, - PlaywrightWorkerOptions, - Locator, -} from 'playwright/test'; +import type { Locator } from 'playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; -import type { InlineConfig } from 'vite'; - -export type PlaywrightTestConfig = Omit, 'use'> & { - use?: BasePlaywrightTestConfig['use'] & { - ctPort?: number; - ctTemplateDir?: string; - ctCacheDir?: string; - ctViteConfig?: InlineConfig | (() => Promise); - }; -}; +import type { TestType } from '@playwright/experimental-ct-core'; export interface MountOptions { hooksConfig?: HooksConfig; @@ -44,26 +27,12 @@ interface MountResult extends Locator { update(component: JSX.Element): Promise; } -export interface ComponentFixtures { +export const test: TestType<{ mount( component: JSX.Element, options?: MountOptions ): Promise; -} - -export const test: TestType< - PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, - PlaywrightWorkerArgs & PlaywrightWorkerOptions ->; - -/** - * Defines Playwright config - */ -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; +}>; +export { defineConfig, PlaywrightTestConfig } from '@playwright/experimental-ct-core'; export { expect, devices } from 'playwright/test'; diff --git a/packages/playwright-ct-react/register.d.ts b/packages/playwright-ct-react/register.d.ts index 9ca8259f0a..1f44530ed6 100644 --- a/packages/playwright-ct-react/register.d.ts +++ b/packages/playwright-ct-react/register.d.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export default function pwRegister(components: Record): void +export default function pwRegister(components: Record): void; diff --git a/packages/playwright-ct-react17/index.d.ts b/packages/playwright-ct-react17/index.d.ts index 3e994cf8fa..807b929b9b 100644 --- a/packages/playwright-ct-react17/index.d.ts +++ b/packages/playwright-ct-react17/index.d.ts @@ -14,26 +14,9 @@ * limitations under the License. */ -import type { - TestType, - PlaywrightTestArgs, - PlaywrightTestConfig as BasePlaywrightTestConfig, - PlaywrightTestOptions, - PlaywrightWorkerArgs, - PlaywrightWorkerOptions, - Locator, -} from 'playwright/test'; +import type { Locator } from 'playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; -import type { InlineConfig } from 'vite'; - -export type PlaywrightTestConfig = Omit, 'use'> & { - use?: BasePlaywrightTestConfig['use'] & { - ctPort?: number; - ctTemplateDir?: string; - ctCacheDir?: string; - ctViteConfig?: InlineConfig | (() => Promise); - }; -}; +import type { TestType } from '@playwright/experimental-ct-core'; export interface MountOptions { hooksConfig?: HooksConfig; @@ -44,26 +27,12 @@ interface MountResult extends Locator { update(component: JSX.Element): Promise; } -export interface ComponentFixtures { +export const test: TestType<{ mount( component: JSX.Element, options?: MountOptions ): Promise; -} - -export const test: TestType< - PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, - PlaywrightWorkerArgs & PlaywrightWorkerOptions ->; - -/** - * Defines Playwright config - */ -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; +}>; +export { defineConfig, PlaywrightTestConfig } from '@playwright/experimental-ct-core'; export { expect, devices } from 'playwright/test'; diff --git a/packages/playwright-ct-react17/register.d.ts b/packages/playwright-ct-react17/register.d.ts index 9ca8259f0a..1f44530ed6 100644 --- a/packages/playwright-ct-react17/register.d.ts +++ b/packages/playwright-ct-react17/register.d.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export default function pwRegister(components: Record): void +export default function pwRegister(components: Record): void; diff --git a/packages/playwright-ct-solid/index.d.ts b/packages/playwright-ct-solid/index.d.ts index 3e994cf8fa..807b929b9b 100644 --- a/packages/playwright-ct-solid/index.d.ts +++ b/packages/playwright-ct-solid/index.d.ts @@ -14,26 +14,9 @@ * limitations under the License. */ -import type { - TestType, - PlaywrightTestArgs, - PlaywrightTestConfig as BasePlaywrightTestConfig, - PlaywrightTestOptions, - PlaywrightWorkerArgs, - PlaywrightWorkerOptions, - Locator, -} from 'playwright/test'; +import type { Locator } from 'playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; -import type { InlineConfig } from 'vite'; - -export type PlaywrightTestConfig = Omit, 'use'> & { - use?: BasePlaywrightTestConfig['use'] & { - ctPort?: number; - ctTemplateDir?: string; - ctCacheDir?: string; - ctViteConfig?: InlineConfig | (() => Promise); - }; -}; +import type { TestType } from '@playwright/experimental-ct-core'; export interface MountOptions { hooksConfig?: HooksConfig; @@ -44,26 +27,12 @@ interface MountResult extends Locator { update(component: JSX.Element): Promise; } -export interface ComponentFixtures { +export const test: TestType<{ mount( component: JSX.Element, options?: MountOptions ): Promise; -} - -export const test: TestType< - PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, - PlaywrightWorkerArgs & PlaywrightWorkerOptions ->; - -/** - * Defines Playwright config - */ -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; +}>; +export { defineConfig, PlaywrightTestConfig } from '@playwright/experimental-ct-core'; export { expect, devices } from 'playwright/test'; diff --git a/packages/playwright-ct-solid/register.d.ts b/packages/playwright-ct-solid/register.d.ts index 9ca8259f0a..1f44530ed6 100644 --- a/packages/playwright-ct-solid/register.d.ts +++ b/packages/playwright-ct-solid/register.d.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export default function pwRegister(components: Record): void +export default function pwRegister(components: Record): void; diff --git a/packages/playwright-ct-svelte/index.d.ts b/packages/playwright-ct-svelte/index.d.ts index d1f7a5a07b..197f6228c1 100644 --- a/packages/playwright-ct-svelte/index.d.ts +++ b/packages/playwright-ct-svelte/index.d.ts @@ -14,27 +14,10 @@ * limitations under the License. */ -import type { - TestType, - PlaywrightTestArgs, - PlaywrightTestConfig as BasePlaywrightTestConfig, - PlaywrightTestOptions, - PlaywrightWorkerArgs, - PlaywrightWorkerOptions, - Locator, -} from 'playwright/test'; +import type { Locator } from 'playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; -import type { InlineConfig } from 'vite'; import type { SvelteComponent, ComponentProps } from 'svelte/types/runtime'; - -export type PlaywrightTestConfig = Omit, 'use'> & { - use?: BasePlaywrightTestConfig['use'] & { - ctPort?: number; - ctTemplateDir?: string; - ctCacheDir?: string; - ctViteConfig?: InlineConfig | (() => Promise); - }; -}; +import type { TestType } from '@playwright/experimental-ct-core'; type ComponentSlot = string | string[]; type ComponentSlots = Record & { default?: ComponentSlot }; @@ -55,23 +38,12 @@ interface MountResult extends Locator { }): Promise; } -interface ComponentFixtures { +export const test: TestType<{ mount( component: new (...args: any[]) => Component, options?: MountOptions ): Promise>; -} - -export const test: TestType< - PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, - PlaywrightWorkerArgs & PlaywrightWorkerOptions ->; - -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; +}>; +export { defineConfig, PlaywrightTestConfig } from '@playwright/experimental-ct-core'; export { expect, devices } from 'playwright/test'; diff --git a/packages/playwright-ct-vue/index.d.ts b/packages/playwright-ct-vue/index.d.ts index 6cb5c751b3..e253bc1a35 100644 --- a/packages/playwright-ct-vue/index.d.ts +++ b/packages/playwright-ct-vue/index.d.ts @@ -14,26 +14,9 @@ * limitations under the License. */ -import type { - TestType, - PlaywrightTestArgs, - PlaywrightTestConfig as BasePlaywrightTestConfig, - PlaywrightTestOptions, - PlaywrightWorkerArgs, - PlaywrightWorkerOptions, - Locator, -} from 'playwright/test'; +import type { Locator } from 'playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; -import type { InlineConfig } from 'vite'; - -export type PlaywrightTestConfig = Omit, 'use'> & { - use?: BasePlaywrightTestConfig['use'] & { - ctPort?: number; - ctTemplateDir?: string; - ctCacheDir?: string; - ctViteConfig?: InlineConfig | (() => Promise); - }; -}; +import type { TestType } from '@playwright/experimental-ct-core'; type ComponentSlot = string | string[]; type ComponentSlots = Record & { default?: ComponentSlot }; @@ -71,7 +54,7 @@ interface MountResultJsx extends Locator { update(component: JSX.Element): Promise; } -export interface ComponentFixtures { +export const test: TestType<{ mount( component: JSX.Element, options: MountOptionsJsx @@ -80,18 +63,7 @@ export interface ComponentFixtures { component: Component, options?: MountOptions ): Promise>; -} - -export const test: TestType< - PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, - PlaywrightWorkerArgs & PlaywrightWorkerOptions ->; - -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; +}>; +export { defineConfig, PlaywrightTestConfig } from '@playwright/experimental-ct-core'; export { expect, devices } from 'playwright/test'; diff --git a/packages/playwright-ct-vue/register.d.ts b/packages/playwright-ct-vue/register.d.ts index e0ed7b0efe..f88e9be59d 100644 --- a/packages/playwright-ct-vue/register.d.ts +++ b/packages/playwright-ct-vue/register.d.ts @@ -21,4 +21,4 @@ export default function pwRegister( setDevtoolsHook: any, h: any, } -): void +): void; diff --git a/packages/playwright-ct-vue2/index.d.ts b/packages/playwright-ct-vue2/index.d.ts index b3a22bed84..f4bda8830f 100644 --- a/packages/playwright-ct-vue2/index.d.ts +++ b/packages/playwright-ct-vue2/index.d.ts @@ -14,26 +14,9 @@ * limitations under the License. */ -import type { - TestType, - PlaywrightTestArgs, - PlaywrightTestConfig as BasePlaywrightTestConfig, - PlaywrightTestOptions, - PlaywrightWorkerArgs, - PlaywrightWorkerOptions, - Locator, -} from 'playwright/test'; +import type { Locator } from 'playwright/test'; import type { JsonObject } from '@playwright/experimental-ct-core/types/component'; -import type { InlineConfig } from 'vite'; - -export type PlaywrightTestConfig = Omit, 'use'> & { - use?: BasePlaywrightTestConfig['use'] & { - ctPort?: number; - ctTemplateDir?: string; - ctCacheDir?: string; - ctViteConfig?: InlineConfig | (() => Promise); - }; -}; +import type { TestType } from '@playwright/experimental-ct-core'; type Slot = string | string[]; type ComponentSlots = Record & { default?: Slot }; @@ -71,7 +54,7 @@ interface MountResultJsx extends Locator { update(component: JSX.Element): Promise; } -export interface ComponentFixtures { +export const test: TestType<{ mount( component: JSX.Element, options?: MountOptionsJsx @@ -80,18 +63,7 @@ export interface ComponentFixtures { component: Component, options?: MountOptions ): Promise>; -} - -export const test: TestType< - PlaywrightTestArgs & PlaywrightTestOptions & ComponentFixtures, - PlaywrightWorkerArgs & PlaywrightWorkerOptions ->; - -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; -export function defineConfig(config: PlaywrightTestConfig, ...configs: PlaywrightTestConfig[]): PlaywrightTestConfig; +}>; +export { defineConfig, PlaywrightTestConfig } from '@playwright/experimental-ct-core'; export { expect, devices } from 'playwright/test'; diff --git a/packages/playwright-ct-vue2/register.d.ts b/packages/playwright-ct-vue2/register.d.ts index e0ed7b0efe..f88e9be59d 100644 --- a/packages/playwright-ct-vue2/register.d.ts +++ b/packages/playwright-ct-vue2/register.d.ts @@ -21,4 +21,4 @@ export default function pwRegister( setDevtoolsHook: any, h: any, } -): void +): void;