import { defineConfig, devices } from '@playwright/test'; import process from 'node:process'; export default defineConfig({ testDir: './e2e', fullyParallel: true, forbidOnly: Boolean(process.env.CI), retries: process.env.CI ? 2 : 0, reporter: process.env.CI ? [['html', { open: 'never' }], ['github']] : 'list', use: { baseURL: 'http://127.0.0.1:8083', trace: 'on-first-retry', screenshot: 'only-on-failure', }, webServer: { command: 'pnpm dev --host 127.0.0.1', url: 'http://127.0.0.1:8083', reuseExistingServer: !process.env.CI, }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'], channel: 'chrome' }, }, ], snapshotPathTemplate: 'e2e/snapshots/{projectName}/{testFilePath}/{arg}{ext}', expect: { toHaveScreenshot: { maxDiffPixelRatio: 0.02, animations: 'disabled', }, }, });