docs(plugin-tree): add the ## License section the other 36 published READMEs carry (#3664) - #3695
Merged
Conversation
…d READMEs carry (#3664) `packages/plugin-tree/README.md` was the only one of the 38 published packages that had a README but no `## License` section. Census over origin/main: - 38 published (non-private) packages - 37 have a README (`sdui-parser` has none — out of scope, see #3647) - 36 of those 37 carry `## License`; plugin-tree was the sole omission The section is copied verbatim from the dominant form, 32 of the 36: ## License MIT — see [LICENSE](./LICENSE). The four minority spellings are `MIT` (types, react-runtime) and `MIT © ObjectStack Inc.` (plugin-timeline, plugin-chatbot). The issue suggested plugin-timeline as the exemplar, but that form is 1-of-36 and carries no `./LICENSE` link at all — the majority form is both the convention and the one that gives the link gate something to check. Position matches too: final section, as in 34 of the 36 (plugin-view and types continue past it). This also closes the gap #3664 identified: `check-doc-links.mjs` scan root 7 (`packages/*/README.md`, `disk` rule) resolves relative hrefs as repository paths, so the new `./LICENSE` link is now mechanically checked against the file PR #3662 landed. Previously the README linked nothing, which is exactly why the #3622/#3649 dead-link sweep could not detect the missing LICENSE — no link, no dead link. Verified the new link is load-bearing rather than vacuously green: temporarily removing `packages/plugin-tree/LICENSE` turns the gate red with `packages/plugin-tree/README.md:50 -> ./LICENSE` (exit 1); restoring it returns `Links are valid across 7 scan roots` (exit 0). No changeset: documentation-only, matching the precedent of PR #3662 (which added this same package's LICENSE, likewise shipped in the tarball) and PR #3688 (36 package READMEs), neither of which carried one. Fixes #3664 Claude-Session: https://claude.ai/code/session_01GTRjn8xBqp75dk7kFupVRt Co-authored-by: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3664
packages/plugin-tree/README.md是 38 个已发布包里唯一「有 README 却没有## License小节」的。本 PR 补上该节,单文件 4 行新增。前提复核(origin/main)
派发时 main 已前进到
be9cd38ac,其中4747344da(#3688)刚重写过 36 个包 README,所以普查是在当前 origin/main 上重跑的,不是照抄 issue 正文的旧数:sdui-parser无 README —— 属 @object-ui/plugin-tree 的 package.json files 声明了 LICENSE,但 packages/plugin-tree/LICENSE 不存在——已发布包缺失它自己声明要带的许可证文本 #3647 划出去的打包策略问题,不在本单范围)## License的:36;plugin-tree是唯一遗漏issue 正文写的是「37 个已发布包的 README 都有」,实际应为 36(38 减去无 README 的 sdui-parser、再减去 plugin-tree 本身)。差 1 是计数口径,不影响结论。
兄弟包形态普查(36 个)
正文措辞分布:
MIT — see [LICENSE](./LICENSE).MITMIT © ObjectStack Inc.MIT © ObjectStack Inc.+ 第三方声明位置分布:末节 34/36(例外:plugin-view、types,其后还有别的小节)。
其他格式约定(逐字核对):标题前无
---分隔线(0/36)、标题前后各一空行、文件末尾恰好一个换行、破折号是真 em dash U+2014 而非连字符。取多数形态,与
packages/plugin-grid/README.md的 License 节做了逐字节相等断言(a === b为 true),位置放文末。该 README 其余内容一字未动。与 issue 建议的出入(已在 commit 里写明):issue 正文建议照抄
plugin-timeline,但该形态是 1/36 的少数派,且完全不含./LICENSE链接。多数形态既是仓库惯例,又能给链接门禁留下可校验的对象 —— 按派发口径取了多数形态。门禁前后
scripts/check-doc-links.mjs第 7 个扫描根packages/*/README.md(disk规则)把相对 href 当作仓库内路径解析,所以新增的./LICENSE会被机械校验,指向 PR #3662 落地的文件。Links are valid across 7 scan roots.exit 0Links are valid across 7 scan roots.exit 0绿→绿本身不构成证明,所以补了一次反向验证(先定方向再跑):预测「若门禁真的扫这条链接,临时删掉 LICENSE 必须转红并点名该 href;若仍绿则说明链接未被检查、修后绿是空的」。实测与预测一致:
exit 1;恢复文件后重回 exit 0,
git status确认 LICENSE 按原样还原(1065 字节,未进入 diff)。这条链接因此是承重的,修后绿是「LICENSE 文件确实存在」的机械证明。顺带印证了 issue 的那个观察:#3622/#3649 那轮死链清扫扫不到 plugin-tree 缺 LICENSE,正因为它的 README 一条链接都没有 —— 无链可死。现在这个盲区补上了。
CI 覆盖确认:
docs-links.yml的触发是pull_request: branches: [main]且无 paths 过滤,所以纯 markdown 的 PR 照样会跑到这道门禁(ci.yml/lint.yml把**/*.md列进 paths-ignore,不会启动)。另跑了scripts/check-control-bytes.mjs:OK (scanned 3682 tracked text file(s))exit 0。无 changeset(判断依据)
文档改动,且有两条直接先例:
LICENSE文件(同样随 tarball 发布,files含它),0 个 changeset;AGENTS.md 的口径也是「功能改进需写 changeset,纯修复不需要」。故不加。
文件面
packages/plugin-tree/README.md单文件,+4 行 / -0 行。未动content/docs/releases/,未改 assignee。Generated by Claude Code