Implements "Option A: Single Source of Truth" from type audit recommendations. **Phase 1: Consolidate GameValidator** - Remove redundant GameValidator re-declaration from SDK types - SDK now properly re-exports GameValidator from validation types - Eliminates confusion about which validator interface to use **Phase 2: Eliminate Move Type Duplication** - Remove duplicate game-specific move interfaces from validation/types.ts - Add re-exports of game move types from their source modules - Maintains single source of truth (game types) while providing convenient access **Changes:** - `src/lib/arcade/game-sdk/types.ts`: Import & re-export GameValidator instead of re-declaring - `src/lib/arcade/validation/types.ts`: Replace duplicate move interfaces with re-exports - `__tests__/room-realtime-updates.e2e.test.ts`: Fix socket-server import path **Impact:** - Zero new type errors introduced - All existing functionality preserved - Clear ownership: game types are source of truth - Improved maintainability: changes in one place **Verification:** - TypeScript compilation: ✅ No new errors - Server build: ✅ Successful - All pre-existing errors unchanged (AbacusReact module resolution, etc.) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api-abacus-settings.e2e.test.ts | ||
| api-arcade-rooms.e2e.test.ts | ||
| api-players.e2e.test.ts | ||
| api-user-stats.e2e.test.ts | ||
| middleware.e2e.test.ts | ||
| orphaned-session.e2e.test.ts | ||
| room-realtime-updates.e2e.test.ts | ||