package.json 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. {
  2. "name": "hermes-yaoyao",
  3. "version": "0.2.1",
  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 && npm run release: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. "release:verify": "node scripts/verify-release.mjs",
  25. "verify:lifecycle": "node scripts/verify-lifecycle.mjs"
  26. },
  27. "dependencies": {
  28. "@koa/bodyparser": "^5.0.0",
  29. "@koa/router": "^15.4.0",
  30. "@vicons/ionicons5": "^0.13.0",
  31. "@vicons/tabler": "^0.13.0",
  32. "busboy": "^1.6.0",
  33. "cookie": "^1.0.2",
  34. "docx-preview": "^0.3.7",
  35. "dompurify": "^3.2.6",
  36. "highlight.js": "^11.11.1",
  37. "idb": "^8.0.3",
  38. "koa": "^2.15.3",
  39. "koa-send": "^5.0.1",
  40. "koa-static": "^5.0.0",
  41. "markdown-it": "^14.1.0",
  42. "mime-types": "^3.0.1",
  43. "naive-ui": "^2.44.1",
  44. "pdfjs-dist": "^5.7.284",
  45. "pinia": "^3.0.4",
  46. "qrcode": "^1.5.4",
  47. "read-excel-file": "^7.0.3",
  48. "vue": "^3.5.32",
  49. "vue-router": "^4.6.4",
  50. "ws": "^8.20.0",
  51. "zod": "^4.1.12"
  52. },
  53. "devDependencies": {
  54. "@playwright/test": "^1.60.0",
  55. "@types/busboy": "^1.5.4",
  56. "@types/jsdom": "^21.1.7",
  57. "@types/koa": "^2.15.0",
  58. "@types/koa-send": "^4.1.6",
  59. "@types/koa-static": "^4.0.4",
  60. "@types/markdown-it": "^14.1.2",
  61. "@types/mime-types": "^2.1.4",
  62. "@types/node": "^24.10.0",
  63. "@types/qrcode": "^1.5.6",
  64. "@types/supertest": "^6.0.3",
  65. "@types/ws": "^8.18.1",
  66. "@vitejs/plugin-vue": "^6.0.5",
  67. "@vitest/coverage-v8": "^3.2.4",
  68. "@vue/test-utils": "^2.4.6",
  69. "@vue/tsconfig": "^0.9.1",
  70. "cross-env": "^10.1.0",
  71. "jsdom": "^27.0.1",
  72. "sass": "^1.99.0",
  73. "supertest": "^7.1.4",
  74. "tsx": "^4.21.0",
  75. "typescript": "~6.0.2",
  76. "vite": "^8.0.4",
  77. "vitest": "^3.2.4",
  78. "vue-tsc": "^3.2.8"
  79. }
  80. }