{
  "name": "node-js-advanced-api",
  "version": "1.0.0",
  "description": "Advanced Node.js API with MySQL, Redis, and WebSockets",
  "main": "dist/server.js",
  "type": "module",
  "scripts": {
    "dev": "tsx watch src/server.ts",
    "build": "tsc",
    "start": "node dist/server.js",
    "migrate:up": "tsx src/db/run-migrations.ts up",
    "migrate:down": "tsx src/db/run-migrations.ts down",
    "test": "jest"
  },
  "dependencies": {
    "@bull-board/api": "^5.21.3",
    "@bull-board/express": "^5.21.3",
    "@socket.io/redis-adapter": "^8.3.0",
    "@types/ws": "^8.18.1",
    "bcryptjs": "^3.0.3",
    "bullmq": "^5.7.13",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "dotenv": "^16.4.5",
    "express": "^4.19.2",
    "helmet": "^7.1.0",
    "http-status-codes": "^2.3.0",
    "ioredis": "^5.4.1",
    "jsonwebtoken": "^9.0.2",
    "mysql2": "^3.9.7",
    "pino": "^9.1.0",
    "pino-pretty": "^11.0.0",
    "socket.io": "^4.7.5",
    "ws": "^8.20.1",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/cookie-parser": "^1.4.7",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.12",
    "@types/jsonwebtoken": "^9.0.6",
    "@types/node": "^20.12.12",
    "@types/supertest": "^6.0.2",
    "jest": "^29.7.0",
    "supertest": "^7.0.0",
    "ts-jest": "^29.1.2",
    "tsx": "^4.22.3",
    "typescript": "^5.4.5"
  }
}
