{
  "$schema": "https://json.schemastore.org/package.json",
  "name": "backend",
  "version": "1.0.0",
  "main": "dist/server.js",
  "scripts": {
    "build": "tsc -p tsconfig.json",
    "typecheck": "tsc -p tsconfig.json --noEmit",
    "start": "node dist/server.js",
    "start:ts": "tsx server.ts",
    "dev": "tsx watch server.ts",
    "dev:no-db": "SKIP_DB_INIT=true SKIP_EMAIL_VERIFY=true tsx watch server.ts",
    "db:sync": "node -e \"require('./models').sequelize.sync({ alter: true }).then(() => process.exit(0))\"",
    "db:migrate": "tsx scripts/migrate.ts",
    "test": "node --import tsx --test tests/contracts/*.test.ts",
    "test:contracts": "node --import tsx --test tests/contracts/*.test.ts",
    "pm2:dev": "pm2 start ecosystem.config.cjs --env development",
    "pm2:prod": "pm2 start ecosystem.config.cjs --env production"
  },
  "keywords": [],
  "author": "softbytes",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "bcryptjs": "^3.0.2",
    "cors": "^2.8.5",
    "dotenv": "^17.2.3",
    "express": "^5.1.0",
    "express-rate-limit": "^8.6.0",
    "helmet": "^8.3.0",
    "html-pdf-node": "^1.0.8",
    "jsonwebtoken": "^9.0.2",
    "jszip": "^3.10.1",
    "multer": "^2.0.2",
    "mysql2": "^3.15.2",
    "node-cron": "^4.2.1",
    "nodemailer": "^7.0.10",
    "pg": "^8.16.3",
    "pg-hstore": "^2.3.4",
    "puppeteer": "^24.37.2",
    "sequelize": "^6.37.7",
    "uuid": "^13.0.0",
    "winston": "^3.19.0",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/multer": "^2.2.0",
    "@types/node": "^26.2.0",
    "@types/node-cron": "^3.0.11",
    "@types/nodemailer": "^8.0.1",
    "nodemon": "^3.1.10",
    "tsx": "^4.23.13",
    "typescript": "^7.0.2"
  }
}
