{
  "name": "api.dsp.com",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "engines": {
    "node": ">=22"
  },
  "scripts": {
    "dev": "tsx watch src/server.ts",
    "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json",
    "start": "node dist/server.js",
    "pm2:start": "pm2 start ecosystem.config.cjs",
    "pm2:reload": "npm run build && pm2 startOrReload ecosystem.config.cjs --update-env && pm2 save",
    "deploy": "node -e \"require('node:fs').mkdirSync('logs',{recursive:true})\" && npm ci && npm run db:deploy && npm run pm2:reload",
    "typecheck": "tsc --noEmit",
    "lint": "eslint .",
    "format": "prettier --write .",
    "test": "vitest run",
    "test:watch": "vitest",
    "db:up": "docker compose up -d mysql",
    "db:down": "docker compose down",
    "db:logs": "docker compose logs -f mysql",
    "db:generate": "prisma generate",
    "db:migrate": "prisma migrate dev",
    "db:deploy": "prisma migrate deploy",
    "db:push": "prisma db push",
    "db:studio": "prisma studio",
    "cleanup:assets": "tsx scripts/run-asset-cleanup.ts",
    "format:check": "prettier --check .",
    "prepare": "husky"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.1125.0",
    "@aws-sdk/s3-request-presigner": "^3.1125.0",
    "@fastify/cookie": "^11.1.2",
    "@fastify/cors": "^11.0.1",
    "@fastify/multipart": "^10.1.1",
    "@fastify/static": "^10.1.3",
    "@prisma/client": "^6.9.0",
    "bcrypt": "^6.0.0",
    "dotenv": "^16.5.0",
    "fastify": "^5.3.3",
    "fastify-plugin": "^5.0.1",
    "fastify-type-provider-zod": "^4.0.2",
    "file-type": "^22.0.2",
    "image-size": "^2.0.2",
    "zod": "^3.25.42"
  },
  "devDependencies": {
    "@types/bcrypt": "^6.0.0",
    "@types/node": "^22.15.29",
    "eslint": "^10.8.0",
    "eslint-config-prettier": "^10.1.5",
    "husky": "^9.1.7",
    "pino-pretty": "^13.0.0",
    "prettier": "^3.5.3",
    "prisma": "^6.9.0",
    "tsx": "^4.19.4",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.33.0",
    "vitest": "^3.1.4"
  }
}
