compiler-verify
Use when you need to run all compiler checks (tests, lint, format) before committing. Detects whether TS or Rust code changed and runs the appropriate checks.Compiler Verify
Run all verification steps for compiler changes.
Arguments:
- $ARGUMENTS: Optional test pattern for
yarn snap -p <pattern>
Instructions
-
Detect what changed by running
git diff --name-only HEAD(or vs the base branch). Categorize changes:- TS changes: files in
compiler/packages/ - Rust changes: files in
compiler/crates/ - Both: run all checks
- TS changes: files in
-
If TS changed, run these sequentially (stop on failure):
yarn snap(oryarn snap -p <pattern>if a pattern was provided) — compiler testsyarn test— test full compileryarn workspace babel-plugin-react-compiler lint— lint compiler source
-
If Rust changed, run these sequentially (stop on failure):
bash compiler/scripts/test-babel-ast.sh— Babel AST round-trip testsbash compiler/scripts/test-rust-port.sh— full Rust port test suite (compares Rust vs TS compiler output across all passes; must have 0 failures — do not regress)yarn snap --rust— end-to-end snap tests using the Rust compiler (compares compiled output and logger events against.expect.mdfixtures; useyarn snap --rust -p <pattern>for focused checks)
-
Always run (from the repo root):
yarn prettier-all— format all changed files
-
If implementing a plan doc, check:
- Plan doc has no unaddressed "Remaining Work" items
- Plan doc status is updated to reflect current state
-
Report results: list each step as passed/failed. On failure, stop and show the error with suggested fixes.
Common Mistakes
- Running
yarn snapwithout-pis fine for full verification, but slow. Use-pfor focused checks. - Running prettier from compiler/ — must run from the repo root.
- Forgetting Rust tests — if you touched
.rsfiles, always run the round-trip test andyarn snap --rust.
相关 Skills
继续浏览同一来源仓库中的其他 Skills。
Show the status of all Rust port plan documents and recent related commits. Use when you need to understand what's been done vs what remains.
Use when you need to update a plan document with deep research across all compiler passes. Launches parallel subagents to analyze how a topic affects every compiler phase, then...