{
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/express": "^4.17.21",
    "@types/jsonwebtoken": "^9.0.6",
    "@types/morgan": "^1.9.9",
    "@types/node": "^22.0.0",
    "@types/passport": "^1.0.16",
    "@types/passport-local": "^1.0.38",
    "@types/uuid": "^10.0.0",
    "nodemon": "^3.1.4",
    "typescript": "^5.5.4"
  },
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.20.2",
    "crypto-js": "^4.2.0",
    "date-fns": "^3.6.0",
    "dotenv": "^16.4.5",
    "express": "^4.19.2",
    "express-validator": "^7.1.0",
    "form-data": "^4.0.0",
    "jsonwebtoken": "^9.0.2",
    "moment-timezone": "^0.5.45",
    "morgan": "^1.10.0",
    "multer": "^1.4.5-lts.1",
    "mysql2": "^3.11.0",
    "nodemailer": "^6.9.14",
    "passport": "^0.7.0",
    "passport-local": "^1.0.0",
    "randomstring": "^1.3.0",
    "sequelize": "^6.37.3",
    "sequelize-typescript": "^2.1.6",
    "ts-node": "^10.9.2",
    "uuid": "^10.0.0"
  },
  "name": "jci-election",
  "version": "1.0.0",
  "main": "app.js",
  "scripts": {
    "build": "npx tsc",
    "start": "node dist/app.js",
    "dev": "nodemon src/app.ts",
    "dev2": "npx ts-node-dev --files ./src/app.ts"
  },
  "author": "",
  "license": "ISC",
  "description": ""
}
