实现 #5340(PR #6211)时量语料量出来的观察类发现,未认领,按 PD#10 立案。与 #6225 同批量出但机制不同,故分开立案。
现象
#5340 落地后仍有 27 个超过 400 字符的类型单元格。上一条(#6225)解释了其中 9 个「顶层长枚举」。剩下 18 个的宽度与枚举无关 —— 是联合类型把每个对象变体的完整摘要各印了一遍。
最清楚的实例是 content/docs/references/ui/page.mdx 的 slots,枚举省略已经生效了 8 次(该行带 8 个 ... +N more 标记),单元格仍有 1538 字符:
{ header?: { type: Enum< 'page:header' | ... | … +29 more > | string; id?: string;
label?: string; properties?: Record< string, any >; … } | { type: Enum< 'page:header'
| ... | … +29 more > | string; ... } | ... }
同一个 { type; id?; label?; properties?; … } 形状被重复了 8 次,彼此只差极少。其余 17 个在 400–656 字符之间(kernel/manifest.mdx 的 navigationContributions / capabilities、automation/state-machine.mdx 的 states、ui/app.mdx 的 navigation、api/protocol.mdx 的 translations 等)。
定性(为什么这是独立的一条,也不是 #5340 的返工项)
可能的修法(未验证,留给分诊)
三种都涉及公开可读契约的取舍(读者看到的是变体的完整枚举还是数量),⛔ 不建议随手拍板;需要分诊给出方向。逐页确认重生成 diff,不得手改生成的 .mdx。
相关 / 串行
同文件面:packages/spec/scripts/lib/format-type.ts。与 #5340(PR #6211)、#6225、#5729、#5606、#5338 同源。须与该文件面的其他在飞单串行,不得同批并行。
实现 #5340(PR #6211)时量语料量出来的观察类发现,未认领,按 PD#10 立案。与 #6225 同批量出但机制不同,故分开立案。
现象
#5340 落地后仍有 27 个超过 400 字符的类型单元格。上一条(#6225)解释了其中 9 个「顶层长枚举」。剩下 18 个的宽度与枚举无关 —— 是联合类型把每个对象变体的完整摘要各印了一遍。
最清楚的实例是
content/docs/references/ui/page.mdx的slots,枚举省略已经生效了 8 次(该行带 8 个... +N more标记),单元格仍有 1538 字符:同一个
{ type; id?; label?; properties?; … }形状被重复了 8 次,彼此只差极少。其余 17 个在 400–656 字符之间(kernel/manifest.mdx的navigationContributions/capabilities、automation/state-machine.mdx的states、ui/app.mdx的navigation、api/protocol.mdx的translations等)。定性(为什么这是独立的一条,也不是 #5340 的返工项)
anyOf变体数 × 每个变体的摘要长度,不是单个类型的宽度。gen:docs 内联形状里的长枚举不省略,单个类型单元格可达约 900 字符(BulkActionDef.params 实例) #5340 的字符预算作用在Enum< ... >的 body 上,天然管不到这里 —— 而且在本实例上它已经生效了 8 次,把该行从更宽压到了 1538。formatType的anyOf分支是variants.map(v => formatType(v, ctx)).join(' | '),对变体之间的相似度一无所知。可能的修法(未验证,留给分诊)
INLINE_KEY_LIMIT同源地印| …(但要带上被省略的变体数,遵循 gen:docs 内联形状里的长枚举不省略,单个类型单元格可达约 900 字符(BulkActionDef.params 实例) #5340 定下的「省略必须自报数量」原则);object/ 变体数摘要(gen:docs 内联形状里的长枚举不省略,单个类型单元格可达约 900 字符(BulkActionDef.params 实例) #5340 原始 issue body 里列过的第二种方案,当时没选);$ref链接而不是逐个内联展开(与 gen:docs 顶层长枚举仍是单个 6092 字符的表格单元格 ——### Allowed Values项目符号只对「整个 schema 是枚举」生效,对「某个属性是枚举」从不生效 #6225 的第二种修法同源)。三种都涉及公开可读契约的取舍(读者看到的是变体的完整枚举还是数量),⛔ 不建议随手拍板;需要分诊给出方向。逐页确认重生成 diff,不得手改生成的
.mdx。相关 / 串行
同文件面:
packages/spec/scripts/lib/format-type.ts。与 #5340(PR #6211)、#6225、#5729、#5606、#5338 同源。须与该文件面的其他在飞单串行,不得同批并行。