10404dbb36
同步工作区剩余变更,主要包括: - 营销页面组件与布局持续优化(about/news/services/solutions/team 等) - 详情页四层叙事组件、布局组件、UI 组件调整 - CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展 - 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等) - ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整 - 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告 - 移除水墨装饰组件与大体积未使用字体文件
1.4 KiB
1.4 KiB
依赖漏洞修复决策记录
决策背景
用户选择 C:尝试全部修复依赖漏洞,包括将 next 升级到 16。
执行结果
-
npm audit fix --force失败:@lhci/cli被降级到0.1.0,该版本尝试通过git+ssh://git@github.com/GoogleChrome/lighthouse.git拉取依赖。- 当前环境无 GitHub SSH 访问权限,导致
npm error code 128。 eslint-config-next@16.2.11要求eslint@>=9.0.0,与当前eslint@8.57.1冲突。
-
按执行计划回退策略:
- 恢复原始
package-lock.json。 - 运行
npm install回到原始依赖状态。 - 执行
npm audit fix(非--force)修复可向后兼容的漏洞。
- 恢复原始
-
回退后验证:
npm run build:clean✅ 通过npm run type-check✅ 通过npm run lint✅ 通过
当前状态
- 运行
npm audit --audit-level moderate仍报告 12 个漏洞(3 low / 3 moderate / 6 high)。 - 未修复的核心漏洞涉及
next、postcss、@lhci/cli等,修复均需 breaking change。 - 由于封版阶段不适合引入 major version 升级与 @lhci/cli 的 git 依赖问题,决定将剩余漏洞记录为已知遗留风险,不在本次封版前强制修复。
建议后续行动
- 上线后安排专项升级:
next→ 16.x、eslint→ 9.x、@lhci/cli→ 兼容版本。 - 在
RELEASE_ACCEPTANCE_REPORT.md中明确列出未修复漏洞清单与风险等级。