{
  "name": "enterprise-backend",
  "version": "1.0.0",
  "description": "Production-ready enterprise SaaS backend with RBAC, JWT auth, refresh token rotation, audit logging",
  "main": "dist/server.js",
  "scripts": {
    "dev": "tsx watch src/server.ts",
    "build": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
    "start": "node dist/server.js",
    "lint": "eslint src --ext .ts",
    "lint:fix": "eslint src --ext .ts --fix",
    "format": "prettier --write \"src/**/*.ts\"",
    "prisma:generate": "prisma generate",
    "prisma:migrate": "prisma migrate dev",
    "prisma:migrate:deploy": "prisma migrate deploy",
    "prisma:studio": "prisma studio",
    "prisma:seed": "tsx prisma/seed.ts",
    "test": "jest --runInBand",
    "test:watch": "jest --watch",
    "postinstall": "prisma generate"
  },
  "prisma": {
    "seed": "tsx prisma/seed.ts"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "dependencies": {
    "@prisma/client": "^6.19.2",
    "@supabase/server": "^1.4.1",
    "bcrypt": "^5.1.1",
    "bcryptjs": "^3.0.3",
    "compression": "^1.7.4",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "dotenv": "^16.4.5",
    "exceljs": "^4.4.0",
    "express": "^4.21.0",
    "express-mongo-sanitize": "^2.2.0",
    "express-rate-limit": "^7.4.0",
    "helmet": "^7.1.0",
    "hpp": "^0.2.3",
    "ioredis": "^5.11.1",
    "jsonwebtoken": "^9.0.2",
    "jspdf": "^4.2.1",
    "jspdf-autotable": "^5.0.8",
    "morgan": "^1.10.0",
    "multer": "^1.4.5-lts.1",
    "nodemailer": "^6.10.1",
    "socket.io": "^4.8.3",
    "uuid": "^9.0.1",
    "winston": "^3.14.2",
    "winston-daily-rotate-file": "^5.0.0",
    "xss-clean": "^0.1.4",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/bcrypt": "^5.0.2",
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.7.5",
    "@types/cookie-parser": "^1.4.7",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/hpp": "^0.2.6",
    "@types/jest": "^29.5.13",
    "@types/jsonwebtoken": "^9.0.7",
    "@types/morgan": "^1.9.9",
    "@types/multer": "^1.4.12",
    "@types/node": "^20.19.43",
    "@types/nodemailer": "^6.4.24",
    "@types/socket.io": "^3.0.1",
    "@types/supertest": "^6.0.2",
    "@types/uuid": "^9.0.8",
    "@typescript-eslint/eslint-plugin": "^7.18.0",
    "@typescript-eslint/parser": "^7.18.0",
    "eslint": "^8.57.1",
    "eslint-config-prettier": "^9.1.0",
    "jest": "^29.7.0",
    "prettier": "^3.3.3",
    "prisma": "^6.19.2",
    "supertest": "^6.3.4",
    "ts-jest": "^29.2.5",
    "tsc-alias": "^1.9.1",
    "tsx": "^4.19.1",
    "typescript": "^5.6.2"
  }
}
