package.json 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {
  2. "name": "hermes-yaoyao",
  3. "version": "0.1.0",
  4. "private": true,
  5. "license": "BSL-1.1",
  6. "description": "夭夭 Web:直连 Hermes 9119 的聊天、群聊、文件库与产物工作台",
  7. "type": "module",
  8. "engines": {
  9. "node": ">=24.0.0"
  10. },
  11. "bin": {
  12. "hermes-yaoyao": "./bin/hermes-yaoyao.mjs"
  13. },
  14. "scripts": {
  15. "dev": "cross-env NODE_ENV=development tsx watch src/server/index.ts",
  16. "build": "npm run brand:verify && vue-tsc -b && vite build && tsc -p tsconfig.server.json",
  17. "start": "cross-env NODE_ENV=production node dist-server/server/index.js",
  18. "typecheck": "vue-tsc -b && tsc --noEmit -p tsconfig.server.json",
  19. "test": "vitest run",
  20. "test:watch": "vitest",
  21. "test:e2e": "npm run build && playwright test",
  22. "test:live": "cross-env HERMES_YAOYAO_LIVE_TEST=1 vitest run tests/live",
  23. "brand:verify": "node scripts/verify-brand.mjs",
  24. "verify:lifecycle": "node scripts/verify-lifecycle.mjs"
  25. },
  26. "dependencies": {
  27. "@koa/bodyparser": "^5.0.0",
  28. "@koa/router": "^15.4.0",
  29. "@vicons/tabler": "^0.13.0",
  30. "busboy": "^1.6.0",
  31. "cookie": "^1.0.2",
  32. "docx-preview": "^0.3.7",
  33. "dompurify": "^3.2.6",
  34. "highlight.js": "^11.11.1",
  35. "idb": "^8.0.3",
  36. "koa": "^2.15.3",
  37. "koa-send": "^5.0.1",
  38. "koa-static": "^5.0.0",
  39. "markdown-it": "^14.1.0",
  40. "mime-types": "^3.0.1",
  41. "naive-ui": "^2.44.1",
  42. "pdfjs-dist": "^5.7.284",
  43. "pinia": "^3.0.4",
  44. "read-excel-file": "^7.0.3",
  45. "vue": "^3.5.32",
  46. "vue-router": "^4.6.4",
  47. "ws": "^8.20.0",
  48. "zod": "^4.1.12"
  49. },
  50. "devDependencies": {
  51. "@playwright/test": "^1.60.0",
  52. "@types/busboy": "^1.5.4",
  53. "@types/jsdom": "^21.1.7",
  54. "@types/koa": "^2.15.0",
  55. "@types/koa-send": "^4.1.6",
  56. "@types/koa-static": "^4.0.4",
  57. "@types/markdown-it": "^14.1.2",
  58. "@types/mime-types": "^2.1.4",
  59. "@types/node": "^24.10.0",
  60. "@types/supertest": "^6.0.3",
  61. "@types/ws": "^8.18.1",
  62. "@vitejs/plugin-vue": "^6.0.5",
  63. "@vitest/coverage-v8": "^3.2.4",
  64. "@vue/test-utils": "^2.4.6",
  65. "@vue/tsconfig": "^0.9.1",
  66. "cross-env": "^10.1.0",
  67. "jsdom": "^27.0.1",
  68. "sass": "^1.99.0",
  69. "supertest": "^7.1.4",
  70. "tsx": "^4.21.0",
  71. "typescript": "~6.0.2",
  72. "vite": "^8.0.4",
  73. "vitest": "^3.2.4",
  74. "vue-tsc": "^3.2.8"
  75. }
  76. }