package.json 2.5 KB

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