feat: 服务器迁移后的全量演进(依赖升级/安全审计/设计统一/截图/SEO 底座化)
在原仓库历史之上同步本服务器上的全部演进: - 迁移至新服务器并重建 PG 数据库 + ddnc 开发域名绑定 - 全部依赖升级至最新(Next 16.3.5 / React 19.3 / better-auth 1.7.5 / Drizzle 0.45 / TS 7), overrides 消除已知 CVE,安全审计 19 项发现全部修复闭环 - 设计统一:各站宽度 token(--container + site-container)、classic hero 重设计、 头部换行修复、页面过渡与 View Transitions - 截图功能:api.adx9.com 截图服务接入(ow=800 本地化 webp、cf=1、去重/限流/占位图) - SEO 底座化:canonical/hreflang/sitemap/JSON-LD/robots 全部收进 core,新站自动继承 - 加载体验:五站五形态路由骨架(data-theme 切换、shimmer 微光、延迟淡入)+ 过滤 useTransition 交叉淡入淡出(card-enter 错峰入场) - 构建:experimental.cpus 限流防 PG 连接打满;清理死组件链
This commit is contained in:
+54
-55
@@ -43,72 +43,71 @@
|
||||
"shots": "bun scripts/screenshot-pages.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.958.0",
|
||||
"@better-auth/client": "0.0.2-alpha.3",
|
||||
"@hookform/resolvers": "^3.4.2",
|
||||
"@aws-sdk/client-s3": "^3.1132.0",
|
||||
"@hookform/resolvers": "^5.9.1",
|
||||
"@mapbox/rehype-prism": "^0.9.0",
|
||||
"@mdx-js/loader": "^3.0.1",
|
||||
"@mdx-js/react": "^3.0.1",
|
||||
"@next/mdx": "^14.2.3",
|
||||
"@radix-ui/react-label": "^2.0.2",
|
||||
"@radix-ui/react-slot": "^1.0.2",
|
||||
"@react-email/components": "^0.5.3",
|
||||
"@tabler/icons-react": "^3.5.0",
|
||||
"@tailwindcss/typography": "^0.5.13",
|
||||
"@tanstack/react-store": "^0.7.5",
|
||||
"@types/mdx": "^2.0.13",
|
||||
"@vercel/analytics": "^1.5.0",
|
||||
"@vercel/speed-insights": "^1.2.0",
|
||||
"better-auth": "^1.4.10",
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"@mdx-js/loader": "^3.1.1",
|
||||
"@mdx-js/react": "^3.1.1",
|
||||
"@next/mdx": "^16.3.5",
|
||||
"@radix-ui/react-label": "^2.1.15",
|
||||
"@radix-ui/react-slot": "^1.3.3",
|
||||
"@react-email/components": "^1.0.12",
|
||||
"@tabler/icons-react": "^3.46.0",
|
||||
"@tailwindcss/typography": "^0.5.20",
|
||||
"@tanstack/react-store": "^0.11.1",
|
||||
"@types/mdx": "^2.0.14",
|
||||
"@vercel/analytics": "^2.0.1",
|
||||
"@vercel/speed-insights": "^2.0.0",
|
||||
"better-auth": "^1.7.5",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
"cobe": "^0.6.3",
|
||||
"date-fns": "^3.6.0",
|
||||
"drizzle-kit": "^0.31.4",
|
||||
"drizzle-orm": "^0.44.5",
|
||||
"fast-glob": "^3.3.2",
|
||||
"framer-motion": "^12",
|
||||
"geist": "^1.3.0",
|
||||
"lucide-react": "^0.562.0",
|
||||
"nanoid": "^5.1.6",
|
||||
"next": "16.1.1",
|
||||
"next-intl": "^4.7.0",
|
||||
"cobe": "^2.0.1",
|
||||
"date-fns": "^4.4.0",
|
||||
"drizzle-kit": "^0.31.10",
|
||||
"drizzle-orm": "^0.45.2",
|
||||
"fast-glob": "^3.3.3",
|
||||
"framer-motion": "^13.3.0",
|
||||
"geist": "^1.7.2",
|
||||
"lucide-react": "^1.46.0",
|
||||
"nanoid": "^6.0.1",
|
||||
"next": "^16.3.5",
|
||||
"next-intl": "^4.14.5",
|
||||
"next-themes": "^0.4.6",
|
||||
"next-view-transitions": "^0.3.5",
|
||||
"postgres": "^3.4.7",
|
||||
"prettier": "^3.7.4",
|
||||
"prismjs": "^1.29.0",
|
||||
"react": "^19.2.3",
|
||||
"react-dom": "^19.2.3",
|
||||
"react-email": "^4.2.11",
|
||||
"react-hook-form": "^7.51.5",
|
||||
"react-icons": "^5.2.1",
|
||||
"postgres": "^3.4.9",
|
||||
"prettier": "^3.9.6",
|
||||
"prismjs": "^1.30.0",
|
||||
"react": "^19.3.0",
|
||||
"react-dom": "^19.3.0",
|
||||
"react-email": "^6.9.5",
|
||||
"react-hook-form": "^7.88.0",
|
||||
"react-icons": "^5.7.0",
|
||||
"react-markdown": "^10.1.0",
|
||||
"react-wrap-balancer": "^1.1.1",
|
||||
"reading-time": "^1.5.0",
|
||||
"rehype-highlight": "^7.0.2",
|
||||
"remark-gfm": "^4.0.0",
|
||||
"resend": "^6.1.0",
|
||||
"sonner": "^2.0.7",
|
||||
"tailwind-merge": "^2.3.0",
|
||||
"zod": "^3.23.8"
|
||||
"remark-gfm": "^4.0.1",
|
||||
"resend": "^6.28.0",
|
||||
"sonner": "^2.0.8",
|
||||
"tailwind-merge": "^3.7.0",
|
||||
"zod": "^4.6.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bun": "^1.4.2",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19.2.7",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"dotenv": "^17.2.2",
|
||||
"eslint": "^9.39.5",
|
||||
"eslint-config-next": "16.1.1",
|
||||
"pg": "^8.16.3",
|
||||
"playwright": "^1.57.0",
|
||||
"png-to-ico": "^3.0.1",
|
||||
"postcss": "^8",
|
||||
"sharp": "^0.34.5",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"tsx": "^4.20.5",
|
||||
"typescript": "^5"
|
||||
"@types/node": "^26.5.1",
|
||||
"@types/react": "^19.3.0",
|
||||
"@types/react-dom": "^19.3.0",
|
||||
"dotenv": "^17.4.2",
|
||||
"eslint": "^10.10.0",
|
||||
"eslint-config-next": "^16.3.5",
|
||||
"pg": "^8.23.0",
|
||||
"playwright": "^1.63.0",
|
||||
"png-to-ico": "^3.0.2",
|
||||
"postcss": "^8.5.28",
|
||||
"sharp": "^0.35.4",
|
||||
"tailwindcss": "^3.4.19",
|
||||
"tsx": "^4.23.13",
|
||||
"typescript": "^7.0.2"
|
||||
},
|
||||
"packageManager": "pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912",
|
||||
"exports": {
|
||||
|
||||
Reference in New Issue
Block a user