iter(g268): verify 增加孤儿演示区块反向校验
This commit is contained in:
@@ -1607,6 +1607,12 @@ function cmdVerify() {
|
||||
}
|
||||
}
|
||||
|
||||
// 反向校验:演示里定义的每个 section 都得被某个组件认领,否则就是「孤儿演示」——区块加了、清单没登记
|
||||
// 只认 section( 的定义处,不认 href: '#sec-x' 这类引用(anchor 演示里就有故意指向不存在区块的链接)
|
||||
const claimedDemos = new Set(pkgs.flatMap((p) => (p.docs?.components ?? []).map((c) => c.demo)).filter(Boolean));
|
||||
for (const [, secId] of demoSource.matchAll(/section\(\s*'(sec-[a-z0-9-]+)'/g)) {
|
||||
if (!claimedDemos.has(secId)) issues.push(`apps/demo/main.ts: 演示区块 ${secId} 没有任何组件登记为 demo(孤儿演示:补 docs.components 的 demo,或删掉废弃 section)`);
|
||||
}
|
||||
const skinTotal = pkgs // skin-dom 清单组件总数,供文档数字漂移校验
|
||||
.filter((p) => p.type === 'skin-dom')
|
||||
.flatMap((p) => p.docs?.components ?? []).length;
|
||||
|
||||
Reference in New Issue
Block a user