All skills
facebook avatar

/compiler-verify

@03e7755 official
by Metafacebook/react251k stars
51,417

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.

  • 1 file
  • 2 KB
  • Updated 4 months ago
  • GitHub

Use this Skill: https://skilld.dev/gh/facebook/react/compiler-verify

This session only. Nothing lands on disk.

SKILL.md

≈44 tokens always: the name and description. ≈472 when used: this file.

Compiler Verify

Run all verification steps for compiler changes.

Arguments:

  • $ARGUMENTS: Optional test pattern for yarn snap -p <pattern>

Instructions

  1. 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
  2. If TS changed, run these sequentially (stop on failure):

    • yarn snap (or yarn snap -p <pattern> if a pattern was provided) — compiler tests
    • yarn test — test full compiler
    • yarn workspace babel-plugin-react-compiler lint — lint compiler source
  3. If Rust changed, run these sequentially (stop on failure):

    • bash compiler/scripts/test-babel-ast.sh — Babel AST round-trip tests
    • bash 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.md fixtures; use yarn snap --rust -p <pattern> for focused checks)
  4. Always run (from the repo root):

    • yarn prettier-all — format all changed files
  5. If implementing a plan doc, check:

    • Plan doc has no unaddressed "Remaining Work" items
    • Plan doc status is updated to reflect current state
  6. Report results: list each step as passed/failed. On failure, stop and show the error with suggested fixes.

Common Mistakes

  • Running yarn snap without -p is fine for full verification, but slow. Use -p for focused checks.
  • Running prettier from compiler/ — must run from the repo root.
  • Forgetting Rust tests — if you touched .rs files, always run the round-trip test and yarn snap --rust.

Source: SKILL.md on GitHub

No third-party reports yet.

Signed by skilld at 03e7755. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 4 months ago

README badge

README badge for facebook/react/compiler-verify

Runs all verification steps (tests, lint, format) for React Compiler changes, detecting whether TypeScript or Rust code changed and executing the appropriate checks. Includes Babel AST round-trip tests, Rust port validation, snapshot tests, and code formatting for the facebook/react compiler monorepo.

Generated from the current SKILL.md.

Does this skill work for TypeScript and Rust changes separately?
Yes. It detects which files changed (TS in compiler/packages/ or Rust in compiler/crates/) and runs the appropriate test suites for each, or all checks if both changed.
What happens if a test fails?
The skill stops at the first failure and reports the error with suggested fixes rather than continuing through the remaining checks.
Can I run focused tests on a subset of files?
Yes. Pass a test pattern as an argument to use yarn snap -p <pattern> for faster, focused verification instead of the full suite.
Does this skill handle code formatting?
Yes. It always runs yarn prettier-all from the repo root to format all changed files.
What is the Rust port test suite checking for?
It compares Rust compiler output against the TypeScript version across all passes and requires zero failures to ensure no regressions.

Generated from the current SKILL.md. These answers refresh after source changes.