compiler-verify

Par facebook · react

Utilisez ce script lorsque vous devez exécuter toutes les vérifications du compilateur (tests, lint, format) avant de faire un commit. Détecte si du code TS ou Rust a été modifié et exécute les vérifications appropriées.

npx skills add https://github.com/facebook/react --skill compiler-verify

Compiler Verify

Exécute toutes les étapes de vérification pour les changements du compilateur.

Arguments :

  • $ARGUMENTS : motif de test optionnel pour yarn snap -p <pattern>

Instructions

  1. Détecte les changements en exécutant git diff --name-only HEAD (ou par rapport à la branche de base). Catégorise les changements :

    • changements TS : fichiers dans compiler/packages/
    • changements Rust : fichiers dans compiler/crates/
    • Les deux : exécute tous les contrôles
  2. Si TS a changé, exécute ces commandes séquentiellement (arrête en cas d'échec) :

    • yarn snap (ou yarn snap -p <pattern> si un motif a été fourni) — tests du compilateur
    • yarn test — test complet du compilateur
    • yarn workspace babel-plugin-react-compiler lint — lint de la source du compilateur
  3. Si Rust a changé, exécute ces commandes séquentiellement (arrête en cas d'échec) :

    • bash compiler/scripts/test-babel-ast.sh — tests de round-trip Babel AST
    • bash compiler/scripts/test-rust-port.sh — suite de tests complète du port Rust (compare la sortie du compilateur Rust vs TS sur toutes les passes ; doit avoir 0 échecs — ne regresse pas)
    • yarn snap --rust — tests snap end-to-end avec le compilateur Rust (compare la sortie compilée et les événements du logger par rapport aux fixtures .expect.md ; utilise yarn snap --rust -p <pattern> pour des contrôles ciblés)
  4. Exécute toujours (à partir de la racine du repo) :

    • yarn prettier-all — formate tous les fichiers modifiés
  5. Si tu mets en œuvre un plan doc, vérifie :

    • Le plan doc n'a aucun élément "Remaining Work" non adressé
    • Le statut du plan doc est à jour pour refléter l'état actuel
  6. Rapporte les résultats : liste chaque étape comme réussie/échouée. En cas d'échec, arrête et affiche l'erreur avec les correctifs suggérés.

Erreurs Courantes

  • Exécuter yarn snap sans -p est correct pour une vérification complète, mais lent. Utilise -p pour des contrôles ciblés.
  • Exécuter prettier à partir de compiler/ — doit être exécuté à partir de la racine du repo.
  • Oublier les tests Rust — si tu as modifié des fichiers .rs, exécute toujours le test de round-trip et yarn snap --rust.

Skills similaires