import { defineConfig, devices } from '@playwright/test' const port = 4173 export const baseURL = `http://localhost:${port}` export default defineConfig({ testDir: './e2e', globalSetup: './e2e/global-setup.ts', fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, reporter: process.env.CI ? [['list'], ['html', { open: 'never' }]] : 'list', use: { baseURL, trace: 'on-first-retry', }, projects: [ { name: 'desktop', use: { ...devices['Desktop Chrome'] } }, { name: 'mobile', use: { ...devices['Pixel 7'] } }, ], // The real server with a throwaway in-memory database, serving the production build webServer: { command: 'npm run build && node server/index.ts', port, reuseExistingServer: !process.env.CI, env: { DATABASE_URL: 'memory://', PORT: String(port), PUBLIC_URL: baseURL, UPLOAD_DIR: 'test-results/uploads', STATIC_DIR: 'dist' }, }, })