Esta edición del Radar presenta dos herramientas para buscar y reemplazar código usando una representación de árbol de sintaxis abstracta (AST). Son herramientas similares a jscodeshift pero contienen analizadores para una amplia gama de lenguajes de programación. Aunque comparten algunas similitudes, también difieren en varios aspectos. Una de estas herramientas, Comby, es única por su sencilla interfaz de línea de comandos, diseñada con el mismo espíritu de herramientas de Unix como awk
y sed
. Mientras que los comandos de Unix se basan en expresiones regulares que operan con texto coincidente, Comby emplea una sintaxis de patrones que es específica para las construcciones de los lenguajes de programación y analiza el código antes de realizar la búsqueda. Esto ayuda a los desarrolladores a buscar patrones estructurales en grandes bases de código. Como sed
, Comby puede reemplazar las ocurrencias de los patrones con nuevas estructuras. Esto es útil para automatizar cambios al por mayor en grandes bases de código o para realizar cambios repetitivos en un conjunto de repositorios de microservicios. Dado que estas herramientas son bastante nuevas, esperamos ver una variedad de usos creativos que aún no se han descubierto.