{ "name": "ccp-api", "version": "1.0.0", "description": "Changemaker Control Panel — API Server", "main": "dist/server.js", "scripts": { "dev": "tsx watch src/server.ts", "build": "tsc", "start": "node dist/server.js", "db:migrate": "prisma migrate deploy", "db:migrate:dev": "prisma migrate dev", "db:seed": "tsx prisma/seed.ts", "db:studio": "prisma studio", "typecheck": "tsc --noEmit" }, "dependencies": { "@prisma/client": "^6.3.0", "bcryptjs": "^2.4.3", "compression": "^1.7.5", "cors": "^2.8.5", "dotenv": "^16.4.7", "express": "^4.21.2", "express-async-errors": "^3.1.1", "express-rate-limit": "^7.5.0", "handlebars": "^4.7.8", "helmet": "^8.0.0", "ioredis": "^5.4.2", "jsonwebtoken": "^9.0.2", "rate-limit-redis": "^4.2.0", "winston": "^3.17.0", "yaml": "^2.8.2", "zod": "^3.24.1" }, "devDependencies": { "@types/bcryptjs": "^2.4.6", "@types/compression": "^1.7.5", "@types/cors": "^2.8.17", "@types/express": "^5.0.0", "@types/jsonwebtoken": "^9.0.7", "@types/node": "^22.0.0", "prisma": "^6.3.0", "tsx": "^4.19.2", "typescript": "^5.7.3" } }