package.json 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {
  2. "name": "3x-ui-frontend",
  3. "private": true,
  4. "version": "0.3.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. "test": "vitest run",
  18. "test:watch": "vitest",
  19. "gen": "npm run gen:zod && npm run gen:api",
  20. "gen:api": "node --experimental-strip-types --disable-warning=ExperimentalWarning scripts/build-openapi.mjs",
  21. "gen:zod": "cd .. && go run ./tools/openapigen"
  22. },
  23. "dependencies": {
  24. "@ant-design/icons": "^6.2.5",
  25. "@codemirror/lang-json": "^6.0.2",
  26. "@codemirror/theme-one-dark": "^6.1.3",
  27. "@tanstack/react-query": "^5.101.0",
  28. "@tanstack/react-query-devtools": "^5.101.0",
  29. "antd": "^6.4.3",
  30. "axios": "^1.17.0",
  31. "codemirror": "^6.0.2",
  32. "dayjs": "^1.11.21",
  33. "i18next": "^26.3.1",
  34. "otpauth": "^9.5.1",
  35. "persian-calendar-suite": "^1.5.5",
  36. "qs": "^6.15.2",
  37. "react": "^19.2.7",
  38. "react-dom": "^19.2.7",
  39. "react-i18next": "^17.0.8",
  40. "react-router-dom": "^7.16.0",
  41. "recharts": "^3.8.1",
  42. "swagger-ui-react": "^5.32.6",
  43. "zod": "^4.4.3"
  44. },
  45. "devDependencies": {
  46. "@eslint/js": "^10.0.1",
  47. "@testing-library/dom": "^10.4.1",
  48. "@testing-library/react": "^16.3.2",
  49. "@types/react": "^19.2.16",
  50. "@types/react-dom": "^19.2.3",
  51. "@types/swagger-ui-react": "^5.18.0",
  52. "@vitejs/plugin-react": "^6.0.2",
  53. "eslint": "^10.4.1",
  54. "eslint-plugin-react-hooks": "^7.1.1",
  55. "globals": "^17.6.0",
  56. "jsdom": "^29.1.1",
  57. "typescript": "^6.0.3",
  58. "typescript-eslint": "^8.60.1",
  59. "vite": "8.0.16",
  60. "vitest": "^4.1.8"
  61. },
  62. "overrides": {
  63. "react-copy-to-clipboard": "^5.1.1",
  64. "react-inspector": "^9.0.0",
  65. "react-debounce-input": {
  66. "react": "^19.0.0"
  67. }
  68. },
  69. "allowScripts": {
  70. "@scarf/scarf": false,
  71. "@tree-sitter-grammars/tree-sitter-yaml": false,
  72. "tree-sitter": false,
  73. "core-js-pure": false,
  74. "tree-sitter-json": false
  75. }
  76. }