chore: sync marketing pages, CMS extensions, tests and project docs

同步工作区剩余变更,主要包括:
- 营销页面组件与布局持续优化(about/news/services/solutions/team 等)
- 详情页四层叙事组件、布局组件、UI 组件调整
- CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展
- 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等)
- ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整
- 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告
- 移除水墨装饰组件与大体积未使用字体文件
This commit is contained in:
张翔
2026-07-25 08:04:01 +08:00
parent e35090b914
commit 10404dbb36
208 changed files with 18107 additions and 8330 deletions
+19 -15
View File
@@ -9,7 +9,7 @@
"build:clean": "rm -rf .next dist && next build",
"start": "next start -p 3000",
"db:seed": "npx tsx prisma/seed.ts",
"db:reset": "npx prisma migrate reset --force",
"db:reset": "npx prisma migrate reset --force && npm run db:seed",
"lint": "eslint",
"type-check": "tsc --noEmit",
"preview": "next start -p 3000",
@@ -30,22 +30,16 @@
"test:stress": "k6 run tests/performance/stress-test.js",
"check:contrast": "tsx scripts/utils/check-color-contrast.ts",
"check:headings": "tsx scripts/utils/check-heading-hierarchy.ts",
"audit:performance": "node scripts/performance-audit.js",
"audit:seo": "node scripts/seo-check.js",
"audit:accessibility": "node scripts/accessibility-test.js",
"audit:forms": "node scripts/form-validation.js",
"audit:all": "./scripts/run-all-tests.sh",
"report:generate": "node scripts/generate-test-report.js",
"lighthouse": "lhci autorun",
"lighthouse:collect": "lhci collect",
"lighthouse:assert": "lhci assert",
"lighthouse:upload": "lhci upload",
"lighthouse:desktop": "lhci autorun --settings.preset=desktop",
"lighthouse:mobile": "lhci autorun --settings.preset=mobile",
"clean:tests": "bash scripts/maintenance/clean-test-files.sh",
"prepare": "husky"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.1089.0",
"@hookform/resolvers": "^5.4.0",
"@playwright/test": "^1.58.2",
"@prisma/client": "^6.19.3",
@@ -83,11 +77,12 @@
"framer-motion": "^12.34.3",
"jsonwebtoken": "^9.0.3",
"lucide-react": "^0.563.0",
"next": "^14.2.21",
"next": "^16.2.11",
"prisma": "^6.19.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.80.0",
"sharp": "^0.35.3",
"sonner": "^2.0.7",
"tailwind-merge": "^3.4.0",
"zod": "^4.3.6"
@@ -112,12 +107,12 @@
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@typescript-eslint/parser": "^8.57.0",
"@typescript-eslint/eslint-plugin": "^8.65.0",
"@typescript-eslint/parser": "^8.65.0",
"autoprefixer": "^10.4.20",
"chrome-launcher": "^1.2.1",
"eslint": "^8.57.1",
"eslint-config-next": "^14.2.21",
"eslint": "^9.25.1",
"eslint-config-next": "^16.2.11",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"husky": "^9.1.7",
@@ -126,14 +121,23 @@
"k6": "^0.0.0",
"lighthouse": "^13.0.3",
"lint-staged": "^16.4.0",
"postcss": "^8.4.49",
"postcss": "^8.5.21",
"tailwindcss": "^3.4.17",
"tailwindcss-animate": "^1.0.7",
"ts-jest": "^29.4.6",
"tsx": "^4.21.0",
"tsx": "^4.23.1",
"typescript": "^5"
},
"optionalDependencies": {
"@next/swc-darwin-arm64": "^16.2.9"
},
"overrides": {
"postcss": "^8.5.21",
"tmp": "^0.2.7",
"uuid": "^14.0.1",
"ws": "^8.21.1",
"esbuild": "^0.28.1",
"glob": "^13.0.6",
"sharp": "^0.35.3"
}
}