- Replace Bun with pnpm 9 + Turborepo + tsx; apps/api renamed to apps/backend - Split backend into http/, modules/, lib/ layers mirroring tai-specguard - Add use-case + Result pattern, Problem Details RFC 7807, basePath /api/v1 - Mount Better Auth at /api/v1/auth, keep session-auth whitelist - Split Prisma schema into prisma/models/*, generate into generated/ - Rework packages/shared into lib/ + schemas/ with pagination DTOs - Implement health, groups, students, payments, waitlist modules - Add vitest suite with prisma mocks (21 tests), biome lint - Point web client to /api/v1/auth and /api/v1/groups/from-organization
45 lines
1.2 KiB
JSON
45 lines
1.2 KiB
JSON
{
|
|
"name": "@gruperly/backend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "tsx watch src/server.ts",
|
|
"start": "tsx src/server.ts",
|
|
"build": "prisma generate && tsc",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"lint": "biome check .",
|
|
"lint:fix": "biome check . --write",
|
|
"db:generate": "prisma generate",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:push": "prisma db push",
|
|
"db:studio": "prisma studio"
|
|
},
|
|
"dependencies": {
|
|
"@better-auth/passkey": "^1.7.2",
|
|
"@gruperly/shared": "workspace:*",
|
|
"@hono/node-server": "^2.1.1",
|
|
"@hono/zod-validator": "^0.8.0",
|
|
"@prisma/adapter-pg": "^7.10.0",
|
|
"@prisma/client": "^7.10.0",
|
|
"better-auth": "1.7.2",
|
|
"dotenv": "^16.4.5",
|
|
"hono": "^4.13.3",
|
|
"nodemailer": "^9.0.6",
|
|
"pino": "^9.5.0",
|
|
"pino-pretty": "^13.0.0",
|
|
"tsx": "^4.19.2",
|
|
"zod": "3.24.2"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.4.15",
|
|
"@gruperly/config": "workspace:*",
|
|
"@types/node": "^20.17.0",
|
|
"@types/nodemailer": "^8.0.1",
|
|
"prisma": "^7.10.0",
|
|
"typescript": "^5.7.0",
|
|
"vitest": "^2.1.8"
|
|
}
|
|
} |