import { defineConfig, devices } from "@playwright/test"; const baseURL = "http://127.0.0.1:4173"; const isCI = !!process.env.CI; process.env.PLAYWRIGHT_BASE_URL = baseURL; export default defineConfig({ testDir: "./tests/e2e/release", testMatch: /.*\.local-prod\.spec\.ts/, timeout: 60_000, fullyParallel: true, forbidOnly: isCI, retries: isCI ? 2 : 0, workers: isCI ? 2 : 3, reporter: [["list"], ["html", { open: "never", outputFolder: "output/playwright/prod/report" }]], outputDir: "output/playwright/prod/test-results", use: { baseURL, serviceWorkers: "block", trace: "retain-on-failure", screenshot: "only-on-failure", video: "retain-on-failure", }, webServer: { command: "npm run preview:prod", url: baseURL, timeout: 240_000, reuseExistingServer: !isCI, }, projects: [ { name: "chromium-desktop", use: { ...devices["Desktop Chrome"], }, }, { name: "chromium-mobile", use: { ...devices["Pixel 5"], }, }, { name: "webkit-desktop", use: { ...devices["Desktop Safari"], }, }, ], });