Play by shareable link, vs the Radical Bot, or pass-and-play. Server-authoritative moves (chess.js) in a per-game Durable Object, clocks with idle flag-fall via DO alarms, draw/resign/rematch/chat, D1 game archive, custom board UI (drag + click). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
938 B
JSON
39 lines
938 B
JSON
{
|
|
"$schema": "node_modules/wrangler/config-schema.json",
|
|
"name": "radical-chess",
|
|
"main": "src/index.js",
|
|
"compatibility_date": "2025-07-01",
|
|
"compatibility_flags": ["nodejs_compat"],
|
|
"observability": { "enabled": true },
|
|
"build": {
|
|
"command": "npm run build:client"
|
|
},
|
|
"routes": [
|
|
{ "pattern": "chess.theradicalparty.com", "custom_domain": true }
|
|
],
|
|
"assets": {
|
|
"directory": "./public",
|
|
"binding": "ASSETS",
|
|
"not_found_handling": "single-page-application",
|
|
"run_worker_first": ["/api/*", "/ws/*"]
|
|
},
|
|
"d1_databases": [
|
|
{
|
|
"binding": "DB",
|
|
"database_name": "radical-chess",
|
|
"database_id": "67326dc0-9b5d-4ae7-aaad-0d7cdfffb418",
|
|
"migrations_dir": "migrations"
|
|
}
|
|
],
|
|
"durable_objects": {
|
|
"bindings": [
|
|
{ "name": "GAME", "class_name": "Game" }
|
|
]
|
|
},
|
|
"migrations": [
|
|
{
|
|
"tag": "v1",
|
|
"new_sqlite_classes": ["Game"]
|
|
}
|
|
]
|
|
}
|