import { describe, it, expect } from 'vitest'; import fs from 'node:fs'; import path from 'node:path'; const alphaDir = path.resolve(__dirname, '../../../../apps/website/components/alpha'); const metaAllowlist = new Set([ 'FeatureLimitationTooltip.tsx', 'CompanionInstructions.tsx', 'CompanionStatus.tsx', 'AlphaBanner.tsx', 'AlphaFooter.tsx', 'AlphaNav.tsx', // Temporary passthrough wrapper that re-exports the real schedule form 'ScheduleRaceForm.tsx', ]); describe('Alpha components structure', () => { it('contains only alpha chrome and meta components', () => { const entries = fs.readdirSync(alphaDir); const tsxFiles = entries.filter((file) => file.endsWith('.tsx')); const violations = tsxFiles.filter((file) => { if (metaAllowlist.has(file)) { return false; } return !file.startsWith('Alpha'); }); expect(violations).toEqual([]); }); });