import { defineConfig } from '@playwright/test' const baseURL = process.env.BASE_URL || 'http://127.0.0.1:41741' const port = new URL(baseURL).port || '41741' const executablePath = process.env.PLAYWRIGHT_EXECUTABLE_PATH const reuseExistingServer = process.env.PLAYWRIGHT_REUSE_SERVER ? process.env.PLAYWRIGHT_REUSE_SERVER === '1' : process.env.CI !== 'true' const claudeCodeOnboardingStorageState = { cookies: [], origins: [ { origin: baseURL, localStorage: [ { name: 'tolaria:claude-code-onboarding-dismissed', value: '1' }, ], }, ], } export default defineConfig({ testDir: './tests', timeout: 30_000, retries: 1, workers: 1, grep: /@smoke/, use: { baseURL, headless: true, storageState: claudeCodeOnboardingStorageState, }, projects: [ { name: 'chromium', use: { browserName: 'chromium', ...(executablePath ? { launchOptions: { executablePath } } : {}), }, }, ], webServer: { command: `node scripts/playwright-smoke-server.mjs ${port}`, url: baseURL, reuseExistingServer, timeout: 30_000, stdout: 'pipe', stderr: 'pipe', }, })