{
  "name": "ggn-main-site-backend",
  "version": "2.0.0",
  "type": "module",
  "main": "dist/server.js",
  "license": "MIT",
  "scripts": {
    "build": "tsc",
    "start": "node dist/server.js",
    "dev": "tsx watch src/server.ts",
    "prisma:generate": "prisma generate",
    "prisma:push": "prisma db push",
    "prisma:migrate": "prisma migrate dev",
    "prisma:deploy": "prisma migrate deploy",
    "seed:legacy": "tsx src/scripts/seedLegacyContent.ts"
  },
  "dependencies": {
    "@google/generative-ai": "^0.24.1",
    "@prisma/client": "^5.0.0",
    "@types/multer": "^2.0.0",
    "@types/ua-parser-js": "^0.7.39",
    "axios": "^1.13.2",
    "bcryptjs": "^2.4.3",
    "compression": "^1.8.1",
    "cors": "^2.8.5",
    "dotenv": "^17.2.3",
    "express": "^4.18.2",
    "express-rate-limit": "^8.2.1",
    "express-validator": "^7.0.1",
    "helmet": "^8.1.0",
    "jsonwebtoken": "^9.0.0",
    "morgan": "^1.10.1",
    "multer": "^2.1.0",
    "node-cron": "^4.2.1",
    "passport": "^0.6.0",
    "passport-github2": "^0.1.12",
    "passport-google-oauth20": "^2.0.0",
    "slugify": "^1.6.6",
    "ua-parser-js": "^2.0.9",
    "uuid": "^9.0.0"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.8.1",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.3",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/morgan": "^1.9.10",
    "@types/node": "^24.6.0",
    "@types/passport": "^1.0.17",
    "@types/passport-github2": "^1.2.9",
    "@types/passport-google-oauth20": "^2.0.16",
    "prisma": "^5.0.0",
    "tsx": "^4.20.6",
    "typescript": "^5.9.3"
  }
}
