SuperAPI AI 工具集

compat-review

通用与其它

查看项目

更新于 10-15 22:33

技能介绍

用途:验证 es-toolkit/compat 的兼容层 PR 是否真的修复了一个与 lodash 行为不一致的问题,避免无效或引入回归的改动合入。

主要能力:按 PR 编号或函数名定位目标函数与 PR 声称;从 PR 描述与 diff 中提取被修复的 compat 函数、声称的不一致(期望行为与实际行为)及贡献者提供的测试示例;生成临时 vitest 比对测试并运行,得到修复前(main)与修复后(应用 PR 补丁)的对照结果,最终产出包含判定清单的报告。

使用方式:输入 $ARGUMENTS(PR 编号如 1234,或函数名如 chunk)。查看 PR:gh pr view {number} --repo toss/es-toolkit --json title,body,files。在 src/compat/{category}/_compat-review-{fn}.spec.ts 生成临时规范化测试,从 vitest 引入 describe/expect/it,并分别以 es-toolkit/compat 与 lodash 同名函数作对比;用例分两组:A 为贡献者声称的示例,B 为自行生成的约 10 个边界用例(空输入、null/undefined、负数/零/浮点数、NaN、Infinity、类型强制转换、单元素数组、长字符串、深层嵌套对象等,按函数相关性挑选)。每个用例分别捕获两侧抛错:两侧都抛出视为一致;仅一侧抛出则报行为不一致;否则用 expect(compatResult).toEqual(lodashResult) 比较。运行:yarn vitest run src/compat/{category}/_compat-review-{fn}.spec.ts,记录失败项即为 main 上真实存在的不一致。应用改动:gh pr diff {number} --repo toss/es-toolkit | git apply,再次运行确认声称示例通过且边界用例无回归;测试后执行 git checkout -- . 回滚,并删除 _compat-review-*.spec.ts。最后报告 PR 声称、修复前与修复后比对表及结论项(声称是否有效、修复是否解决、是否无回归、现有测试是否仍通过)。

适用场景:审查 es-toolkit/compat 与 lodash 的一致性修复 PR,或按函数名排查兼容行为差异。

限制:需具备 Node/yarn/vitest 与 gh CLI 环境及仓库读写权限;测试文件为临时生成物,验证后需清理;比对仅依据运行时结果与提供的资料,不评估修复实现的美观或性能。原文未提供更多细节。