本工具由豫言编写。从固定版本的 MDN Browser Compatibility Data data.json 中遍历 api 树所有 __compat 节点:默认输出路径;兼容 模式输出每项路径及完整兼容记录的 JSONL;支持 模式输出路径与 Chrome、Firefox、Safari 三列 0/1。1 仅表示 BCD 中存在未移除、无标志、无异名的支持语句,不核对当前浏览器版本,也不证明宿主库已经覆盖。
规范 模式读取固定版本 @webref/idl 经其相容版本 WebIDL2 解析所得的 AST JSON,输出规范、定义、成员类型与名称、是否为部分定义及显式 Exposed 注解。Exposed 为空不代表不可用:部分定义、mixin 和继承关系还需要合并。清单尚未与 BCD 路径对齐。
另可将 对齐入口。豫 编译为 yy宿主接口对齐,传入 Webref AST 和 BCD data.json,输出同名路径的第一轮配对。状态中的“直接命中”只表示 BCD 有相应 __compat 节点;“BCD无同名路径”不表示 API 不存在。mixin、includes、继承和别名仍待展开。
在仓库根编译为 yy宿主接口清单 后运行:
node 豫言操作系统/宿主/节点/宿主.cjs yy宿主接口清单.wasm /路径/data.json > /路径/浏览器接口路径.txt
node 豫言操作系统/宿主/节点/宿主.cjs yy宿主接口清单.wasm /路径/data.json 兼容 > /路径/浏览器接口兼容.jsonl
node 豫言操作系统/宿主/节点/宿主.cjs yy宿主接口清单.wasm /路径/data.json 支持 > /路径/浏览器接口支持.tsv
node 豫言操作系统/宿主/节点/宿主.cjs yy宿主接口清单.wasm /路径/webref-ast.json 规范 > /路径/规范成员.tsv
node 豫言操作系统/宿主/节点/宿主.cjs yy宿主接口对齐.wasm /路径/webref-ast.json /路径/data.json > /路径/规范兼容对齐.tsv
输入资料、WebIDL2 解析器版本及压缩包哈希应与结果一起记录。仓库中的 规范成员来源.json 固定了本次输入。后续需要把 IDL 与 BCD 路径合并,再按浏览器版本支持和真实行为测试为每项补全状态。