import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './e2e', testMatch: ['smoke/**/*.spec.ts', 'flows/**/*.spec.ts'], timeout: 60_000, retries: 1, fullyParallel: false, workers: 1, forbidOnly: !!process.env.CI, reporter: [['html', { open: 'never' }], ['list']], use: { baseURL: process.env.E2E_BASE_URL || 'http://localhost:5174', headless: true, screenshot: 'only-on-failure', trace: 'on-first-retry', video: 'retain-on-failure', }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, ], globalSetup: './e2e/check-readiness', webServer: { command: 'pnpm dev', port: 5174, reuseExistingServer: true, timeout: 30_000, }, });