From 9af2b518f2ef59abaefbc97645680b9acc77ea24 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Thu, 6 Jul 2023 13:31:44 -0700 Subject: [PATCH] fix: exclude `tracesDir` option from `launchOptions` fixture (#24086) Fixes https://github.com/microsoft/playwright/issues/23645 --- packages/playwright-test/types/test.d.ts | 2 +- tests/playwright-test/config.spec.ts | 17 +++++++++++++++++ utils/generate_types/overrides-test.d.ts | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/playwright-test/types/test.d.ts b/packages/playwright-test/types/test.d.ts index 8e0581103b..b125181328 100644 --- a/packages/playwright-test/types/test.d.ts +++ b/packages/playwright-test/types/test.d.ts @@ -3530,7 +3530,7 @@ export interface PlaywrightWorkerOptions { * ``` * */ - launchOptions: LaunchOptions; + launchOptions: Omit; /** * **Usage** * diff --git a/tests/playwright-test/config.spec.ts b/tests/playwright-test/config.spec.ts index 5c004d79d8..76c8e416c5 100644 --- a/tests/playwright-test/config.spec.ts +++ b/tests/playwright-test/config.spec.ts @@ -480,3 +480,20 @@ test('should have correct types for the config', async ({ runTSC }) => { }); expect(result.exitCode).toBe(0); }); + +test('should not allow tracesDir in launchOptions', async ({ runTSC }) => { + const result = await runTSC({ + 'playwright.config.ts': ` + import { defineConfig } from '@playwright/test'; + + export default defineConfig({ + use: { + launchOptions: { + tracesDir: 'foo', + }, + }, + }); + ` + }); + expect(result.exitCode).not.toBe(0); +}); diff --git a/utils/generate_types/overrides-test.d.ts b/utils/generate_types/overrides-test.d.ts index 267262bd1f..22ea21e824 100644 --- a/utils/generate_types/overrides-test.d.ts +++ b/utils/generate_types/overrides-test.d.ts @@ -203,7 +203,7 @@ export interface PlaywrightWorkerOptions { defaultBrowserType: BrowserName; headless: boolean; channel: BrowserChannel | undefined; - launchOptions: LaunchOptions; + launchOptions: Omit; connectOptions: ConnectOptions | undefined; screenshot: ScreenshotMode | { mode: ScreenshotMode } & Pick; trace: TraceMode | /** deprecated */ 'retry-with-trace' | { mode: TraceMode, snapshots?: boolean, screenshots?: boolean, sources?: boolean, attachments?: boolean };