{
  "name": "huaxin-admin",
  "version": "2.0.0",
  "private": true,
  "packageManager": "pnpm@8.10.2",
  "license": "MIT",
  "engines": {
    "node": ">=18",
    "pnpm": ">=8.1.0"
  },
  "scripts": {
    "postinstall": "npm run gen-env-types",
    "prebuild": "rimraf dist",
    "build": "nest build",
    "dev": "npm run start",
    "dev:debug": "npm run start:debug",
    "repl": "npm run start -- --entryFile repl",
    "bundle": "rimraf out && npm run build && ncc build dist/main.js -o out -m -t && chmod +x out/index.js",
    "start": "cross-env NODE_ENV=development nest start -w --path tsconfig.json",
    "start:debug": "cross-env NODE_ENV=development nest start --debug --watch",
    "start:prod": "cross-env NODE_ENV=production node dist/main",
    "prod": "cross-env NODE_ENV=production pm2-runtime start ecosystem.config.js",
    "prod:pm2": "cross-env NODE_ENV=production pm2 restart ecosystem.config.js",
    "prod:stop": "pm2 stop ecosystem.config.js",
    "prod:debug": "cross-env NODE_ENV=production nest start --debug --watch",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "doc": "compodoc -p tsconfig.json -s",
    "gen-env-types": "npx tsx scripts/genEnvTypes.ts",
    "typeorm": "NODE_ENV=development typeorm-ts-node-esm -d ./dist/config/database.config.js",
    "migration:create": "npm run typeorm migration:create ./src/migrations/initData",
    "migration:generate": "npm run typeorm migration:generate ./src/migrations/update-table_$(echo $npm_package_version | sed 's/\\./_/g')",
    "migration:run": "npm run typeorm -- migration:run",
    "migration:revert": "npm run typeorm -- migration:revert",
    "cleanlog": "rimraf logs",
    "docker:build:dev": "docker compose --env-file .env --env-file .env.development up --build",
    "docker:build": "docker compose --env-file .env --env-file .env.production up --build",
    "docker:up": "docker compose --env-file .env --env-file .env.production up -d --no-build",
    "docker:down": "docker compose --env-file .env --env-file .env.production down",
    "docker:rmi": "docker compose --env-file .env --env-file .env.production stop huaxin-admin-server && docker container rm huaxin-admin-server && docker rmi huaxin-admin-server",
    "docker:logs": "docker compose --env-file .env --env-file .env.production logs -f",
    "c": "git add . && git cz && git push",
    "release": "standard-version",
    "commitlint": "commitlint --config commitlint.config.cjs -e -V",
    "lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,md}\""
  },
  "dependencies": {
    "@fastify/cookie": "^9.3.1",
    "@fastify/multipart": "^8.1.0",
    "@fastify/static": "^7.0.1",
    "@liaoliaots/nestjs-redis": "^9.0.5",
    "@nestjs-modules/mailer": "^1.10.3",
    "@nestjs/axios": "^3.0.2",
    "@nestjs/bull": "^10.1.0",
    "@nestjs/cache-manager": "^2.2.1",
    "@nestjs/common": "^10.3.3",
    "@nestjs/config": "^3.2.0",
    "@nestjs/core": "^10.3.3",
    "@nestjs/event-emitter": "^2.0.4",
    "@nestjs/jwt": "^10.2.0",
    "@nestjs/passport": "^10.0.3",
    "@nestjs/platform-fastify": "^10.3.3",
    "@nestjs/platform-socket.io": "^10.3.3",
    "@nestjs/schedule": "^4.0.1",
    "@nestjs/swagger": "^7.3.0",
    "@nestjs/terminus": "^10.2.2",
    "@nestjs/throttler": "^5.1.2",
    "@nestjs/typeorm": "^10.0.2",
    "@nestjs/websockets": "^10.3.3",
    "@socket.io/redis-adapter": "^8.2.1",
    "@socket.io/redis-emitter": "^5.1.0",
    "@types/lodash": "^4.14.202",
    "axios": "^1.6.7",
    "bull": "^4.12.2",
    "cache-manager": "^5.4.0",
    "cache-manager-ioredis-yet": "^1.2.2",
    "chalk": "^5.3.0",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "cron": "^3.1.6",
    "cron-parser": "^4.9.0",
    "crypto-js": "^4.2.0",
    "dayjs": "^1.11.10",
    "dotenv": "16.4.4",
    "handlebars": "^4.7.8",
    "helmet": "^7.1.0",
    "ioredis": "^5.3.2",
    "lodash": "^4.17.21",
    "mysql2": "^3.9.1",
    "nanoid": "^3.3.7",
    "nodemailer": "^6.9.9",
    "passport": "^0.7.0",
    "passport-google-oauth20": "^2.0.0",
    "passport-jwt": "^4.0.1",
    "passport-local": "^1.0.0",
    "qiniu": "^7.11.0",
    "reflect-metadata": "^0.2.1",
    "rimraf": "^5.0.5",
    "rxjs": "^7.8.1",
    "socket.io": "^4.7.4",
    "stacktrace-js": "^2.0.2",
    "svg-captcha": "^1.4.0",
    "systeminformation": "^5.22.0",
    "typeorm": "0.3.17",
    "ua-parser-js": "^1.0.37",
    "winston": "^3.11.0",
    "winston-daily-rotate-file": "^5.0.0"
  },
  "devDependencies": {
    "@antfu/eslint-config": "^2.6.4",
    "@compodoc/compodoc": "^1.1.23",
    "@nestjs/cli": "^10.3.2",
    "@nestjs/schematics": "^10.1.1",
    "@nestjs/testing": "^10.3.2",
    "@types/cache-manager": "^4.0.6",
    "@types/jest": "29.5.12",
    "@types/multer": "^1.4.11",
    "@types/node": "^20.11.16",
    "@types/supertest": "^6.0.2",
    "@types/ua-parser-js": "^0.7.39",
    "cross-env": "^7.0.3",
    "eslint": "^8.56.0",
    "jest": "^29.7.0",
    "lint-staged": "^15.2.2",
    "source-map-support": "^0.5.21",
    "supertest": "^6.3.4",
    "ts-jest": "^29.1.2",
    "ts-loader": "^9.5.1",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.3.3",
    "cliui": "^8.0.1",
    "commitizen": "^4.3.0",
    "cz-customizable": "^7.0.0",
    "standard-version": "^9.5.0",
    "husky": "^8.0.0"
  },
  "pnpm": {
    "overrides": {
      "@liaoliaots/nestjs-redis": "npm:@songkeys/nestjs-redis"
    }
  },
  "config": {
    "commitizen": {
      "path": "cz-customizable"
    }
  },
  "lint-staged": {
    "*": [
      "npm run lint"
    ]
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": "src",
    "moduleNameMapper": {
      "^~/(.*)$": "<rootDir>/$1"
    },
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node"
  }
}