chore(web): update frontend dependencies and Node runtime (#5729)

This commit is contained in:
memoclaw 2026-03-16 20:37:16 +08:00 committed by GitHub
parent 1e688b2a5d
commit 6f5f0d94e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 451 additions and 406 deletions

View File

@ -10,7 +10,7 @@ on:
# Environment variables for build configuration
env:
GO_VERSION: "1.25.7"
NODE_VERSION: "22"
NODE_VERSION: "24"
PNPM_VERSION: "10"
ARTIFACT_RETENTION_DAYS: 60
# Artifact naming: {ARTIFACT_PREFIX}_{version}_{os}_{arch}.tar.gz|zip
@ -228,4 +228,3 @@ jobs:
uses: softprops/action-gh-release@v2
with:
files: artifacts/*

View File

@ -19,7 +19,7 @@ jobs:
version: 10
- uses: actions/setup-node@v6
with:
node-version: "22"
node-version: "24"
cache: pnpm
cache-dependency-path: "web/pnpm-lock.yaml"
- name: Get pnpm store directory

View File

@ -32,7 +32,7 @@ jobs:
version: 10
- uses: actions/setup-node@v6
with:
node-version: "22"
node-version: "24"
cache: pnpm
cache-dependency-path: "web/pnpm-lock.yaml"
- name: Get pnpm store directory

View File

@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
env:
NODE_VERSION: "22"
NODE_VERSION: "24"
PNPM_VERSION: "10"
jobs:

View File

@ -97,6 +97,6 @@ web/src/
## CI/CD
- **backend-tests.yml:** Go 1.25.7, golangci-lint v2.4.0, tests parallelized by group (store, server, plugin, other)
- **frontend-tests.yml:** Node 22, pnpm 10, lint + build
- **frontend-tests.yml:** Node 24, pnpm 10, lint + build
- **proto-linter.yml:** buf lint + format check
- **Docker:** Multi-stage (`scripts/Dockerfile`), Alpine 3.21, non-root user, port 5230, multi-arch (amd64/arm64/arm/v7)

View File

@ -1,6 +1,9 @@
{
"name": "memos",
"private": true,
"engines": {
"node": ">=24"
},
"scripts": {
"dev": "vite",
"build": "vite build",
@ -26,35 +29,35 @@
"@radix-ui/react-slot": "^1.2.4",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tooltip": "^1.2.8",
"@tailwindcss/vite": "^4.1.17",
"@tanstack/react-query": "^5.90.12",
"@tanstack/react-query-devtools": "^5.91.1",
"@tailwindcss/vite": "^4.2.1",
"@tanstack/react-query": "^5.90.21",
"@tanstack/react-query-devtools": "^5.91.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"copy-to-clipboard": "^3.3.3",
"dayjs": "^1.11.19",
"dayjs": "^1.11.20",
"fuse.js": "^7.1.0",
"highlight.js": "^11.11.1",
"i18next": "^25.6.3",
"katex": "^0.16.27",
"i18next": "^25.8.18",
"katex": "^0.16.38",
"leaflet": "^1.9.4",
"leaflet.markercluster": "^1.5.3",
"lodash-es": "^4.17.21",
"lucide-react": "^0.544.0",
"mdast-util-from-markdown": "^2.0.2",
"lodash-es": "^4.17.23",
"lucide-react": "^0.577.0",
"mdast-util-from-markdown": "^2.0.3",
"mdast-util-gfm": "^3.1.0",
"mermaid": "^11.12.1",
"mermaid": "^11.13.0",
"micromark-extension-gfm": "^3.0.0",
"mime": "^4.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-force-graph-2d": "^1.29.0",
"react-force-graph-2d": "^1.29.1",
"react-hot-toast": "^2.6.0",
"react-i18next": "^15.7.4",
"react-leaflet": "^4.2.1",
"react-leaflet-cluster": "^2.1.0",
"react-markdown": "^10.1.0",
"react-router-dom": "^7.9.6",
"react-router-dom": "^7.13.1",
"react-use": "^17.6.0",
"rehype-katex": "^7.0.1",
"rehype-raw": "^7.0.0",
@ -62,23 +65,24 @@
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"tailwind-merge": "^3.4.0",
"tailwindcss": "^4.1.17",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.1",
"textarea-caret": "^3.1.0",
"unist-util-visit": "^5.0.0",
"unist-util-visit": "^5.1.0",
"uuid": "^11.1.0"
},
"devDependencies": {
"@biomejs/biome": "^2.3.7",
"@bufbuild/protobuf": "^2.10.1",
"@biomejs/biome": "^2.4.7",
"baseline-browser-mapping": "^2.10.8",
"@bufbuild/protobuf": "^2.11.0",
"@types/d3": "^7.4.3",
"@types/hast": "^3.0.4",
"@types/katex": "^0.16.7",
"@types/katex": "^0.16.8",
"@types/leaflet": "^1.9.21",
"@types/lodash-es": "^4.17.12",
"@types/mdast": "^4.0.4",
"@types/node": "^24.10.1",
"@types/qs": "^6.14.0",
"@types/qs": "^6.15.0",
"@types/react": "^18.3.27",
"@types/react-dom": "^18.3.7",
"@types/textarea-caret": "^3.0.4",
@ -86,7 +90,7 @@
"@types/uuid": "^10.0.0",
"@vitejs/plugin-react": "^4.7.0",
"long": "^5.3.2",
"terser": "^5.44.1",
"terser": "^5.46.1",
"tw-animate-css": "^1.4.0",
"typescript": "^5.9.3",
"vite": "^7.2.4"

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
import MemoExplorer from "./MemoExplorer";
import MemoExplorerDrawer from "./MemoExplorerDrawer";
export { MemoExplorer, MemoExplorerDrawer };
export type { MemoExplorerContext, MemoExplorerFeatures } from "./MemoExplorer";
export { MemoExplorer, MemoExplorerDrawer };

View File

@ -255,19 +255,19 @@ function useDropdownMenuSubHoverDelay(closeDelay = 150, onOpenChange?: (open: bo
export {
DropdownMenu,
DropdownMenuPortal,
DropdownMenuTrigger,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuLabel,
DropdownMenuItem,
DropdownMenuCheckboxItem,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuSub,
DropdownMenuSubTrigger,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
useDropdownMenuSubHoverDelay,
};

View File

@ -49,4 +49,4 @@ const PopoverAnchor = React.forwardRef<
});
PopoverAnchor.displayName = "PopoverAnchor";
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };

View File

@ -125,4 +125,4 @@ const SheetDescription = React.forwardRef<
});
SheetDescription.displayName = "SheetDescription";
export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription };
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };

View File

@ -56,4 +56,4 @@ const TooltipContent = React.forwardRef<
});
TooltipContent.displayName = "TooltipContent";
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };