package.json 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. {
  2. "name": "llm-wiki",
  3. "private": true,
  4. "version": "2.2.25",
  5. "type": "module",
  6. "scripts": {
  7. "dev": "vite",
  8. "typecheck": "tsc --build --pretty",
  9. "build": "npm run typecheck && vite build",
  10. "preview": "vite preview",
  11. "test": "npm run test:mocks && npm run test:llm",
  12. "test:mocks": "node scripts/lint-character-aura.mjs && vitest run --exclude='**/*.real-llm.test.ts' --exclude='**/.worktrees/**' --exclude='**/.codex-temp/**' --exclude='**/superpowers-main/**' --exclude='**/SKILL/**' --exclude='**/superpowers/**' --exclude='**/nul'",
  13. "lint:character-aura": "node scripts/lint-character-aura.mjs",
  14. "test:llm": "vitest run real-llm --no-file-parallelism --reporter=verbose",
  15. "tauri": "tauri",
  16. "build:portable": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"$env:CARGO_PROFILE_RELEASE_LTO='false'; $env:CARGO_PROFILE_RELEASE_CODEGEN_UNITS='16'; $env:CARGO_PROFILE_RELEASE_OPT_LEVEL='1'; npx tauri build --no-bundle; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; node scripts/build-portable.mjs\"",
  17. "build:github-release": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"if (-not $env:TAURI_SIGNING_PRIVATE_KEY_PATH) { $env:TAURI_SIGNING_PRIVATE_KEY_PATH = Join-Path $env:USERPROFILE '.tauri\\qmai-updater.key' }; if (-not (Test-Path $env:TAURI_SIGNING_PRIVATE_KEY_PATH)) { throw '缺少 TAURI_SIGNING_PRIVATE_KEY_PATH 对应的签名私钥文件' }; if ($null -eq $env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD) { $env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD = '' }; $env:CARGO_PROFILE_RELEASE_LTO='false'; $env:CARGO_PROFILE_RELEASE_CODEGEN_UNITS='16'; $env:CARGO_PROFILE_RELEASE_OPT_LEVEL='1'; npx tauri build; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; node scripts/build-portable.mjs; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; node scripts/prepare-github-release.mjs\""
  18. },
  19. "dependencies": {
  20. "@base-ui/react": "^1.3.0",
  21. "@dnd-kit/core": "^6.3.1",
  22. "@dnd-kit/sortable": "^8.0.0",
  23. "@dnd-kit/utilities": "^3.2.2",
  24. "@fontsource-variable/geist": "^5.2.8",
  25. "@milkdown/kit": "^7.20.0",
  26. "@milkdown/plugin-math": "^7.5.9",
  27. "@milkdown/react": "^7.20.0",
  28. "@milkdown/theme-nord": "^7.20.0",
  29. "@react-sigma/core": "^5.0.6",
  30. "@sigma/edge-curve": "^3.1.0",
  31. "@tailwindcss/vite": "^4.3.1",
  32. "@tauri-apps/api": "^2.11.0",
  33. "@tauri-apps/plugin-dialog": "^2.7.1",
  34. "@tauri-apps/plugin-http": "^2.5.9",
  35. "@tauri-apps/plugin-opener": "^2.5.4",
  36. "@tauri-apps/plugin-store": "^2.4.3",
  37. "@tauri-apps/plugin-updater": "^2.9.1",
  38. "@types/js-yaml": "^4.0.9",
  39. "class-variance-authority": "^0.7.1",
  40. "clsx": "^2.1.1",
  41. "graphology": "^0.26.0",
  42. "graphology-communities-louvain": "^2.0.2",
  43. "graphology-layout-forceatlas2": "^0.10.1",
  44. "i18next": "^26.0.3",
  45. "js-yaml": "^4.1.1",
  46. "katex": "^0.16.45",
  47. "lucide-react": "^1.7.0",
  48. "mermaid": "^11.14.0",
  49. "opencc-js": "^1.3.1",
  50. "pinyin-pro": "^3.28.1",
  51. "react": "^19.0.0",
  52. "react-dom": "^19.0.0",
  53. "react-i18next": "^17.0.2",
  54. "react-markdown": "^10.1.0",
  55. "react-resizable-panels": "^4.9.0",
  56. "rehype-katex": "^7.0.1",
  57. "remark-gfm": "^4.0.1",
  58. "remark-math": "^6.0.0",
  59. "shadcn": "^4.1.2",
  60. "sigma": "^3.0.2",
  61. "tailwind-merge": "^3.5.0",
  62. "tailwindcss": "^4.3.1",
  63. "tw-animate-css": "^1.4.0",
  64. "zustand": "^5.0.12"
  65. },
  66. "devDependencies": {
  67. "@tauri-apps/cli": "^2.11.1",
  68. "@types/node": "^25.5.2",
  69. "@types/react": "^19.0.0",
  70. "@types/react-dom": "^19.0.0",
  71. "@vitejs/plugin-react": "^6.0.1",
  72. "fast-check": "^4.7.0",
  73. "jsdom": "^29.1.1",
  74. "typescript": "^5.7.3",
  75. "vite": "^8.0.0",
  76. "vitest": "^4.1.4"
  77. }
  78. }