package.json 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. {
  2. "name": "claude-code-hub",
  3. "version": "0.3.0",
  4. "private": true,
  5. "scripts": {
  6. "dev": "next dev --port 13500",
  7. "build": "next build && cp VERSION .next/standalone/VERSION",
  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:coverage": "vitest run --coverage",
  20. "test:ci": "vitest run --reporter=default --reporter=junit --outputFile.junit=reports/vitest-junit.xml",
  21. "cui": "npx cui-server --host 0.0.0.0 --port 30000 --token a7564bc8882aa9a2d25d8b4ea6ea1e2e",
  22. "db:generate": "drizzle-kit generate && node scripts/validate-migrations.js",
  23. "db:migrate": "drizzle-kit migrate",
  24. "db:push": "drizzle-kit push",
  25. "db:studio": "drizzle-kit studio",
  26. "validate:migrations": "node scripts/validate-migrations.js"
  27. },
  28. "dependencies": {
  29. "@bull-board/api": "^6",
  30. "@bull-board/express": "^6",
  31. "@hono/swagger-ui": "^0.5",
  32. "@hono/zod-openapi": "^1",
  33. "@hookform/resolvers": "^5",
  34. "@lobehub/icons": "^2",
  35. "@radix-ui/react-alert-dialog": "^1",
  36. "@radix-ui/react-avatar": "^1",
  37. "@radix-ui/react-checkbox": "^1",
  38. "@radix-ui/react-collapsible": "^1",
  39. "@radix-ui/react-dialog": "^1",
  40. "@radix-ui/react-dropdown-menu": "^2",
  41. "@radix-ui/react-label": "^2",
  42. "@radix-ui/react-popover": "^1",
  43. "@radix-ui/react-progress": "^1",
  44. "@radix-ui/react-select": "^2",
  45. "@radix-ui/react-slider": "^1",
  46. "@radix-ui/react-slot": "^1",
  47. "@radix-ui/react-switch": "^1",
  48. "@radix-ui/react-tabs": "^1",
  49. "@radix-ui/react-tooltip": "^1",
  50. "@scalar/hono-api-reference": "^0.9",
  51. "@tanstack/react-query": "^5",
  52. "@tanstack/react-virtual": "^3",
  53. "@tanstack/virtual-core": "^3",
  54. "antd": "^6",
  55. "bull": "^4",
  56. "class-variance-authority": "^0.7",
  57. "clsx": "^2",
  58. "cmdk": "^1",
  59. "date-fns": "^4",
  60. "date-fns-tz": "^3",
  61. "decimal.js-light": "^2",
  62. "dotenv": "^17",
  63. "drizzle-orm": "^0.44",
  64. "hono": "^4",
  65. "html2canvas": "^1",
  66. "ioredis": "^5",
  67. "jspdf": "^3",
  68. "lucide-react": "^0.555",
  69. "next": "^16",
  70. "next-intl": "^4",
  71. "next-themes": "^0.4",
  72. "pino": "^10",
  73. "pino-pretty": "^13",
  74. "postgres": "^3",
  75. "react": "^19",
  76. "react-day-picker": "^9",
  77. "react-dom": "^19",
  78. "react-hook-form": "^7",
  79. "react-syntax-highlighter": "^16.1.0",
  80. "recharts": "^3",
  81. "safe-regex": "^2",
  82. "server-only": "^0.0.1",
  83. "socks-proxy-agent": "^8",
  84. "sonner": "^2",
  85. "tailwind-merge": "^3",
  86. "timeago.js": "^4",
  87. "tw-animate-css": "^1",
  88. "undici": "^7",
  89. "zod": "^4"
  90. },
  91. "devDependencies": {
  92. "@biomejs/biome": "^2",
  93. "@tailwindcss/postcss": "^4",
  94. "@types/ioredis": "^5",
  95. "@types/node": "^24",
  96. "@types/pg": "^8",
  97. "@types/react": "^19",
  98. "@types/react-dom": "^19",
  99. "@types/react-syntax-highlighter": "^15.5.13",
  100. "@typescript/native-preview": "7.0.0-dev.20251219.1",
  101. "@vitest/coverage-v8": "^4.0.16",
  102. "@vitest/ui": "^4.0.16",
  103. "bun-types": "^1",
  104. "drizzle-kit": "^0.31",
  105. "happy-dom": "^20.0.11",
  106. "tailwindcss": "^4",
  107. "typescript": "^5",
  108. "vitest": "^4.0.16"
  109. }
  110. }