Skip to content

两个包 README 的版本宣称与自己的 package.json 不符:plugin-chatbot 的 @ai-sdk/react v3(实为 ^4.0.47)、layout 的 react peer 比清单更宽 #3710

Description

@yinlianghui

Blocked-by: #3711

#3697 的门禁落地过程中,对 38 个 packages/*/README.md 做「README 版本宣称 vs 本包 package.json」逐条核对时量到的。

这一类的特点是有可核实的锚(同包的 package.json),因此和 #3708(散文里没有锚的陈旧宣称)不同:它们可以被机械钉住。全 11 处 peer 重述里 9 处与清单逐字一致,下面这 2 处不一致。

事实

1. packages/plugin-chatbot/README.md:58 — 差一个大版本

using `@ai-sdk/react` v3 (Vercel UI Message Stream protocol) for streaming,

packages/plugin-chatbot/package.json"@ai-sdk/react": "^4.0.47"

全语料里唯一一处第三方包的版本宣称,也是唯一一处指名协议来源的宣称 —— 读者会据此去查 v3 的文档。

2. packages/layout/README.md:20 — 宣称比清单更宽

**Peer Dependencies:**
- `react` >= 18.0.0
- `react-dom` >= 18.0.0

packages/layout/package.json"react": "^18.0.0 || ^19.0.0"

>= 18.0.0 承诺 React 20 也行,清单的 ^18 || ^19 会拒绝。方向是过度承诺:读者按 README 装 React 20 会拿到 peer 冲突。其余 9 个包的 README 都写 ^18.0.0 || ^19.0.0,与各自清单逐字一致;react-runtimereact >= 18 而它的清单恰好就是 ">=18",是对的。

复核:

$ node -e "for (const p of ['layout','react-runtime','plugin-report','auth','components'])
    console.log(p, require('./packages/'+p+'/package.json').peerDependencies.react)"
layout        ^18.0.0 || ^19.0.0
react-runtime >=18
plugin-report ^18.0.0
auth          ^18.0.0 || ^19.0.0
components    ^18.0.0 || ^19.0.0

#3690 的边界

packages/plugin-report/README.md:24 也与清单不符(README 写 ^18.0.0 || ^19.0.0,清单只有 ^18.0.0),但那处的正确修法是改清单,已由 #3690 覆盖 —— 修好 #3690,README 自动变正确。故不在本单重复,已在 #3690 下追评说明。本单的两处反过来:清单是对的,README 是错的。

处置倾向(不替分诊拍板)

两条路,取舍留给分诊:

倾向 B:这 11 行是读者真正会用的信息,且 9/11 今天就是对的,钉住的成本低于删掉的信息损失;#3697 的门禁已经把这 11 处枚举好了,B 只是把「记录」升级成「断言」。但这属于契约取舍,不自行拍板。

门禁现状

#3697 的 PR 已把这 2 处以 kind: 'stale'、其余 9 处以 kind: 'restatement' 记进 scripts/__tests__/doc-version-claims.test.ts本单修好后须同步更新对应条目,否则 ratchet 测试变红。

已搜重

peerDependencies README react plugin-report(命中 #3690,边界已在上面写明)、版本 文档 失真 drift docs version(仅命中 #3697)两组关键字搜过开放 issue。


Generated by Claude Code


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions