{
  "name": "quick-connect-backend",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "clean": "rimraf dist",
    "build": "rm -rf dist && tsc && cpx \"src/templates/**/*\" dist/templates",
    "build-ignore-errors": "rm -rf dist && tsc --skipLibCheck true --ignoreDeprecations 5.0 && cpx \"src/templates/**/*\" dist/templates",
    "start": "cross-env NODE_ENV=production node dist/server.js",
    "dev": "cross-env NODE_ENV=development tsx watch src/server.ts",
    "format": "prettier --write .",
    "type-check": "tsc --noEmit",
    "format:check": "prettier --check .",
    "webhook": "cross-env NODE_ENV=development stripe listen --forward-to localhost:3002/api/webhooks/stripe"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "type": "commonjs",
  "dependencies": {
    "@casl/ability": "^6.7.3",
    "@faker-js/faker": "^9.9.0",
    "@lykmapipo/mongoose-exportable": "^0.4.0",
    "@types/multer": "^2.0.0",
    "@types/node-fetch": "^2.6.13",
    "@types/pdfkit": "^0.17.4",
    "@types/qrcode": "^1.5.5",
    "bcrypt": "^6.0.0",
    "bcryptjs": "^3.0.2",
    "compression": "^1.8.1",
    "cors": "^2.8.5",
    "dotenv": "^17.2.3",
    "ejs": "^5.0.2",
    "express": "^5.1.0",
    "express-session": "^1.19.0",
    "firebase-admin": "^13.5.0",
    "geoip-lite": "^2.0.1",
    "joi": "^18.0.1",
    "jsonwebtoken": "^9.0.2",
    "jspdf": "^4.0.0",
    "jspdf-autotable": "^5.0.7",
    "mongoose": "^8.19.1",
    "mongoose-aggregate-paginate-v2": "^1.1.4",
    "mongoose-hidden": "^1.9.1",
    "mongoose-paginate-v2": "^1.9.1",
    "morgan": "^1.10.1",
    "multer": "^2.0.2",
    "node-cron": "^4.2.1",
    "node-fetch": "^3.3.2",
    "nodemailer": "^7.0.9",
    "passport": "^0.7.0",
    "passport-google-oauth20": "^2.0.0",
    "pdfkit": "^0.17.2",
    "qrcode": "^1.5.4",
    "request-ip": "^3.3.0",
    "rotating-file-stream": "^3.2.9",
    "socket.io": "^4.8.1",
    "stripe": "^19.2.0",
    "swagger-ui-express": "^5.0.1"
  },
  "devDependencies": {
    "@types/compression": "^1.8.1",
    "@types/cors": "^2.8.19",
    "@types/ejs": "^3.1.5",
    "@types/express": "^5.0.5",
    "@types/express-session": "^1.18.2",
    "@types/figlet": "^1.7.0",
    "@types/geoip-lite": "^1.4.4",
    "@types/ip": "^1.1.3",
    "@types/jest": "^30.0.0",
    "@types/jsonwebtoken": "^8.5.9",
    "@types/jspdf": "^2.0.0",
    "@types/morgan": "^1.9.10",
    "@types/node": "^24.10.4",
    "@types/nodemailer": "^7.0.2",
    "@types/passport": "^1.0.17",
    "@types/passport-google-oauth20": "^2.0.17",
    "@types/request-ip": "^0.0.41",
    "@types/swagger-ui-express": "^4.1.8",
    "concurrently": "^9.1.0",
    "cpx": "^1.5.0",
    "cross-env": "^7.0.3",
    "jest": "^30.2.0",
    "nodemon": "^3.1.7",
    "prettier": "^3.6.2",
    "rimraf": "^6.1.2",
    "shx": "^0.3.4",
    "ts-node-dev": "^2.0.0",
    "tsx": "^4.20.6",
    "typescript": "^5.9.3"
  }
}