Automatiser ses migrations efficacement à l’aide des AST
Pour effectuer des migrations sur l’ensemble des fichiers de sa codebase, on peut tenter de faire des “rechercher-remplacer” et d’agrémenter le tout avec nos chères expressions régulières.
Bien qu’efficace pour les cas les plus simples, on se heurte rapidement à des problèmes de sauts de lignes inopinés, de parenthèses en plus. Ensuite la complexité explose au fur et à mesure qu’on souhaite migrer des cas plus complexes : l’expression régulière devient illisible et peu maintenable.
Pour sauver sa santé mentale dans des projets de migration plus complexes, des outils très puissants existent : ✨ les Abstract Syntax Trees (AST) ✨. Une structure bien typée, de l’outillage pour créer et parcourir ces structures : de quoi se lancer dans une grande migration.
Découvrez comment les ASTs m’ont permis d’écrire un script de migration pour changer de librairie de traduction. Cette migration concerne des applications en Angular et impacte des fichiers HTML et des fichiers Typescript. Nous verrons également que les ASTs ne se limitent pas à cet écosystème !
Commentaires