-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
100 lines (100 loc) · 5.08 KB
/
package.json
File metadata and controls
100 lines (100 loc) · 5.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
"name": "rgou-cloudflare",
"version": "1.0.0",
"description": "Royal Game of Ur - Ancient Mesopotamian board game with AI opponent",
"license": "MIT",
"private": true,
"type": "module",
"scripts": {
"dev": "npm run generate:sw && next dev --turbopack",
"build": "npm run generate:sw && npm run build:wasm-assets && next build",
"build:cf": "npm run generate:sw && npm run build:wasm-assets && npx @opennextjs/cloudflare build",
"start": "next start",
"lint": "next lint",
"lint:fix": "next lint --fix",
"type-check": "tsc --noEmit",
"generate:sw": "GITHUB_SHA=$GITHUB_SHA node scripts/generate-sw.js",
"build:wasm": "cd worker/rust_ai_core && wasm-pack build --target web --out-name rgou_ai_worker -- --features wasm --no-default-features",
"build:wasm-assets": "npm run build:wasm && rm -rf public/wasm && mkdir -p public/wasm && cp worker/rust_ai_core/pkg/rgou_ai_worker_bg.wasm public/wasm/rgou_ai_worker_bg.wasm && cp worker/rust_ai_core/pkg/rgou_ai_worker.js public/wasm/rgou_ai_core.js",
"build:rust-ai": "cd worker/rust_ai_core && cargo build --release",
"nuke": "rm -rf .next .open-next .wrangler node_modules package-lock.json && npm install && npm run dev",
"check": "npm run lint && npm run type-check && (cd worker/rust_ai_core && NUM_GAMES=4 cargo test test_ai_matrix -- --nocapture) && npm run test:coverage && npm run test:e2e",
"check:slow": "npm run lint && npm run type-check && (cd worker/rust_ai_core && RUN_SLOW_TESTS=1 cargo test --features slow_tests -- --nocapture) && npm run test:coverage && npm run test:e2e",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:rust": "cd worker/rust_ai_core && cargo test -- --nocapture",
"test:rust:slow": "cd worker/rust_ai_core && RUN_SLOW_TESTS=1 cargo test --features slow_tests -- --nocapture",
"test:ml-v2": "cd worker/rust_ai_core && NUM_GAMES=20 cargo test test_ml_v2_vs_expectiminimax_ai -- --nocapture",
"test:ml-hybrid": "cd worker/rust_ai_core && NUM_GAMES=20 cargo test test_ml_hybrid_vs_expectiminimax_ai -- --nocapture",
"test:ai-comparison": "./scripts/test-ai-comparison.sh",
"test:ai-comparison:fast": "NUM_GAMES=10 ./scripts/test-ai-comparison.sh",
"test:ai-comparison:comprehensive": "NUM_GAMES=100 INCLUDE_SLOW_TESTS=true ./scripts/test-ai-comparison.sh",
"test:e2e": "npm run db:local:reset && playwright test --reporter=line",
"test:e2e:ui": "playwright test --ui",
"deps": "npx npm-check-updates",
"deps:update": "npx npm-check-updates -u && npm run nuke",
"postinstall": "chmod +x scripts/*.sh",
"migrate:generate": "drizzle-kit generate",
"migrate:d1": "wrangler d1 migrations apply rgou-db --remote",
"migrate:local": "drizzle-kit push --config=drizzle.config.local.ts",
"train:rust": "./ml/scripts/train.sh --backend rust",
"train:rust:quick": "./ml/scripts/train.sh --backend rust --preset quick",
"train:rust:production": "./ml/scripts/train.sh --backend rust --preset production",
"train:pytorch": "./ml/scripts/train.sh --backend pytorch",
"train:pytorch:quick": "./ml/scripts/train.sh --backend pytorch --preset quick",
"train:pytorch:production": "./ml/scripts/train.sh --backend pytorch --preset production",
"train:pytorch:v5": "./ml/scripts/train.sh --backend pytorch --num-games 2000 --epochs 100 --batch-size 64",
"load:ml-weights": "./ml/scripts/load-weights.sh",
"db:local:reset": "tsx scripts/reset-local-db.ts",
"db:setup": "npm run db:local:reset",
"evolve:genetic-params": "cd worker/rust_ai_core && caffeinate cargo run --release --bin evolve_params",
"validate:genetic-params": "cd worker/rust_ai_core && caffeinate cargo test test_genetic_params_comparison -- --nocapture",
"test:ai-matrix:md": "cd worker/rust_ai_core && NUM_GAMES=50 cargo test test_ai_matrix -- --nocapture | node ../../scripts/format-ai-matrix-md.cjs"
},
"dependencies": {
"better-sqlite3": "^12.2.0",
"clsx": "^2.1.1",
"framer-motion": "^12.23.6",
"immer": "^10.1.1",
"lucide-react": "^0.525.0",
"next": "15.3.4",
"pako": "^2.1.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"tailwind-merge": "^3.3.1",
"zustand": "^5.0.6"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20250719.0",
"@eslint/eslintrc": "^3",
"@opennextjs/cloudflare": "1.3.1",
"@playwright/test": "^1.54.1",
"@tailwindcss/postcss": "^4",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^24",
"@types/pako": "^2.0.3",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@vitejs/plugin-react": "^4.7.0",
"@vitest/coverage-v8": "^3.2.4",
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.3",
"eslint": "^9",
"eslint-config-next": "15.3.4",
"jsdom": "^26.1.0",
"npm-check-updates": "^18.0.1",
"prettier": "^3.6.2",
"raw-loader": "^4.0.2",
"tailwindcss": "^4",
"tsx": "^4.20.3",
"typescript": "^5",
"typescript-eslint": "^8.37.0",
"vitest": "^3.2.4",
"wrangler": "4.22.0"
},
"engines": {
"node": ">=20.0.0",
"npm": ">=9.0.0"
}
}