{
  "name": "oudelaa-backend",
  "version": "1.0.0",
  "private": true,
  "description": "Production-ready social media backend with NestJS and MongoDB",
  "license": "UNLICENSED",
  "scripts": {
    "build": "nest build",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:prod": "node dist/main",
    "lint": "eslint \"src/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:e2e": "jest --runInBand --config ./test/jest-e2e.json",
    "perf:load": "node scripts/load-test.js",
    "perf:health": "node scripts/load-test.js --url http://127.0.0.1:4000/api/v1/health --duration 15 --concurrency 20",
    "perf:startup": "node scripts/startup-benchmark.js"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.1041.0",
    "@aws-sdk/lib-storage": "^3.1041.0",
    "@nestjs/common": "^10.4.0",
    "@nestjs/config": "^3.2.3",
    "@nestjs/core": "^10.4.0",
    "@nestjs/jwt": "^10.2.0",
    "@nestjs/mongoose": "^10.1.0",
    "@nestjs/passport": "^10.0.3",
    "@nestjs/platform-express": "^10.4.0",
    "@nestjs/platform-socket.io": "^10.4.0",
    "@nestjs/swagger": "^8.1.0",
    "@nestjs/websockets": "^10.4.0",
    "@socket.io/redis-adapter": "^8.3.0",
    "@types/passport-google-oauth20": "^2.0.17",
    "bcrypt": "^5.1.1",
    "bullmq": "^5.76.5",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "google-auth-library": "^10.6.2",
    "ioredis": "^5.10.1",
    "joi": "^17.13.3",
    "mongoose": "^8.6.0",
    "nodemailer": "^8.0.5",
    "passport": "^0.7.0",
    "passport-google-oauth20": "^2.0.0",
    "passport-jwt": "^4.0.1",
    "reflect-metadata": "^0.2.2",
    "rxjs": "^7.8.1",
    "socket.io": "^4.8.0"
  },
  "devDependencies": {
    "@nestjs/cli": "^10.4.5",
    "@nestjs/schematics": "^10.2.3",
    "@nestjs/testing": "^10.4.0",
    "@types/bcrypt": "^5.0.2",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.12",
    "@types/node": "^20.16.5",
    "@types/nodemailer": "^8.0.0",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^6.0.2",
    "eslint": "^9.11.1",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.2.1",
    "jest": "^29.7.0",
    "prettier": "^3.3.3",
    "source-map-support": "^0.5.21",
    "supertest": "^7.0.0",
    "ts-jest": "^29.2.5",
    "ts-loader": "^9.5.1",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.6.2"
  }
}
