import { defineConfig } from 'vitest/config';
import { fileURLToPath } from 'node:url';
import { assertLaneEnv, laneIncludePatterns } from './scripts/validate-test-lanes.mjs';

assertLaneEnv('locale-pair');

export default defineConfig({
  test: {
    globals: true,
    environment: 'jsdom',
    testTimeout: 720000,
    hookTimeout: 120000,
    setupFiles: ['./tests/setup.ts'],
    maxWorkers: 1,
    include: laneIncludePatterns('locale-pair'),
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
      'cloudflare:workers': fileURLToPath(
        new URL('./vitest-mocks/cloudflare-workers.ts', import.meta.url),
      ),
      'astro:middleware': fileURLToPath(
        new URL('./vitest-mocks/astro-middleware.ts', import.meta.url),
      ),
    },
  },
});
