{
  "name": "ecommerce-api",
  "version": "1.0.0",
  "description": "Production-ready Node.js REST API for E-Commerce",
  "main": "src/server.js",
  "scripts": {
    "start": "node src/server.js",
    "start:mock": "node src/server.mock.js",
    "dev": "nodemon src/server.js",
    "dev:mock": "nodemon src/server.mock.js",
    "lint": "eslint src/**/*.js",
    "test": "jest --forceExit --detectOpenHandles"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "dependencies": {
    "accept-language": "^3.0.20",
    "bcryptjs": "^2.4.3",
    "bull": "^4.16.5",
    "compression": "^1.7.4",
    "cookie-parser": "1.4.7",
    "cors": "^2.8.5",
    "dotenv": "^16.4.5",
    "express": "^4.19.2",
    "express-rate-limit": "^7.3.1",
    "express-validator": "^7.1.0",
    "file-type": "16.5.4",
    "google-auth-library": "^9.15.1",
    "helmet": "^7.1.0",
    "i18n": "^0.15.3",
    "jsonwebtoken": "^9.0.2",
    "morgan": "^1.10.0",
    "multer": "^1.4.5-lts.1",
    "mysql2": "^3.9.8",
    "nodemailer": "^6.9.13",
    "qrcode": "^1.5.4",
    "stripe": "^22.2.0",
    "swagger-jsdoc": "^6.3.0",
    "swagger-ui-express": "^5.0.1",
    "uuid": "^10.0.0",
    "winston": "^3.13.0",
    "winston-daily-rotate-file": "^5.0.0",
    "xss": "^1.0.15"
  },
  "devDependencies": {
    "eslint": "^8.57.0",
    "jest": "^29.7.0",
    "nodemon": "^3.1.3",
    "supertest": "^7.0.0"
  }
}
