package.json 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. {
  2. "name": "claude-code-hub",
  3. "version": "0.5.0",
  4. "private": true,
  5. "scripts": {
  6. "dev": "next dev --port 13500",
  7. "build": "next build && (node scripts/copy-version-to-standalone.cjs || bun scripts/copy-version-to-standalone.cjs)",
  8. "start": "next start",
  9. "lint": "biome check .",
  10. "lint:fix": "biome check --write .",
  11. "typecheck": "tsgo -p tsconfig.json --noEmit",
  12. "typecheck:tsc": "tsc -p tsconfig.json --noEmit",
  13. "format": "biome format --write .",
  14. "format:check": "biome format .",
  15. "clean:cache": "rm -rf .next tsconfig.tsbuildinfo node_modules/.cache",
  16. "test": "vitest run",
  17. "test:ui": "vitest --ui --watch",
  18. "test:e2e": "vitest run --config vitest.e2e.config.ts --reporter=verbose",
  19. "test:integration": "vitest run --config vitest.integration.config.ts --reporter=verbose",
  20. "test:coverage": "vitest run --coverage",
  21. "test:coverage:logs-sessionid-time-filter": "vitest run --config vitest.logs-sessionid-time-filter.config.ts --coverage",
  22. "test:coverage:codex-session-id-completer": "vitest run --config vitest.codex-session-id-completer.config.ts --coverage",
  23. "test:coverage:thinking-signature-rectifier": "vitest run --config vitest.thinking-signature-rectifier.config.ts --coverage",
  24. "test:coverage:quota": "vitest run --config vitest.quota.config.ts --coverage",
  25. "test:coverage:my-usage": "vitest run --config vitest.my-usage.config.ts --coverage",
  26. "test:coverage:proxy-guard-pipeline": "vitest run --config vitest.proxy-guard-pipeline.config.ts --coverage",
  27. "test:coverage:include-session-id-in-errors": "vitest run --config vitest.include-session-id-in-errors.config.ts --coverage",
  28. "test:ci": "vitest run --reporter=default --reporter=junit --outputFile.junit=reports/vitest-junit.xml",
  29. "cui": "npx cui-server --host 0.0.0.0 --port 30000 --token a7564bc8882aa9a2d25d8b4ea6ea1e2e",
  30. "db:generate": "drizzle-kit generate && node scripts/validate-migrations.js",
  31. "db:migrate": "drizzle-kit migrate",
  32. "db:push": "drizzle-kit push",
  33. "db:studio": "drizzle-kit studio",
  34. "validate:migrations": "node scripts/validate-migrations.js",
  35. "i18n:audit-placeholders": "node scripts/audit-settings-placeholders.js --scope=settings,dashboard,myUsage --format=tsv",
  36. "i18n:audit-placeholders:fail": "node scripts/audit-settings-placeholders.js --scope=settings,dashboard,myUsage --format=tsv --fail",
  37. "i18n:audit-messages-no-emoji": "node scripts/audit-messages-no-emoji.js --format=tsv",
  38. "i18n:audit-messages-no-emoji:fail": "node scripts/audit-messages-no-emoji.js --format=tsv --fail"
  39. },
  40. "dependencies": {
  41. "@bull-board/api": "^6",
  42. "@bull-board/express": "^6",
  43. "@hono/swagger-ui": "^0.5",
  44. "@hono/zod-openapi": "^1",
  45. "@hookform/resolvers": "^5",
  46. "@iarna/toml": "^2.2.5",
  47. "@langfuse/client": "^4.6.1",
  48. "@langfuse/otel": "^4.6.1",
  49. "@langfuse/tracing": "^4.6.1",
  50. "@lobehub/icons": "^2",
  51. "@opentelemetry/sdk-node": "^0.212.0",
  52. "@radix-ui/react-alert-dialog": "^1",
  53. "@radix-ui/react-avatar": "^1",
  54. "@radix-ui/react-checkbox": "^1",
  55. "@radix-ui/react-collapsible": "^1",
  56. "@radix-ui/react-dialog": "^1",
  57. "@radix-ui/react-dropdown-menu": "^2",
  58. "@radix-ui/react-label": "^2",
  59. "@radix-ui/react-popover": "^1",
  60. "@radix-ui/react-progress": "^1",
  61. "@radix-ui/react-scroll-area": "^1",
  62. "@radix-ui/react-select": "^2",
  63. "@radix-ui/react-slider": "^1",
  64. "@radix-ui/react-slot": "^1",
  65. "@radix-ui/react-switch": "^1",
  66. "@radix-ui/react-tabs": "^1",
  67. "@radix-ui/react-tooltip": "^1",
  68. "@scalar/hono-api-reference": "^0.9",
  69. "@tanstack/react-query": "^5",
  70. "@tanstack/react-virtual": "^3",
  71. "@tanstack/virtual-core": "^3",
  72. "agentation": "^1.3.2",
  73. "antd": "^6",
  74. "bull": "^4",
  75. "class-variance-authority": "^0.7",
  76. "clsx": "^2",
  77. "cmdk": "^1",
  78. "date-fns": "^4",
  79. "date-fns-tz": "^3",
  80. "decimal.js-light": "^2",
  81. "dotenv": "^17",
  82. "drizzle-orm": "^0.44",
  83. "fetch-socks": "^1.3.2",
  84. "framer-motion": "^12.28.1",
  85. "hono": "^4",
  86. "html2canvas": "^1",
  87. "ioredis": "^5",
  88. "jspdf": "^4",
  89. "lucide-react": "^0.555",
  90. "next": "^16",
  91. "next-intl": "^4",
  92. "next-themes": "^0.4",
  93. "pino": "^10",
  94. "pino-pretty": "^13",
  95. "postgres": "^3",
  96. "react": "^19",
  97. "react-day-picker": "^9",
  98. "react-dom": "^19",
  99. "react-hook-form": "^7",
  100. "react-syntax-highlighter": "^16.1.0",
  101. "recharts": "^3",
  102. "safe-regex": "^2",
  103. "server-only": "^0.0.1",
  104. "sonner": "^2",
  105. "tailwind-merge": "^3",
  106. "timeago.js": "^4",
  107. "tw-animate-css": "^1",
  108. "undici": "^7",
  109. "vaul": "^1.1.2",
  110. "zod": "^4"
  111. },
  112. "devDependencies": {
  113. "@biomejs/biome": "^2",
  114. "@tailwindcss/postcss": "^4",
  115. "@types/ioredis": "^5",
  116. "@types/node": "^24",
  117. "@types/pg": "^8",
  118. "@types/react": "^19",
  119. "@types/react-dom": "^19",
  120. "@types/react-syntax-highlighter": "^15.5.13",
  121. "@typescript/native-preview": "7.0.0-dev.20251219.1",
  122. "@vitest/coverage-v8": "^4.0.16",
  123. "@vitest/ui": "^4.0.16",
  124. "bun-types": "^1",
  125. "drizzle-kit": "^0.31",
  126. "happy-dom": "^20.0.11",
  127. "tailwindcss": "^4",
  128. "typescript": "^5",
  129. "vitest": "^4.0.16"
  130. }
  131. }