{
  "name": "broadcastav-api",
  "version": "1.0.0",
  "description": "Create a Node.js app for building production-ready RESTful APIs using Express, by running one command",
  "type": "module",
  "bin": "bin/createNodejsApp.js",
  "main": "src/index.js",
  "repository": "",
  "author": "Vivek Makwana",
  "license": "MIT",
  "engines": {
    "node": ">=20.0.0"
  },
  "scripts": {
    "build": "tsc",
    "start": "pm2 start ecosystem.config.json --no-daemon",
    "start:node": "node dist/index.js",
    "dev": "cross-env NODE_ENV=development tsx watch src/index.ts",
    "create-admin": "tsx scripts/create-admin.ts",
    "typecheck": "tsc --noEmit",
    "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest -i",
    "test:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules jest -i --watchAll",
    "coverage": "cross-env NODE_OPTIONS=--experimental-vm-modules jest -i --coverage",
    "lint": "eslint . --ext .js,.ts",
    "lint:fix": "eslint . --ext .js,.ts --fix",
    "prettier": "prettier --check \"**/*.{js,ts}\"",
    "prettier:fix": "prettier --write \"**/*.{js,ts}\"",
    "prepare": "husky"
  },
  "keywords": [
    "node",
    "node.js",
    "generator",
    "express",
    "rest",
    "api",
    "mongodb",
    "mongoose",
    "esm",
    "es6",
    "jest",
    "passport",
    "joi",
    "eslint",
    "prettier"
  ],
  "dependencies": {
    "aus-postcode-suburbs": "1.3.2",
    "bcryptjs": "^3.0.2",
    "compression": "^1.8.0",
    "cors": "^2.8.5",
    "cross-env": "^7.0.3",
    "dotenv": "^16.4.7",
    "express": "^4.21.2",
    "express-mongo-sanitize": "^2.2.0",
    "express-rate-limit": "^7.5.0",
    "helmet": "^8.0.0",
    "http-status": "^1.8.1",
    "joi": "^17.13.3",
    "jsonwebtoken": "^9.0.2",
    "moment": "^2.30.1",
    "moment-timezone": "^0.5.48",
    "mongoose": "^8.9.5",
    "morgan": "^1.10.0",
    "multer": "^2.3.0",
    "nodemailer": "^6.10.0",
    "passport": "^0.7.0",
    "passport-jwt": "^4.0.1",
    "pm2": "^5.4.3",
    "sharp": "^0.35.4",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "validator": "^13.12.0",
    "winston": "^3.17.0",
    "xss-clean": "^0.1.4"
  },
  "devDependencies": {
    "@faker-js/faker": "^9.4.0",
    "@jest/globals": "^30.5.1",
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.8.1",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@types/jest": "^30.0.0",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/morgan": "^1.9.10",
    "@types/multer": "^2.2.0",
    "@types/node": "^26.4.1",
    "@types/nodemailer": "^8.0.1",
    "@types/passport": "^1.0.17",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^7.2.1",
    "@types/swagger-jsdoc": "^6.0.4",
    "@types/swagger-ui-express": "^4.1.8",
    "@types/validator": "^13.15.10",
    "@typescript-eslint/eslint-plugin": "^8.69.0",
    "@typescript-eslint/parser": "^8.69.0",
    "eslint": "^8.57.1",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jest": "^28.11.0",
    "eslint-plugin-prettier": "^5.2.3",
    "eslint-plugin-security": "^3.0.1",
    "husky": "^9.1.7",
    "jest": "^29.7.0",
    "lint-staged": "^15.4.3",
    "node-mocks-http": "^1.16.2",
    "nodemon": "^3.1.9",
    "prettier": "^3.4.2",
    "supertest": "^7.0.0",
    "ts-jest": "^29.4.12",
    "tsx": "^4.23.13",
    "typescript": "^6.0.3"
  }
}
