Merge branch 'm5/marble' into codex/owner/grp_discord_joke-app

# Conflicts:
#	apps/web/src/games/registry.ts
#	apps/web/src/lib/catalog-ui.ts
#	e2e/games.e2e.ts
#	packages/games/src/index.ts
#	packages/shared/src/catalog.ts
This commit is contained in:
EJClaw
2026-10-05 14:07:23 +09:00
12 changed files with 4313 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -18,6 +18,7 @@ export const GAME_UI: Record<string, () => Promise<{ default: GameUI }>> = {
gostop: () => import('./gostop'),
bang: () => import('./bang'),
'halli-galli': () => import('./halli-galli'),
marble: () => import('./marble'),
};
const cache = new Map<string, GameUI>();

View File

@@ -13,6 +13,7 @@ export const GAME_ICON: Record<string, string> = {
rummikub: '🔢',
'davinci-code': '🔐',
gostop: '🌸',
marble: '🏙️',
};
/** Shown on the home screen so users know what's coming (docs/12-roadmap.md). */

View File

@@ -6,7 +6,7 @@ import { expect, test } from 'bun:test';
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
import { join } from 'node:path';
const ROOTS = ['games/poker', 'games/seotda', 'games/gostop', 'components/cards'].map((p) => join(import.meta.dir, p));
const ROOTS = ['games/poker', 'games/seotda', 'games/gostop', 'games/marble', 'components/cards'].map((p) => join(import.meta.dir, p));
const FORBIDDEN: [RegExp, string][] = [
[/₩|\$\s?\d|\d\s?\$/, '통화 기호'],
[/\d[\d,]*\s*(만\s*)?원(?![가-힣])/, '"원" 단위'],