{
  "name": "calendar-api",
  "version": "1.0.0",
  "private": true,
  "description": "Calendar Booking Platform API",
  "main": "dist/server.js",
  "scripts": {
    "dev": "ts-node-dev --respawn --transpile-only src/server.ts",
    "build": "tsc",
    "start": "node dist/server.js",
    "start:worker": "node dist/worker.js",
    "start:scheduler": "node dist/scheduler.js",
    "worker": "ts-node-dev --respawn --transpile-only src/worker.ts",
    "scheduler": "ts-node-dev --respawn --transpile-only src/scheduler.ts",
    "test": "jest --runInBand",
    "lint": "eslint src --ext .ts",
    "seed:timezones": "ts-node src/scripts/seed-timezones.ts"
  },
  "dependencies": {
    "bcrypt": "^5.1.1",
    "cors": "^2.8.5",
    "dotenv": "^16.4.5",
    "express": "^4.21.0",
    "express-rate-limit": "^7.4.0",
    "googleapis": "^144.0.0",
    "helmet": "^7.1.0",
    "ioredis": "^5.4.1",
    "jsonwebtoken": "^9.0.2",
    "kafkajs": "^2.2.4",
    "luxon": "^3.5.0",
    "mysql2": "^3.11.0",
    "nodemailer": "^6.9.15",
    "reflect-metadata": "^0.2.2",
    "typeorm": "^0.3.20",
    "uuid": "^10.0.0",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/bcrypt": "^5.0.2",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.12",
    "@types/jsonwebtoken": "^9.0.6",
    "@types/luxon": "^3.4.2",
    "@types/node": "^22.5.0",
    "@types/nodemailer": "^6.4.15",
    "@types/supertest": "^6.0.2",
    "@types/uuid": "^10.0.0",
    "jest": "^29.7.0",
    "supertest": "^7.0.0",
    "ts-jest": "^29.2.5",
    "ts-node-dev": "^2.0.0",
    "typescript": "^5.5.4"
  },
  "allowScripts": {
    "bcrypt@5.1.1": true
  }
}
