{
  "name": "@media-manager/server",
  "version": "1.0.0",
  "description": "多自媒体平台管理系统后端服务",
  "type": "module",
  "main": "./dist/app.js",
  "scripts": {
    "dev": "tsx watch src/app.ts",
    "xhs:import": "tsx src/scripts/run-xhs-import.ts",
    "xhs:auth": "set XHS_IMPORT_HEADLESS=0&& set XHS_STORAGE_STATE_BOOTSTRAP=1&& tsx src/scripts/run-xhs-import.ts",
    "build": "tsc",
    "start": "node dist/app.js",
    "clean": "rimraf dist",
    "lint": "eslint src --ext .ts"
  },
  "dependencies": {
    "@media-manager/shared": "workspace:*",
    "bcryptjs": "^2.4.3",
    "bullmq": "^5.66.5",
    "compression": "^1.7.4",
    "cors": "^2.8.5",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "express-validator": "^7.0.1",
    "helmet": "^7.1.0",
    "ioredis": "^5.9.2",
    "jsonwebtoken": "^9.0.2",
    "morgan": "^1.10.0",
    "multer": "^1.4.5-lts.1",
    "mysql2": "^3.6.5",
    "node-schedule": "^2.1.1",
    "openai": "^4.24.1",
    "playwright": "^1.41.1",
    "redis": "^4.6.12",
    "typeorm": "^0.3.19",
    "uuid": "^9.0.1",
    "winston": "^3.11.0",
    "ws": "^8.16.0",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.7.5",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/jsonwebtoken": "^9.0.5",
    "@types/morgan": "^1.9.9",
    "@types/multer": "^1.4.11",
    "@types/node": "^20.10.6",
    "@types/node-schedule": "^2.1.5",
    "@types/uuid": "^9.0.7",
    "@types/ws": "^8.5.10",
    "@typescript-eslint/eslint-plugin": "^6.18.0",
    "@typescript-eslint/parser": "^6.18.0",
    "eslint": "^8.56.0",
    "rimraf": "^5.0.5",
    "tsx": "^4.7.0",
    "typescript": "^5.3.3"
  }
}
