{
  "name": "create-nodejs-ts-app",
  "version": "3.0.11",
  "description": "Node express mongoose typescript boilerplate",
  "main": "dist/index.js",
  "author": "codnestx",
  "license": "MIT",
  "type": "module",
  "engines": {
    "node": ">=23.11.0"
  },
  "scripts": {
    "start": "pm2 start ecosystem.config.json --no-daemon",
    "start:build": "tsup && pm2 start ecosystem.config.json",
    "compile": "tsc --build && tsc-alias",
    "compile:watch": "concurrently \"tsc --build --watch\" \"tsc-alias --watch\"",
    "pre:dev": "cross-env NODE_ENV=development nodemon dist/index.js",
    "dev": "cross-env NODE_ENV=development tsx watch --require tsconfig-paths/register --experimental-specifier-resolution=node src/index.ts",
    "seed:dev": "cross-env NODE_ENV=development tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/seeder/index.ts",
    "seed:prod": "cross-env NODE_ENV=production tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/seeder/index.ts",
    "seed:banks:dev": "cross-env NODE_ENV=development tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/seeder/banks/index.ts",
    "seed:banks:prod": "cross-env NODE_ENV=production tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/seeder/banks/index.ts",
    "drop-index:dev": "cross-env NODE_ENV=development tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/seeder/dropIndex.ts",
    "drop-index:prod": "cross-env NODE_ENV=production tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/seeder/dropIndex.ts",
    "seed-delhi-areas:dev": "cross-env NODE_ENV=development tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/scripts/area/seed-delhi.ts",
    "seed-andhra-pradesh:dev": "cross-env NODE_ENV=development tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/scripts/seed-andhra-pradesh-unified.ts",
    "seed-andhra-pradesh:prod": "cross-env NODE_ENV=production tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/scripts/seed-andhra-pradesh-unified.ts",
    "lint": "eslint . --ext .ts",
    "lint:fix": "eslint . --ext .ts --fix",
    "prettier": "prettier --check **/*.ts",
    "prettier:fix": "prettier --write **/*.ts",
    "docker:prod": "docker-compose -f docker-compose.yml -f docker-compose.prod.yml up",
    "docker:dev": "docker-compose -f docker-compose.yml -f docker-compose.dev.yml up",
    "docker:test": "docker-compose -f docker-compose.yml -f docker-compose.test.yml up",
    "worker:dev": "concurrently -k \"npm run notification:dev\" \"npm run unit:dev\"",
    "notification": "npm run compile && cross-env NODE_ENV=development node dist/workers/notifications/notification.worker.js",
    "notification:dev": "cross-env NODE_ENV=development tsx --require tsconfig-paths/register --experimental-specifier-resolution=node src/workers/notifications/notification.worker.ts",
    "unit": "npm run compile && cross-env NODE_ENV=development node dist/workers/units/unit.worker.js",
    "unit:dev": "cross-env NODE_ENV=development tsx --require tsconfig-paths/register --experimental-specifier-resolution=node src/workers/units/unit.worker.ts",
    "worker": "concurrently -k \"npm run expiry\"",
    "mongo-op": "cross-env NODE_ENV=production tsx  --require tsconfig-paths/register --experimental-specifier-resolution=node src/shared/mongoose/operation.ts",
    "migrate:total-activity": "cross-env NODE_ENV=development tsx --require tsconfig-paths/register --experimental-specifier-resolution=node src/scripts/migrations/migrate-total-activity.ts",
    "migrate:backfill:hasBlockLayout": "cross-env NODE_ENV=development tsx --require tsconfig-paths/register --experimental-specifier-resolution=node src/scripts/migrations/backfill-hasBlockLayout.ts"
  },
  "keywords": [
    "node",
    "typescript",
    "node.js",
    "boilerplate",
    "generator",
    "express",
    "rest",
    "api",
    "mongodb",
    "mongoose",
    "es6",
    "es7",
    "es8",
    "es9",
    "docker",
    "passport",
    "joi",
    "eslint",
    "prettier"
  ],
  "devDependencies": {
    "@eslint/js": "^9.27.0",
    "@faker-js/faker": "^9.8.0",
    "@types/compression": "^1.8.0",
    "@types/cookie-parser": "^1.4.8",
    "@types/cors": "2.8.18",
    "@types/express": "^5.0.2",
    "@types/ioredis": "^4.28.10",
    "@types/morgan": "^1.9.9",
    "@types/node": "^22.15.21",
    "@types/nodemailer": "^6.4.17",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^6.0.3",
    "@types/unidecode": "^1.1.0",
    "@types/validator": "^13.15.1",
    "@typescript-eslint/eslint-plugin": "^8.56.0",
    "@typescript-eslint/parser": "^8.56.0",
    "@typescript-eslint/utils": "^8.56.0",
    "concurrently": "^9.1.2",
    "eslint": "^9.39.2",
    "eslint-config-prettier": "^10.1.5",
    "eslint-import-resolver-typescript": "^4.4.3",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-prettier": "^5.4.0",
    "globals": "^16.1.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.0.0",
    "node-mocks-http": "^1.17.2",
    "nodemon": "^3.1.10",
    "prettier": "^3.5.3",
    "supertest": "^7.1.1",
    "tsc-alias": "^1.8.16",
    "tsconfig-paths": "^4.2.0",
    "tsup": "^8.5.0",
    "tsx": "^4.20.2",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.32.1"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.832.0",
    "@aws-sdk/client-ses": "^3.934.0",
    "@aws-sdk/s3-request-presigner": "^3.832.0",
    "@bull-board/api": "6.10.1",
    "@bull-board/express": "6.10.1",
    "@getbrevo/brevo": "^3.0.1",
    "@googlemaps/google-maps-services-js": "^3.4.2",
    "@types/node-cron": "^3.0.11",
    "aws4": "^1.13.2",
    "axios": "^1.13.5",
    "bcryptjs": "^3.0.2",
    "bullmq": "5.53.2",
    "compression": "^1.8.0",
    "cors": "^2.8.5",
    "cross-env": "^7.0.3",
    "csv-parse": "^6.1.0",
    "dotenv": "^16.5.0",
    "exceljs": "^4.4.0",
    "express": "^5.1.0",
    "express-mongo-sanitize": "^2.2.0",
    "express-rate-limit": "^7.5.0",
    "firebase-admin": "^13.4.0",
    "handlebars": "^4.7.8",
    "helmet": "^8.1.0",
    "http-status": "^2.1.0",
    "ioredis": "^5.6.1",
    "joi": "^17.13.3",
    "jsonwebtoken": "^9.0.2",
    "moment": "^2.30.1",
    "mongoose": "^8.15.0",
    "mongoose-sequence": "^6.0.1",
    "morgan": "^1.10.0",
    "multer": "^2.0.2",
    "node-cron": "^4.2.1",
    "nodemailer": "^7.0.3",
    "passport": "^0.7.0",
    "passport-jwt": "^4.0.1",
    "pm2": "^6.0.14",
    "socket.io": "^4.8.3",
    "unidecode": "^1.1.0",
    "uuid": "^9.0.1",
    "validator": "^13.15.0",
    "winston": "^3.17.0",
    "xlsx": "0.18.5"
  },
  "lint-staged": {
    "**/*.{js,ts}": [
      "eslint --fix",
      "prettier --write"
    ]
  },
  "overrides": {
    "ajv": "^8.18.0",
    "fast-xml-parser": "^5.3.6",
    "lodash": "^4.17.21",
    "tmp": "^0.2.4"
  }
}