Skip to content

Commit 5e2c4fa

Browse files
committed
fix(scripts): 校验器补规模自检与失效诊断
1 parent a4cb549 commit 5e2c4fa

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

‎scripts/line-limits.mjs‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,24 @@ export function parseTable() {
8989

9090
function check({ full }) {
9191
const measured = scanTree();
92+
// 规模自检:没有它,扫描域失效会让 (a)/(c) 静默通过、(d) 反把 117 条登记行报成"指向不存在的文件"。
93+
// 更危险的是未来:FROZEN_OVER_LIMIT 被清空(0-C2/C3 拆完后)时,双失效会给出 exit 0 绿灯。
94+
if (measured.size === 0) {
95+
console.error(
96+
`❌ line-limits:扫描域为空 —— ${SCAN_DIRS.join(' / ')} 下没有匹配 ${SOURCE_EXT} 的文件。\n` +
97+
` 这几乎总是路径写错或工作目录不对,**不是"没有超限文件"**。`,
98+
);
99+
process.exit(1);
100+
}
101+
102+
// 登记表缺失自检:缺了它,(c) 会把每条超限文件逐条报成"未登记",
103+
// 而不提示真实原因是登记表不存在 —— 同样把人引向错误的修法。
104+
const tableAbs = join(ROOT, TABLE_PATH);
105+
if (!existsSync(tableAbs)) {
106+
console.error(`❌ line-limits:登记表不存在 —— ${TABLE_PATH}。先运行 --write 生成,或检查路径。`);
107+
process.exit(1);
108+
}
109+
92110
const rows = parseTable();
93111
const registered = new Set(rows.map((r) => r.path));
94112
const problems = [];

0 commit comments

Comments
 (0)