{
  "name": "2.server.client.api",
  "version": "0.0.1",
  "description": "",
  "author": "",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "build": "nest build",
    "build:monolith": "nest build client-api",
    "build:all": "npm run build:shared && npm run build:admin-db && nest build customer-auth && nest build client-api && nest build admin-api && nest build menu && nest build theming && nest build cart && nest build menu-item-review && nest build call-waiter && nest build pos-auth && nest build table && nest build inventory",
    "build:admin-api": "nest build admin-api",
    "build:shared": "nest build shared",
    "build:admin-db": "nest build admin-db",
    "format": "prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"",
    "start": "npm run start:all",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/apps/2.server.client.api/main",
    "start:monolith:prod": "node dist/apps/client-api/main",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
    "test:e2e": "jest --config ./apps/2.server.client.api/test/jest-e2e.json",
    "start:auth": "nest start customer-auth --watch",
    "start:client-api": "nest start client-api --watch",
    "start:admin-api": "nest start admin-api --watch",
    "admin-api": "nest start admin-api --watch",
    "start:menu": "nest start menu --watch",
    "start:cart": "nest start cart --watch",
    "start:theming": "nest start theming --watch",
    "start:call-waiter": "nest start call-waiter --watch",
    "start:menu-item-review": "nest start menu-item-review  --watch",
    "start:pos-auth": "nest start pos-auth --watch",
    "start:table": "nest start table --watch",
    "start:inventory": "nest start inventory --watch",
    "start:delivery": "nest start delivery --watch",
    "client-api": "concurrently -k -n AUTH,API,MENU,THEMING,CART,MENU_ITEM_REVIEW,CALL_WAITER,POS_AUTH,TABLE,INVENTORY,DELIVERY -c green,blue,magenta,purple,red,orange,cyan,green,yellow,white,cyan \"npm run start:auth\" \"npm run start:client-api\" \"npm run start:menu\" \"npm run start:theming\" \"npm run start:cart\" \"npm run start:menu-item-review\" \"npm run start:call-waiter\" \"npm run start:pos-auth\" \"npm run start:table\" \"npm run start:inventory\" \"npm run start:delivery\"",
    "client-api:prod": "NODE_ENV=production concurrently -k -n AUTH,API,MENU,THEMING,CART,MENU_ITEM_REVIEW,CALL_WAITER,POS_AUTH,TABLE,INVENTORY,DELIVERY -c green,blue,magenta,purple,red,orange,cyan,green,yellow,white,cyan \"npm run start:auth:prod\" \"npm run start:client-api:prod\" \"npm run start:menu:prod\" \"npm run start:theming:prod\" \"npm run start:cart:prod\" \"npm run start:menu-item-review:prod\" \"npm run start:call-waiter:prod\" \"npm run start:pos-auth:prod\" \"npm run start:table:prod\" \"npm run start:inventory:prod\" \"npm run start:delivery:prod\"",
    "admin-api:prod": "NODE_ENV=production npm run start:admin-api:prod",
    "start:api": "concurrently -k -n CLIENT_API,ADMIN_API -c blue,green \"npm run client-api:prod\" \"npm run admin-api:prod\"",
    "client-api:build-prod": "npm run build:all && npm run client-api:prod",
    "start:auth:prod": "node dist/apps/microservices/customer-auth/main",
    "start:customer-auth:prod": "node dist/apps/microservices/customer-auth/main",
    "start:client-api:prod": "node dist/apps/client-api/main",
    "start:admin-api:prod": "node dist/apps/admin-api/main",
    "start:menu:prod": "node dist/apps/microservices/menu/main",
    "start:theming:prod": "node dist/apps/microservices/theming/main",
    "start:cart:prod": "node dist/apps/microservices/cart/main",
    "start:menu-item-review:prod": "node dist/apps/microservices/menu-item-review/main",
    "start:call-waiter:prod": "node dist/apps/microservices/call-waiter/main",
    "start:pos-auth:prod": "node dist/apps/microservices/pos-auth/main",
    "start:table:prod": "node dist/apps/microservices/table/main",
    "start:inventory:prod": "node dist/apps/microservices/inventory/main",
    "start:delivery:prod": "node dist/apps/microservices/delivery/main",
    "docker": "docker build -t server-plug ."
  },
  "dependencies": {
    "@azure/communication-email": "^1.1.0",
    "@elastic/elasticsearch": "^8.19.1",
    "@nestjs/common": "^11.0.1",
    "@nestjs/config": "^4.0.2",
    "@nestjs/core": "^11.0.1",
    "@nestjs/jwt": "^11.0.0",
    "@nestjs/microservices": "^11.1.0",
    "@nestjs/passport": "^11.0.5",
    "@nestjs/platform-express": "^11.0.1",
    "@nestjs/schedule": "^6.1.1",
    "@nestjs/swagger": "^11.1.4",
    "@nestjs/typeorm": "^11.0.0",
    "@types/bcryptjs": "^2.4.6",
    "@types/diff": "^7.0.2",
    "@types/multer": "^2.0.0",
    "@types/nodemailer": "^6.4.17",
    "@types/passport-jwt": "^4.0.1",
    "@types/passport-local": "^1.0.38",
    "adm-zip": "^0.5.16",
    "axios": "^1.13.6",
    "bcryptjs": "^2.4.3",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.2",
    "diff": "^8.0.3",

    "exceljs": "^4.4.0",
    "handlebars": "^4.7.8",
    "ioredis": "^5.6.1",
    "joi": "^17.13.3",
    "jwt-decode": "^4.0.0",
    "md5": "^2.3.0",
    "mqtt": "^5.0.0",
    "mysql2": "^3.14.0",
    "nestjs-pino": "^4.6.0",
    "nodemailer": "^7.0.5",
    "nodemailer-express-handlebars": "^7.0.0",
    "passport-jwt": "^4.0.1",
    "passport-local": "^1.0.0",
    "pino": "^10.3.1",
    "pino-http": "^11.0.0",
    "pino-pretty": "^13.1.3",
    "png-to-jpeg": "^1.0.1",
    "reflect-metadata": "^0.2.2",
    "rxjs": "^7.8.1",
    "sass": "^1.89.0",
    "swagger-ui-express": "^5.0.1",
    "typeorm": "^0.3.22",
    "uuid": "^13.0.0"
  },
  "devDependencies": {
    "@eslint/eslintrc": "^3.2.0",
    "@eslint/js": "^9.18.0",
    "@nestjs/cli": "^11.0.0",
    "@nestjs/schematics": "^11.0.0",
    "@nestjs/testing": "^11.0.1",
    "@openapitools/openapi-generator-cli": "^2.19.1",
    "@swc/cli": "^0.6.0",
    "@swc/core": "^1.10.7",
    "@types/adm-zip": "^0.5.7",
    "@types/express": "^5.0.0",
    "@types/jest": "^29.5.14",
    "@types/node": "^22.10.7",
    "@types/supertest": "^6.0.2",
    "concurrently": "^9.1.2",
    "eslint": "^9.18.0",
    "eslint-config-prettier": "^10.0.1",
    "eslint-plugin-prettier": "^5.2.2",
    "globals": "^16.0.0",
    "jest": "^29.7.0",
    "prettier": "^3.4.2",
    "source-map-support": "^0.5.21",
    "supertest": "^7.0.0",
    "ts-jest": "^29.2.5",
    "ts-loader": "^9.5.2",
    "ts-node": "^10.9.2",
    "webpack": "^5.100.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.7.3",
    "typescript-eslint": "^8.20.0"
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": ".",
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "./coverage",
    "testEnvironment": "node",
    "roots": [
      "<rootDir>/apps/",
      "<rootDir>/libs/"
    ],
    "moduleNameMapper": {
      "^@app/shared(|/.*)$": "<rootDir>/libs/shared/src/$1",
      "^admin-db/admin-db(|/.*)$": "<rootDir>/libs/admin-db/src/$1"
    }
  }
}
