chore(web): centralize shared frontend dependency versions

- add a web workspace catalog to manage dependency versions shared by default and classic frontends.
- switch shared dependencies including @lobehub/icons to catalog references and align @lobehub/icons on 5.10.0.
- replace separate frontend Bun lockfiles with a unified web/bun.lock to reduce duplicate maintenance.
This commit is contained in:
QuentinHsu
2026-06-01 19:12:39 +08:00
parent 45d54c1613
commit b596de739d
5 changed files with 1234 additions and 2769 deletions
+1194 -370
View File
File diff suppressed because it is too large Load Diff
-2379
View File
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -6,13 +6,13 @@
"dependencies": { "dependencies": {
"@douyinfe/semi-icons": "^2.63.1", "@douyinfe/semi-icons": "^2.63.1",
"@douyinfe/semi-ui": "^2.69.1", "@douyinfe/semi-ui": "^2.69.1",
"@lobehub/icons": "^2.0.0", "@lobehub/icons": "catalog:",
"@visactor/react-vchart": "~1.8.8", "@visactor/react-vchart": "~1.8.8",
"@visactor/vchart": "~1.8.8", "@visactor/vchart": "~1.8.8",
"@visactor/vchart-semi-theme": "~1.8.8", "@visactor/vchart-semi-theme": "~1.8.8",
"axios": "1.16.0", "axios": "catalog:",
"clsx": "^2.1.1", "clsx": "catalog:",
"dayjs": "^1.11.11", "dayjs": "catalog:",
"history": "^5.3.0", "history": "^5.3.0",
"i18next": "^23.16.8", "i18next": "^23.16.8",
"i18next-browser-languagedetector": "^7.2.0", "i18next-browser-languagedetector": "^7.2.0",
@@ -20,14 +20,14 @@
"lucide-react": "^0.511.0", "lucide-react": "^0.511.0",
"marked": "^4.1.1", "marked": "^4.1.1",
"mermaid": "^11.6.0", "mermaid": "^11.6.0",
"qrcode.react": "^4.2.0", "qrcode.react": "catalog:",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-dropzone": "^14.2.3", "react-dropzone": "^14.2.3",
"react-fireworks": "^1.0.4", "react-fireworks": "^1.0.4",
"react-i18next": "^13.0.0", "react-i18next": "^13.0.0",
"react-icons": "^5.5.0", "react-icons": "catalog:",
"react-markdown": "^10.1.0", "react-markdown": "catalog:",
"react-router-dom": "^6.3.0", "react-router-dom": "^6.3.0",
"react-telegram-login": "^1.1.2", "react-telegram-login": "^1.1.2",
"react-toastify": "^9.0.8", "react-toastify": "^9.0.8",
@@ -35,9 +35,9 @@
"rehype-highlight": "^7.0.2", "rehype-highlight": "^7.0.2",
"rehype-katex": "^7.0.1", "rehype-katex": "^7.0.1",
"remark-breaks": "^4.0.0", "remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1", "remark-gfm": "catalog:",
"remark-math": "^6.0.0", "remark-math": "^6.0.0",
"sse.js": "^2.6.0", "sse.js": "catalog:",
"unist-util-visit": "^5.0.0", "unist-util-visit": "^5.0.0",
"use-debounce": "^10.0.4" "use-debounce": "^10.0.4"
}, },
@@ -83,7 +83,7 @@
"eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-hooks": "^5.2.0",
"i18next-cli": "^1.10.3", "i18next-cli": "^1.10.3",
"postcss": "^8.5.3", "postcss": "^8.5.3",
"prettier": "^3.0.0", "prettier": "catalog:",
"tailwindcss": "^3", "tailwindcss": "^3",
"typescript": "4.4.2", "typescript": "4.4.2",
"vite": "^5.2.0" "vite": "^5.2.0"
+10 -10
View File
@@ -24,7 +24,7 @@
"@hookform/resolvers": "^5.4.0", "@hookform/resolvers": "^5.4.0",
"@hugeicons/core-free-icons": "^4.1.4", "@hugeicons/core-free-icons": "^4.1.4",
"@hugeicons/react": "^1.1.6", "@hugeicons/react": "^1.1.6",
"@lobehub/icons": "^5.8.0", "@lobehub/icons": "catalog:",
"@tailwindcss/postcss": "^4.3.0", "@tailwindcss/postcss": "^4.3.0",
"@tanstack/react-query": "^5.100.14", "@tanstack/react-query": "^5.100.14",
"@tanstack/react-router": "^1.170.8", "@tanstack/react-router": "^1.170.8",
@@ -34,12 +34,12 @@
"@visactor/vchart": "^2.0.22", "@visactor/vchart": "^2.0.22",
"ai": "^6.0.191", "ai": "^6.0.191",
"auto-skeleton-react": "^1.0.5", "auto-skeleton-react": "^1.0.5",
"axios": "^1.16.1", "axios": "catalog:",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "catalog:",
"cmdk": "^1.1.1", "cmdk": "^1.1.1",
"date-fns": "^4.3.0", "date-fns": "^4.3.0",
"dayjs": "^1.11.20", "dayjs": "catalog:",
"i18next": "^26.2.0", "i18next": "^26.2.0",
"i18next-browser-languagedetector": "^8.2.1", "i18next-browser-languagedetector": "^8.2.1",
"input-otp": "^1.4.2", "input-otp": "^1.4.2",
@@ -47,22 +47,22 @@
"motion": "^12.40.0", "motion": "^12.40.0",
"nanoid": "^5.1.11", "nanoid": "^5.1.11",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"qrcode.react": "^4.2.0", "qrcode.react": "catalog:",
"react": "^19.2.6", "react": "^19.2.6",
"react-day-picker": "^10.0.1", "react-day-picker": "^10.0.1",
"react-dom": "^19.2.6", "react-dom": "^19.2.6",
"react-hook-form": "^7.76.1", "react-hook-form": "^7.76.1",
"react-i18next": "^17.0.8", "react-i18next": "^17.0.8",
"react-icons": "^5.6.0", "react-icons": "catalog:",
"react-markdown": "^10.1.0", "react-markdown": "catalog:",
"react-resizable-panels": "^4.11.2", "react-resizable-panels": "^4.11.2",
"react-top-loading-bar": "^3.0.2", "react-top-loading-bar": "^3.0.2",
"recharts": "3.8.1", "recharts": "3.8.1",
"rehype-raw": "^7.0.0", "rehype-raw": "^7.0.0",
"remark-gfm": "^4.0.1", "remark-gfm": "catalog:",
"shiki": "^4.1.0", "shiki": "^4.1.0",
"sonner": "^2.0.7", "sonner": "^2.0.7",
"sse.js": "^2.8.0", "sse.js": "catalog:",
"streamdown": "^2.5.0", "streamdown": "^2.5.0",
"tailwind-merge": "^3.6.0", "tailwind-merge": "^3.6.0",
"tailwindcss": "^4.3.0", "tailwindcss": "^4.3.0",
@@ -92,7 +92,7 @@
"eslint-plugin-react-refresh": "^0.5.2", "eslint-plugin-react-refresh": "^0.5.2",
"globals": "^17.6.0", "globals": "^17.6.0",
"knip": "^6.14.2", "knip": "^6.14.2",
"prettier": "^3.8.3", "prettier": "catalog:",
"prettier-plugin-tailwindcss": "^0.8.0", "prettier-plugin-tailwindcss": "^0.8.0",
"shadcn": "^4.8.0", "shadcn": "^4.8.0",
"typescript": "~6.0.3", "typescript": "~6.0.3",
+20
View File
@@ -0,0 +1,20 @@
{
"name": "new-api-web-workspace",
"private": true,
"workspaces": [
"default",
"classic"
],
"catalog": {
"@lobehub/icons": "^5.10.0",
"axios": "^1.16.1",
"clsx": "^2.1.1",
"dayjs": "^1.11.20",
"prettier": "^3.8.3",
"qrcode.react": "^4.2.0",
"react-icons": "^5.6.0",
"react-markdown": "^10.1.0",
"remark-gfm": "^4.0.1",
"sse.js": "^2.8.0"
}
}