# lockfile-risk-watchlist.txt —— transitive dep 高风险包名单 # # 当 PR 改动 package-lock.json 导致命中本列表的包发生主版本变化时, # lockfile-diff.py 会在 PR comment 中用 ⚠️ 标注,提示人工 review 兼容性。 # # 格式:一行一个包名,支持 glob: # - 精确:uuid # - scope 通配:@scure/* # # 维护原则: # - 新增不要随便加,每条必须能说出具体风险(ESM 化 / breaking 重大 / CVE 历史) # - 删除前考虑是否仍有 #242 同类风险 # - 修改本文件的 PR 必须人工 review(不能 AI 自动 approve) # === ESM-only 化典型(来自 #242 ESM 事故根因)=== @scure/* # 2.x 起 pure ESM;CJS 项目用 @otplib 等会撞 @noble/* # 同 @scure 作者;2.x 起 ESM;@otplib transitive otplib # MFA 库,依赖 @scure / @noble,CJS 装 ESM dep 必炸 @otplib/* # 同上 uuid # 9.x → 10.x 是 ESM-only jose # JWT 库,ESM 化历史 node-fetch # 3.x 起 ESM-only chalk # 5.x ESM-only strip-ansi # 7.x ESM-only got # 12.x 起 ESM-only # === 主版本变化破坏性大(非 ESM 但慎升)=== ws # WebSocket,主版本 API 变化大 prisma # Schema/client 主版本要看 migration 兼容性 @prisma/* # 同上 @nestjs/* # NestJS 框架核心,跨版本 breaking 多 react # 主版本特性变化大(hooks / concurrent / server components) react-dom # 同 react next # Next.js 主版本变化(app router / 默认行为) typescript # 主版本影响整个项目编译