Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / apps/e2e/playwright.config.ts |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | apps/e2e/playwright.config.ts |
| Original SHA-256 | b6007282f3e59179b4751915d1b9c673a033d4c7689722603660901068ae78d1 |
| Git blob SHA | 148b26e3d2ebdc3ff5fe50f02a674d696dc9a2d1 |
| Reading-copy SHA-256 | b6007282f3e59179b4751915d1b9c673a033d4c7689722603660901068ae78d1 |
Recovered source transcript
Download complete source text ↓94 lines · 2.7 KB
import { defineConfig, devices } from '@playwright/test'
export default defineConfig({
testDir: './tests',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : 2, // Use 2 workers locally for stability
reporter: process.env.CI ? 'github' : 'html',
// Performance optimizations
timeout: 60000, // 60 seconds per test (more generous for loaded apps)
expect: {
timeout: 15000 // 15 seconds for assertions
},
use: {
baseURL: 'http://localhost:3000',
trace: 'retain-on-failure',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
// Performance optimizations
actionTimeout: 15000,
navigationTimeout: 30000, // More time for navigation
// Reduce visual noise during local development
launchOptions: {
slowMo: process.env.CI ? 0 : 0 // No slow motion
}
},
projects: [
// Primary desktop testing
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
// Optimize for speed
launchOptions: {
args: [
'--disable-dev-shm-usage',
'--disable-extensions',
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-background-timer-throttling',
'--disable-backgrounding-occluded-windows',
'--disable-renderer-backgrounding'
]
}
}
},
// Mobile testing (reduced for speed)
{
name: 'mobile',
testMatch: ['**/pages.spec.ts', '**/interactions.spec.ts'],
use: {
...devices['Pixel 5']
}
}
// Additional browsers commented out for speed
// Uncomment for comprehensive cross-browser testing
// {
// name: 'firefox',
// use: { ...devices['Desktop Firefox'] }
// },
// {
// name: 'webkit',
// use: { ...devices['Desktop Safari'] }
// }
],
webServer: {
command: 'cd ../web && pnpm dev',
url: 'http://localhost:3000',
reuseExistingServer: !process.env.CI,
timeout: 60000, // 1 minute to start server
env: {
// Minimize external dependencies for testing
NEXT_PUBLIC_SENTRY_DSN:
process.env.NEXT_PUBLIC_SENTRY_DSN || 'https://dummy@dummy.ingest.sentry.io/123',
SENTRY_AUTH_TOKEN: process.env.SENTRY_AUTH_TOKEN || 'dummy_token',
SENTRY_ORG: process.env.SENTRY_ORG || 'dummy_org',
SENTRY_PROJECT: process.env.SENTRY_PROJECT || 'dummy_project',
LOG_LEVEL: process.env.LOG_LEVEL || 'error',
// Clerk test keys (if needed for auth testing)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY || '',
CLERK_SECRET_KEY: process.env.CLERK_SECRET_KEY || '',
// Faster builds
NEXT_TELEMETRY_DISABLED: '1'
}
}
})