import { defineConfig, devices } from '@playwright/test'; const PORT = process.env.PORT || 5000; const BASE_URL = `http://localhost:${PORT}`; export default defineConfig({ testDir: './e2e', outputDir: './playwright/test-results', 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: BASE_URL, trace: 'on-first-retry', screenshot: 'only-on-failure', }, globalSetup: './e2e/global-setup.ts', globalTeardown: './e2e/global-teardown.ts', projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, ], // In development, start the server manually: bun run dev // In CI, uncomment webServer to auto-start // webServer: { // command: 'bun run dev', // url: BASE_URL, // reuseExistingServer: !process.env.CI, // timeout: 120000, // }, });