nerdware/apps/server/package.json
AyoubBenziza 8bc184fab7 feat: bigger image_reveal, optional image prompt, mixed sub-mode toggles, Pokémon seed
- image_reveal display: larger, object-contain (whole image up to 58vh), no crop
- image prompt optional in back-office (defaults to "Qui est-ce ?"), overridable
- mixed mode reworked: select "Mixte" then toggle sub-modes (Quiz/Images/
  Blindtest). Blindtest sub-mode locked under 3 players; mixed itself no longer
  needs 3. Server quiz pool formats derived from gameType + mixedModes.
  shared: MixMode + RoomSettings.mixedModes (default quiz+image).
- DB: prompt uniqueness is now a partial index (excludes image_reveal) + unique
  index on image_url; lets many images share the generic prompt, dedup by URL.
- seed: db:seed:images pulls Pokémon (PokéAPI) as image_reveal questions with
  official artwork (remote URL) + FR/EN accepted answers; idempotent by image_url.

Verified: migration applied, Pokémon seed inserts FR+EN, image mode serves only
image_reveal, all checks green (23 tests).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 00:20:28 +02:00

41 lines
1.1 KiB
JSON

{
"name": "@nerdware/server",
"version": "0.0.1",
"type": "module",
"private": true,
"scripts": {
"dev": "bun --watch src/index.ts",
"start": "bun src/index.ts",
"test": "bun test",
"build": "bun build ./src/index.ts --target bun --outdir dist",
"lint": "eslint",
"format": "prettier --write \"**/*.ts\"",
"typecheck": "tsc --noEmit",
"db:generate": "drizzle-kit generate",
"db:migrate": "bun src/db/migrate.ts",
"db:seed": "bun src/db/seed.ts",
"db:seed:images": "bun src/db/seed-images.ts",
"db:studio": "drizzle-kit studio"
},
"dependencies": {
"@fastify/cors": "^11",
"@fastify/multipart": "^10.0.0",
"@fastify/static": "^9.1.3",
"@nerdware/shared": "workspace:*",
"drizzle-orm": "^0.45",
"fastify": "^5",
"postgres": "^3.4",
"socket.io": "^4.8.1"
},
"devDependencies": {
"@eslint/js": "^10",
"@types/bun": "latest",
"@types/node": "^24",
"drizzle-kit": "^0.31",
"eslint": "^10",
"globals": "^17",
"pino-pretty": "^13",
"typescript": "~6",
"typescript-eslint": "^8"
}
}