import { defineConfig, devices } from '@playwright/test'; const baseURL = process.env['PLAYWRIGHT_BASE_URL'] ?? 'http://localhost:3000'; export default defineConfig({ testDir: './e2e', fullyParallel: true, forbidOnly: !!process.env['CI'], retries: process.env['CI'] ? 2 : 0, workers: process.env['CI'] ? 1 : undefined, reporter: [['html', { outputFolder: 'playwright-report' }]], use: { baseURL, trace: 'on-first-retry', screenshot: 'only-on-failure', }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, { name: 'firefox', use: { ...devices['Desktop Firefox'] }, }, { name: 'webkit', use: { ...devices['Desktop Safari'] }, }, { name: 'Mobile Chrome', use: { ...devices['Pixel 5'] }, }, ], webServer: process.env['CI'] ? undefined : { command: 'pnpm dev', url: baseURL, reuseExistingServer: true, timeout: 120_000, }, });