重构:生成绑定校验不再依赖 readdirSync 的 recursive 选项

- check-generated-bindings.mjs:snapshot() 改用普通 fs.readdirSync(absolute)
- recursive 选项要 Node 18.17 / 20.1 才有;仓库没有 engines 约束,旧版本会静默退化成只读顶层,反而削弱嵌套目录的覆盖
- 四个生成目录都是平铺的(ts-rs 的 export_to 直接落文件),去掉后行为不变,已跑 check:generated-bindings 验证
This commit is contained in:
2026-10-03 13:47:21 +08:00
parent 7fb4dabb55
commit 6a4bcf4f31
+3 -1
View File
@@ -78,7 +78,9 @@ function snapshot(dir) {
// "0 个文件"静默通过——`export_to` 路径被改名或生成文件被整体删除时,校验形同虚设。
throw new Error(`生成绑定目录不存在,无法校验:${dir}`);
}
const entries = fs.readdirSync(absolute, { recursive: true });
// 四个生成目录都是平铺的(ts-rs 的 `export_to` 直接落文件,不再嵌套子目录);
// 不用 `recursive`,避免依赖 Node 18.17 / 20.1 才有的选项(旧版本会静默退化成只读顶层)。
const entries = fs.readdirSync(absolute);
return new Map(
entries.flatMap((entry) => {
const absoluteFile = path.join(absolute, entry);