返回全部 Skills

compiler-verify

开发工具

在需要提交前运行所有编译器检查(测试、lint、格式化)时使用。检测是TS还是Rust代码发生了更改,并运行相应的检查。

2

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add facebook/react --skill compiler-verify

skill.md

name: compiler-verify
description: 在需要提交前运行所有编译器检查(测试、lint、格式化)时使用。检测是TS还是Rust代码发生了更改,并运行相应的检查。

编译器验证

运行编译器变更的所有验证步骤。

参数:

  • $ARGUMENTS:yarn snap -p <pattern> 的可选测试模式

指令

  1. 检测变更内容:运行 git diff --name-only HEAD(或与基础分支对比)。

将变更分类:

  • TS 变更compiler/packages/ 中的文件
  • Rust 变更compiler/crates/ 中的文件
  • 两者都变:运行所有检查
  1. 如果 TS 有变更,按顺序运行以下命令(失败时停止):
  • yarn snap(如果提供了模式,则运行 yarn snap -p <pattern>)——编译器测试
  • yarn test ——测试完整编译器
  • yarn workspace babel-plugin-react-compiler lint ——检查编译器源码
  1. 如果 Rust 有变更,按顺序运行以下命令(失败时停止):
  • bash compiler/scripts/test-babel-ast.sh ——Babel AST 往返测试
  • bash compiler/scripts/test-rust-port.sh ——完整的 Rust 移植测试套件(比较 Rust 与 TS 编译器在所有阶段中的输出;必须零失败——不允许退化)
  • yarn snap --rust ——使用 Rust 编译器的端到端快照测试(将编译输出和记录事件与 .expect.md 固定文件对比;使用 yarn snap --rust -p <pattern> 进行针对性检查)
  1. 始终运行(从仓库根目录执行):
  • yarn prettier-all ——格式化所有变更文件
  1. 如果正在实现计划文档,检查:
  • 计划文档中没有未处理的“剩余工作”项
  • 计划文档状态已更新以反映当前状态
  1. 报告结果:列出每个步骤为通过/失败。如果失败,停止并显示错误及建议修复。

常见错误

  • 运行 yarn snap 时不带 -p 对于完整验证没问题,但速度较慢。对于针对性检查请使用 -p
  • 从 compiler/ 目录运行 prettier ——必须从仓库根目录运行。
  • 忘记 Rust 测试 ——如果修改了 .rs 文件,始终运行往返测试和 yarn snap --rust