{
  "name": "backend",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "ts-node-dev --respawn --transpile-only src/server.ts",
    "build": "tsc",
    "start": "node dist/server.js",
    "test": "npm run build && node --test test/tax-settings.test.mjs test/zoom-api.test.mjs test/permissions.test.mjs test/custom-role-access.test.mjs test/member-availability.test.mjs",
    "test:signup": "npm run build && node --test test/signup-flow.test.mjs"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@aws-sdk/client-s3": "^3.1127.0",
    "bcryptjs": "^3.0.3",
    "cors": "^2.8.6",
    "dotenv": "^17.4.2",
    "express": "^5.2.1",
    "jsonwebtoken": "^9.0.3",
    "multer": "^2.3.0",
    "mysql2": "^3.24.3",
    "nodemailer": "^10.0.0",
    "pdfkit": "^0.20.2",
    "qrcode": "^1.5.4",
    "speakeasy": "^2.0.0",
    "stripe": "^22.6.1"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/multer": "^2.2.0",
    "@types/node": "^26.4.1",
    "@types/nodemailer": "^8.0.1",
    "@types/pdfkit": "^0.17.6",
    "@types/qrcode": "^1.5.6",
    "@types/speakeasy": "^2.0.10",
    "ts-node-dev": "^2.0.0",
    "typescript": "^5.5.4"
  }
}
