mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-07-24 21:46:07 +00:00
16b9b3ce1c
Routine minor/patch updates: Next.js 16.2.11 + eslint-config-next, fumadocs, React 19.2.8, Storybook 10.5.3, and assorted tooling. Docs stays on ESLint 9 (^9.39.5): eslint-config-next pulls in eslint-plugin-react 7.37.5, whose newest release still calls the context.getFilename API that ESLint 10 removed, so eslint crashes on every file under ESLint 10. The frontend workspace already ran ESLint 10 without eslint-plugin-react and is unaffected.
110 lines
3.0 KiB
JSON
110 lines
3.0 KiB
JSON
{
|
|
"name": "3x-ui-frontend",
|
|
"private": true,
|
|
"version": "0.4.3",
|
|
"type": "module",
|
|
"description": "3x-ui panel frontend (React 19 + Ant Design 6 + Vite 8).",
|
|
"engines": {
|
|
"node": ">=24.0.0",
|
|
"npm": ">=10.0.0"
|
|
},
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "npm run gen:api && vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint src",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"storybook": "storybook dev -p 6006",
|
|
"build-storybook": "storybook build",
|
|
"gen": "npm run gen:zod && npm run gen:api",
|
|
"gen:api": "node scripts/build-openapi.mjs",
|
|
"gen:zod": "cd .. && go run ./tools/openapigen",
|
|
"prepare": "cd .. && husky frontend/.husky || true"
|
|
},
|
|
"lint-staged": {
|
|
"src/**/*.{ts,tsx}": "eslint --fix"
|
|
},
|
|
"dependencies": {
|
|
"@ant-design/icons": "^6.3.2",
|
|
"@codemirror/lang-json": "^6.0.2",
|
|
"@codemirror/theme-one-dark": "^6.1.3",
|
|
"@hookform/resolvers": "^5.4.0",
|
|
"@noble/hashes": "^2.2.0",
|
|
"@tanstack/react-query": "^5.101.4",
|
|
"@tanstack/react-query-devtools": "^5.101.4",
|
|
"antd": "^6.5.1",
|
|
"codemirror": "^6.0.2",
|
|
"dayjs": "^1.11.21",
|
|
"i18next": "^26.3.6",
|
|
"otpauth": "^9.5.1",
|
|
"persian-calendar-suite": "^1.5.5",
|
|
"react": "^19.2.8",
|
|
"react-dom": "^19.2.8",
|
|
"react-hook-form": "^7.82.0",
|
|
"react-i18next": "^17.0.10",
|
|
"react-router-dom": "^7.18.1",
|
|
"swagger-ui-react": "^5.32.11",
|
|
"uplot": "^1.6.32",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@storybook/addon-a11y": "^10.5.3",
|
|
"@storybook/addon-docs": "^10.5.3",
|
|
"@storybook/addon-vitest": "^10.5.3",
|
|
"@storybook/react-vite": "^10.5.3",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/swagger-ui-react": "^5.18.0",
|
|
"@vitejs/plugin-react": "^6.0.4",
|
|
"@vitest/coverage-v8": "^4.1.10",
|
|
"eslint": "^10.7.0",
|
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
"globals": "^17.7.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^29.1.1",
|
|
"lint-staged": "^17.1.1",
|
|
"msw": "^2.15.0",
|
|
"storybook": "^10.5.3",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.65.0",
|
|
"vite": "8.1.5",
|
|
"vitest": "^4.1.10",
|
|
"@vitest/browser-playwright": "4.1.10",
|
|
"playwright": "^1.61.1"
|
|
},
|
|
"overrides": {
|
|
"eslint-plugin-jsx-a11y": {
|
|
"eslint": "$eslint"
|
|
},
|
|
"dompurify": "^3.4.11",
|
|
"react-copy-to-clipboard": "^5.1.1",
|
|
"react-inspector": "^9.0.0",
|
|
"react-debounce-input": {
|
|
"react": "^19.0.0"
|
|
},
|
|
"swagger-ui-react": {
|
|
"js-yaml": "^4.2.0"
|
|
}
|
|
},
|
|
"allowScripts": {
|
|
"@scarf/scarf": false,
|
|
"@tree-sitter-grammars/tree-sitter-yaml": false,
|
|
"tree-sitter": false,
|
|
"core-js-pure": false,
|
|
"tree-sitter-json": false,
|
|
"msw": false,
|
|
"esbuild": false
|
|
},
|
|
"msw": {
|
|
"workerDirectory": [
|
|
"public"
|
|
]
|
|
}
|
|
}
|