0e76fb2fc7
- server/db.js: SQLite schema mirroring Firestore doc tree - server/handlers.js: action -> shared turn fn -> tx persist -> broadcast - server/index.js: REST endpoints + WebSocket real-time push - server/server.test.js: 7 integration tests (REST CRUD + combat flow) - --forceExit for jest (open WS handles) Backend boots, serves state, persists to SQLite.
25 lines
568 B
JSON
25 lines
568 B
JSON
{
|
|
"name": "@ttrpg/server",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "Self-hosted backend: Express + ws + better-sqlite3. Server-authoritative turn logic.",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"dev": "node --watch index.js",
|
|
"start": "node index.js",
|
|
"test": "jest --forceExit"
|
|
},
|
|
"dependencies": {
|
|
"@ttrpg/shared": "*",
|
|
"better-sqlite3": "^11.3.0",
|
|
"cors": "^2.8.5",
|
|
"express": "^4.19.2",
|
|
"nanoid": "^5.0.7",
|
|
"ws": "^8.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"jest": "^29.7.0",
|
|
"supertest": "^7.0.0"
|
|
}
|
|
}
|