{
  "name": "thinkers-backend",
  "version": "1.0.0",
  "description": "Thinkers Production — REST API Backend (Node.js + Express + TypeScript + Prisma)",
  "main": "dist/main.js",
  "scripts": {
    "dev": "tsx watch src/main.ts",
    "build": "tsc --project tsconfig.json",
    "start": "node dist/main.js",
    "migrate": "prisma migrate deploy",
    "migrate:dev": "prisma migrate dev",
    "generate": "prisma generate",
    "seed": "tsx prisma/seed.ts",
    "cleanup:media": "tsx prisma/scripts/cleanup-media-paths.ts",
    "cleanup:media:dry": "tsx prisma/scripts/cleanup-media-paths.ts --dry-run",
    "db:reset": "prisma migrate reset --force && tsx prisma/seed.ts",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "studio": "prisma studio",
    "lint": "eslint src --ext .ts"
  },
  "dependencies": {
    "@prisma/client": "^5.22.0",
    "bcryptjs": "^2.4.3",
    "compression": "^1.7.4",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "dotenv": "^17.3.1",
    "express": "^4.21.1",
    "express-async-errors": "^3.1.1",
    "express-rate-limit": "^7.4.1",
    "express-validator": "^7.2.0",
    "helmet": "^8.0.0",
    "jsonwebtoken": "^9.0.2",
    "morgan": "^1.10.0",
    "multer": "^1.4.5-lts.1",
    "nodemailer": "^6.9.15",
    "sharp": "^0.33.5",
    "slugify": "^1.6.6",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "uuid": "^10.0.0",
    "winston": "^3.15.0",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.7.5",
    "@types/cookie-parser": "^1.4.7",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/jsonwebtoken": "^9.0.7",
    "@types/morgan": "^1.9.9",
    "@types/multer": "^1.4.12",
    "@types/node": "^20.16.0",
    "@types/nodemailer": "^6.4.16",
    "@types/supertest": "^6.0.2",
    "@types/swagger-jsdoc": "^6.0.4",
    "@types/swagger-ui-express": "^4.1.7",
    "@types/uuid": "^10.0.0",
    "@vitest/coverage-v8": "^2.1.0",
    "prisma": "^5.22.0",
    "supertest": "^7.0.0",
    "tsx": "^4.19.0",
    "typescript": "^5.6.0",
    "vitest": "^2.1.0"
  },
  "engines": {
    "node": ">=18.0.0"
  }
}
