Skip to content

CONTRIBUTING.md:84-91「Running Development Servers」三条命令全部不存在 —— pnpm designer / prototype / docs:dev 在根 package.json 里没有对应 script #3596

Description

@yinlianghui

#3584 时,按该单正文要求的「顺带确认紧随其后的 pnpm site:dev / pnpm site:build 两条命令仍然有效」做核验。那两条确实有效(根 package.json 里都在,#3584 的 PR 已如实记录)。但把同样的核验推到全文后,发现更靠前的另一节里三条命令全是死的 —— 该处不在 #3584 的文件面内(PM 认领评论把面锁死在 ### Writing Documentation 那一句 ± 最小相邻散文),按 Prime Directive #10 未在那个 PR 里修,另立本单。

现文(CONTRIBUTING.md:81-92,### Running Development Servers)

# Run the visual designer demo
pnpm designer

# Run the prototype example
pnpm prototype

# Run documentation site
pnpm docs:dev

与现状对不上

package.jsonscripts这三个名字一个都没有。可运行的文档站命令是 site:dev / site:build / site:start(即 #3584 那节里写的那两条),docs: 前缀下只剩 docs:apidocs:check-links

这一节是「Development Workflow」的开头,是新贡献者装完依赖后第一批照抄的命令,三条会连着报 Command "designer" not found。其中 docs:dev#3584 是同一类搬迁滞后:docs: 前缀的站点脚本已改名到 site:,散文没跟上。

复现(只读,离线)

sed -n '81,92p' CONTRIBUTING.md
pnpm run | grep -E '^\s*(designer|prototype|docs:dev)\b'   # => 无输出
node -e "console.log(Object.keys(require('./package.json').scripts).filter(s=>/^(site|docs):/.test(s)))"
# => [ 'site:dev', 'site:build', 'site:start', 'docs:api', 'docs:check-links' ]

注:grep -rl '"designer"' --include=package.json packages 会命中 packages/plugin-designer/package.json,那只是包名 @object-ui/plugin-designer 里的子串;该包的 scripts 是 build / clean / test / type-check / lint,没有 designer。也就是说没有任何 workspace 包能让 pnpm designer 从根跑通。

为什么门禁抓不到

#3584 同源:这是围栏内的命令名断言,不是链接。check-doc-links.mjsstripCode() 在扫描前会把围栏整块抹掉(这正是相对链接检查得以安全开启的前提),所以哪怕 #3572 / PR #3589CONTRIBUTING.md 加进 SCAN_ROOTS,这三行照样不可见 —— PR #3589 自己也量到过:该文件 25 条链接里 10 条在围栏内、门禁真正判定的只有 1 条。仓库里目前没有任何检查会因为散文里的 pnpm SOMENAME 不存在而变红。

建议

按现有 script 名改写这三条,或删掉已无对应入口的示例。修之前需要先定:designer / prototype 两个 demo 今天到底还有没有等价入口(可能是 pnpm --filter ... dev、可能已随示例应用移走、也可能确实退役了)—— 这一步是事实调查,不宜靠猜,本单未替未来的实现者做决定。docs:dev 一条没有歧义,直接就是 site:dev

顺带可考虑的根治方向(不属于本单,若要做请另立):给散文里的 pnpm SOMENAME 加一条轻量门禁,把命令名与根 package.jsonscripts 对账 —— 上面那段 node -e 已经是它的雏形。这类「围栏内的事实断言」目前是整块盲区,#3584 与本单是同一盲区的两个实例。

(注:上两段原写作尖括号占位符,被 GitHub 的 body sanitizer 当作 HTML 标签吞掉了,现改为 SOMENAME。这正是 objectstack#5140 家族那条「PR/issue 正文里避开尖括号紧跟字母,并回读存档正文」的实例。)

关联

#3584(同文件、同类过期陈述,docs:site: 同一次改名的另一半)、#3570 / PR #3585#3545 / PR #3571(同文件近期改动)、#3572 / PR #3589(SCAN_ROOTS 扩面 —— 即使落地也够不到围栏内)。

⚠️ 本单未认领,留给 PM 分诊。发现于 #3584 的核验步骤,未在其 PR 中修改。

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentationpm:dispatched

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions