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
-
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
- changements TS : fichiers dans
-
Si TS a changé, exécute ces commandes séquentiellement (arrête en cas d'échec) :
yarn snap(ouyarn snap -p <pattern>si un motif a été fourni) — tests du compilateuryarn test— test complet du compilateuryarn workspace babel-plugin-react-compiler lint— lint de la source du compilateur
-
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 ASTbash 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; utiliseyarn snap --rust -p <pattern>pour des contrôles ciblés)
-
Exécute toujours (à partir de la racine du repo) :
yarn prettier-all— formate tous les fichiers modifiés
-
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
-
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 snapsans-pest correct pour une vérification complète, mais lent. Utilise-ppour 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 etyarn snap --rust.