import { defineConfig, devices } from '@playwright/test'; import 'dotenv/config'; /** * See https://playwright.dev/docs/test-configuration. */ export default defineConfig({ outputDir: './.output', timeout: 10000, testDir: './specs', fullyParallel: false, forbidOnly: !!process.env.CI, retries: process.env.CI ? 1 : 0, workers: 1, reporter: process.env.CI ? [['html', { outputFolder: '.report' }], ['github']] : [['line'], ['html', { open: 'never', outputFolder: '.report' }]], use: { baseURL: process.env.APP_URL ?? 'http://localhost:1411', video: 'retain-on-failure', trace: 'on-first-retry' }, projects: [ { name: 'cli', testMatch: /cli\.spec\.ts/ }, { name: 'auth-setup', testMatch: /auth\.setup\.ts/ }, { name: 'browser-chrome', use: { ...devices['Desktop Chrome'], storageState: '.tmp/auth/user.json' }, testIgnore: /cli\.spec\.ts/, dependencies: ['auth-setup'] } ], globalSetup: './specs/fixtures/global.setup.ts', globalTeardown: './specs/fixtures/global.teardown.ts' });