{ "name": "crawlful-hub-backend", "version": "1.0.0", "description": "Crawlful Hub 后端服务", "main": "dist/index.js", "scripts": { "start": "node dist/index.js", "start:simple": "ts-node src/simple-server.ts", "build": "tsc", "dev": "ts-node-dev src/index.ts", "dev:simple": "ts-node-dev src/simple-server.ts", "test": "jest", "lint": "eslint src --ext .ts" }, "dependencies": { "@types/node-cache": "^4.1.3", "bcrypt": "^5.1.1", "bullmq": "^4.12.3", "compression": "^1.7.4", "cors": "^2.8.5", "express": "^4.18.2", "express-rate-limit": "^7.1.5", "helmet": "^7.1.0", "jsonwebtoken": "^9.0.2", "knex": "^3.1.0", "morgan": "^1.10.0", "mysql2": "^3.6.5", "node-cache": "^5.1.2", "redis": "^4.6.12", "sharp": "^0.34.5", "typescript": "^5.3.3", "xstate": "^5.30.0", "zod": "^4.3.6" }, "devDependencies": { "@types/bcrypt": "^5.0.2", "@types/compression": "^1.7.5", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/jest": "^29.5.11", "@types/jsonwebtoken": "^9.0.5", "@types/morgan": "^1.9.9", "@types/supertest": "^6.0.2", "@typescript-eslint/eslint-plugin": "^6.19.0", "@typescript-eslint/parser": "^6.19.0", "eslint": "^8.56.0", "jest": "^29.7.0", "supertest": "^6.3.3", "ts-node-dev": "^2.0.0" } }