an atproto based link aggregator

Skip browser tests in CI via env var

Use SKIP_BROWSER_TESTS=1 to conditionally exclude the browser test
project in vite.config.ts, avoiding Playwright initialization entirely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+28 -21
+1 -1
.tangled/workflows/ci.yaml
··· 32 32 command: pnpm check 33 33 34 34 - name: Run tests 35 - command: pnpm test -- --project server 35 + command: SKIP_BROWSER_TESTS=1 pnpm test
+27 -20
vite.config.ts
··· 5 5 6 6 // Use system chromium if PLAYWRIGHT_CHROMIUM_PATH is set (for CI with nixpkgs) 7 7 const chromiumPath = process.env.PLAYWRIGHT_CHROMIUM_PATH; 8 + // Skip browser tests in CI (set SKIP_BROWSER_TESTS=1) 9 + const skipBrowserTests = process.env.SKIP_BROWSER_TESTS === '1'; 8 10 9 11 export default defineConfig({ 10 12 plugins: [tailwindcss(), sveltekit()], 11 13 test: { 12 14 expect: { requireAssertions: true }, 13 15 projects: [ 14 - { 15 - extends: './vite.config.ts', 16 - test: { 17 - name: 'client', 18 - browser: { 19 - enabled: true, 20 - provider: playwright({ 21 - launchOptions: chromiumPath 22 - ? { 23 - executablePath: chromiumPath, 24 - args: ['--no-sandbox', '--disable-setuid-sandbox'] 25 - } 26 - : {} 27 - }), 28 - instances: [{ browser: 'chromium', headless: true }] 29 - }, 30 - include: ['src/**/*.svelte.{test,spec}.{js,ts}'], 31 - exclude: ['src/lib/server/**'] 32 - } 33 - }, 16 + // Only include browser project if not skipping 17 + ...(skipBrowserTests 18 + ? [] 19 + : [ 20 + { 21 + extends: './vite.config.ts', 22 + test: { 23 + name: 'client', 24 + browser: { 25 + enabled: true, 26 + provider: playwright({ 27 + launchOptions: chromiumPath 28 + ? { 29 + executablePath: chromiumPath, 30 + args: ['--no-sandbox', '--disable-setuid-sandbox'] 31 + } 32 + : {} 33 + }), 34 + instances: [{ browser: 'chromium' as const, headless: true }] 35 + }, 36 + include: ['src/**/*.svelte.{test,spec}.{js,ts}'], 37 + exclude: ['src/lib/server/**'] 38 + } 39 + } 40 + ]), 34 41 { 35 42 extends: './vite.config.ts', 36 43 test: {