Layered: routes -> services -> repositories -> db, over PostgreSQL 18 with split roles (findr_migrator for DDL, findr_app for DML). Keycloak JWT auth with per-endpoint scope guards. Drizzle migrations run with the DDL role at container start. Pick-by-light: one ESP32 controller drives one WS2812 chain through several boxes; each box owns a contiguous LED slice. MQTT contract in src/lib/mqtt-topics.ts / docs/mqtt.md. /v1/pick controls light/idle/off and /v1/boxes + /v1/controllers manage the strip mapping. Reference resource /v1/parts wired end to end. Vitest, Biome, multi-stage Dockerfile, local compose.yml with Postgres. Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
24 lines
601 B
JSON
24 lines
601 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2023",
|
|
"lib": ["ES2023"],
|
|
"module": "ESNext",
|
|
"moduleResolution": "Bundler",
|
|
"moduleDetection": "force",
|
|
"types": ["node"],
|
|
"resolveJsonModule": true,
|
|
"esModuleInterop": true,
|
|
"verbatimModuleSyntax": true,
|
|
"isolatedModules": true,
|
|
"strict": true,
|
|
"noUncheckedIndexedAccess": true,
|
|
"noImplicitOverride": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"skipLibCheck": true,
|
|
"outDir": "dist",
|
|
"rootDir": ".",
|
|
"noEmit": true
|
|
},
|
|
"include": ["src", "drizzle.config.ts", "tsup.config.ts", "test"]
|
|
}
|