{
  "name": "xania-backend",
  "version": "1.0.0",
  "description": "Xania Digital Bookstore Backend API",
  "main": "server.js",
  "scripts": {
    "dev": "nodemon server.js",
    "start": "node server.js",
    "db:migrate": "npx prisma migrate dev",
    "db:generate": "npx prisma generate",
    "db:seed": "ts-node -r tsconfig-paths/register prisma/seed.ts"
  },
  "dependencies": {
    "@prisma/client": "^5.7.1",
    "@types/express-rate-limit": "^5.1.3",
    "@types/uuid": "^10.0.0",
    "axios": "^1.13.2",
    "bcryptjs": "^2.4.3",
    "compression": "^1.8.1",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.5",
    "date-fns": "^4.1.0",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "express-rate-limit": "^7.5.1",
    "express-validator": "^7.0.1",
    "express-winston": "^4.2.0",
    "geoip-lite": "^1.4.10",
    "glob": "^11.0.3",
    "google-auth-library": "^10.1.0",
    "handlebars": "^4.7.8",
    "helmet": "^7.2.0",
    "hpp": "^0.2.3",
    "jsonwebtoken": "^9.0.2",
    "morgan": "^1.10.1",
    "multer": "^1.4.5-lts.1",
    "node-cron": "^3.0.3",
    "nodemailer": "^6.9.7",
    "paystack": "^2.0.1",
    "pdf-parse": "^1.1.4",
    "pdfkit": "^0.18.0",
    "rotating-file-stream": "^3.2.7",
    "sharp": "^0.33.1",
    "socket.io": "^4.8.3",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "ua-parser-js": "^2.0.10",
    "uuid": "^9.0.1",
    "winston": "^3.19.0",
    "xss-clean": "^0.1.4"
  },
  "prisma": {
    "seed": "node prisma/seed.js"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/cookie-parser": "^1.4.10",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.3",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/node": "^24.3.1",
    "nodemon": "^3.1.10",
    "prisma": "^5.7.1",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.9.2"
  }
}
