package.json 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {
  2. "name": "3x-ui-frontend",
  3. "private": true,
  4. "version": "0.1.0",
  5. "type": "module",
  6. "description": "3x-ui panel frontend (React 19 + Ant Design 6 + Vite 8).",
  7. "engines": {
  8. "node": ">=22.0.0",
  9. "npm": ">=10.0.0"
  10. },
  11. "scripts": {
  12. "dev": "vite",
  13. "build": "npm run gen:api && vite build",
  14. "preview": "vite preview",
  15. "lint": "eslint src",
  16. "typecheck": "tsc --noEmit",
  17. "gen:api": "node --experimental-strip-types --disable-warning=ExperimentalWarning scripts/build-openapi.mjs",
  18. "gen:zod": "cd .. && go run ./tools/openapigen"
  19. },
  20. "dependencies": {
  21. "@ant-design/icons": "^6.2.3",
  22. "@codemirror/lang-json": "^6.0.2",
  23. "@codemirror/theme-one-dark": "^6.1.3",
  24. "@tanstack/react-query": "^5.100.14",
  25. "@tanstack/react-query-devtools": "^5.100.14",
  26. "antd": "^6.4.3",
  27. "axios": "^1.16.1",
  28. "codemirror": "^6.0.2",
  29. "dayjs": "^1.11.20",
  30. "i18next": "^26.2.0",
  31. "otpauth": "^9.5.1",
  32. "persian-calendar-suite": "^1.5.5",
  33. "qs": "^6.15.2",
  34. "react": "^19.2.6",
  35. "react-dom": "^19.2.6",
  36. "react-i18next": "^17.0.8",
  37. "react-router-dom": "^7.15.1",
  38. "recharts": "^3.8.1",
  39. "swagger-ui-react": "^5.32.6",
  40. "zod": "^4.4.3"
  41. },
  42. "devDependencies": {
  43. "@eslint/js": "^10.0.1",
  44. "@types/react": "^19.2.15",
  45. "@types/react-dom": "^19.2.3",
  46. "@types/swagger-ui-react": "^5.18.0",
  47. "@vitejs/plugin-react": "^6.0.2",
  48. "eslint": "^10.4.0",
  49. "eslint-plugin-react-hooks": "^7.1.1",
  50. "globals": "^17.6.0",
  51. "typescript": "^6.0.3",
  52. "typescript-eslint": "^8.59.4",
  53. "vite": "8.0.13"
  54. },
  55. "overrides": {
  56. "react-copy-to-clipboard": "^5.1.1",
  57. "react-inspector": "^9.0.0",
  58. "react-debounce-input": {
  59. "react": "^19.0.0"
  60. }
  61. }
  62. }