{
  "name": "projectxyz-backend",
  "version": "0.1.0",
  "private": true,
  "description": "ProjectXYZ Node/Express/Drizzle backend",
  "type": "module",
  "engines": {
    "node": ">=20.10"
  },
  "scripts": {
    "dev": "tsx watch src/server.ts",
    "typecheck": "tsc --noEmit",
    "build:spa": "node scripts/copy-spa.mjs",
    "build:frontend": "cd ../frontend && npm install && npm run build",
    "build:all": "npm run build:frontend && npm run build:spa",
    "start": "node bin/www.mjs",
    "db:generate": "drizzle-kit generate",
    "db:migrate": "tsx src/db/migrate.ts",
    "db:push": "drizzle-kit push",
    "db:studio": "drizzle-kit studio",
    "db:seed": "tsx src/db/seed.ts",
    "db:reset": "tsx src/db/reset.ts"
  },
  "dependencies": {
    "bcrypt": "^5.1.1",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.5",
    "dotenv": "^16.4.5",
    "drizzle-orm": "^0.36.4",
    "express": "^4.21.1",
    "express-rate-limit": "^7.4.1",
    "helmet": "^7.2.0",
    "jsonwebtoken": "^9.0.2",
    "pg": "^8.13.0",
    "pino": "^9.5.0",
    "pino-http": "^10.3.0",
    "tsx": "^4.19.1",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/bcrypt": "^5.0.2",
    "@types/cookie-parser": "^1.4.8",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/jsonwebtoken": "^9.0.7",
    "@types/node": "^22.7.5",
    "@types/pg": "^8.11.10",
    "drizzle-kit": "^0.28.1",
    "pino-pretty": "^11.3.0",
    "typescript": "^5.6.3"
  }
}
