10404dbb36
同步工作区剩余变更,主要包括: - 营销页面组件与布局持续优化(about/news/services/solutions/team 等) - 详情页四层叙事组件、布局组件、UI 组件调整 - CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展 - 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等) - ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整 - 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告 - 移除水墨装饰组件与大体积未使用字体文件
34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# 依赖漏洞修复决策记录
|
||
|
||
## 决策背景
|
||
|
||
用户选择 **C**:尝试全部修复依赖漏洞,包括将 `next` 升级到 16。
|
||
|
||
## 执行结果
|
||
|
||
1. `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` 冲突。
|
||
|
||
2. 按执行计划回退策略:
|
||
- 恢复原始 `package-lock.json`。
|
||
- 运行 `npm install` 回到原始依赖状态。
|
||
- 执行 `npm audit fix`(非 `--force`)修复可向后兼容的漏洞。
|
||
|
||
3. 回退后验证:
|
||
- `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` 中明确列出未修复漏洞清单与风险等级。
|