package.json 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. {
  2. "name": "ecommerce-ai-backend",
  3. "version": "1.0.0",
  4. "description": "AI智能销售平台后端服务 - 基于微服务架构",
  5. "main": "dist/server.js",
  6. "scripts": {
  7. "dev": "nodemon --exec ts-node src/server.ts",
  8. "build": "tsc",
  9. "start": "node dist/server.js",
  10. "test": "jest --coverage --watchAll=false",
  11. "test:watch": "jest --watch",
  12. "test:unit": "jest --testPathPattern=unit",
  13. "test:integration": "jest --testPathPattern=integration",
  14. "lint": "eslint 'src/**/*.{ts,tsx}'",
  15. "lint:fix": "eslint 'src/**/*.{ts,tsx}' --fix",
  16. "format": "prettier --write 'src/**/*.{ts,tsx,json}'",
  17. "docker:build": "docker build -t ecommerce-backend .",
  18. "docker:dev": "docker-compose up -d",
  19. "docker:down": "docker-compose down",
  20. "migrate": "ts-node src/database/migrations/migrate.ts",
  21. "seed": "ts-node src/database/seeds/seed.ts",
  22. "sync:products": "ts-node src/scripts/sync-products-to-es.ts",
  23. "test:search": "ts-node src/scripts/test-search.ts",
  24. "init:parse": "ts-node src/scripts/init-parse-classes.ts",
  25. "es:start": "docker-compose -f docker-compose.search.yml up -d",
  26. "es:stop": "docker-compose -f docker-compose.search.yml down",
  27. "es:logs": "docker-compose -f docker-compose.search.yml logs -f elasticsearch"
  28. },
  29. "keywords": [
  30. "ecommerce",
  31. "ai",
  32. "microservices",
  33. "express",
  34. "parse-server",
  35. "typescript"
  36. ],
  37. "author": "Backend Development Team",
  38. "license": "MIT",
  39. "engines": {
  40. "node": ">=20.0.0",
  41. "npm": ">=8.0.0"
  42. },
  43. "dependencies": {
  44. "@elastic/elasticsearch": "^8.11.0",
  45. "@langchain/core": "^1.0.3",
  46. "@langchain/openai": "^1.0.0",
  47. "axios": "^1.6.2",
  48. "bcrypt": "^5.1.1",
  49. "bull": "^4.12.0",
  50. "compression": "^1.7.4",
  51. "cors": "^2.8.5",
  52. "dotenv": "^16.3.1",
  53. "express": "^4.18.2",
  54. "express-rate-limit": "^7.1.5",
  55. "express-validator": "^7.0.1",
  56. "helmet": "^7.1.0",
  57. "ioredis": "^5.3.2",
  58. "joi": "^17.11.0",
  59. "jsonwebtoken": "^9.0.2",
  60. "lodash": "^4.17.21",
  61. "moment": "^2.29.4",
  62. "mongodb": "^7.0.0",
  63. "morgan": "^1.10.0",
  64. "multer": "^1.4.5-lts.1",
  65. "parse": "^5.0.0",
  66. "parse-server": "^6.5.11",
  67. "redis": "^4.6.11",
  68. "sharp": "^0.33.0",
  69. "socket.io": "^4.7.4",
  70. "socket.io-client": "^4.8.1",
  71. "uuid": "^9.0.1",
  72. "winston": "^3.11.0"
  73. },
  74. "devDependencies": {
  75. "@types/bcrypt": "^5.0.2",
  76. "@types/compression": "^1.7.5",
  77. "@types/cors": "^2.8.17",
  78. "@types/express": "^4.17.21",
  79. "@types/jest": "^29.5.11",
  80. "@types/jsonwebtoken": "^9.0.5",
  81. "@types/lodash": "^4.14.202",
  82. "@types/morgan": "^1.9.9",
  83. "@types/multer": "^1.4.11",
  84. "@types/node": "^20.10.5",
  85. "@types/parse": "^3.0.9",
  86. "@types/supertest": "^6.0.2",
  87. "@types/uuid": "^9.0.7",
  88. "@typescript-eslint/eslint-plugin": "^6.15.0",
  89. "@typescript-eslint/parser": "^6.15.0",
  90. "eslint": "^8.56.0",
  91. "fast-check": "^4.4.0",
  92. "husky": "^8.0.3",
  93. "jest": "^29.7.0",
  94. "lint-staged": "^15.2.0",
  95. "nodemon": "^3.0.2",
  96. "prettier": "^3.1.1",
  97. "supertest": "^6.3.3",
  98. "ts-jest": "^29.1.1",
  99. "ts-node": "^10.9.2",
  100. "typescript": "^5.3.3"
  101. },
  102. "lint-staged": {
  103. "src/**/*.{ts,tsx}": [
  104. "eslint --fix",
  105. "prettier --write"
  106. ]
  107. }
  108. }