He trabajado con un montón de herramientas diferentes que tienen la intención de buscar archivos de un tipo u otro en una base de código y luego realizar operaciones en los archivos internos. Pruebe las bibliotecas que encuentran todos los archivos que deben ejecutarse, por ejemplo. O el ejemplo prototípico es git, que hace todo tipo de cosas con todos los archivos en su directorio de proyectos.
La mayoría de estos productos tienen un equivalente de .gitignore, que tiene un sistema de coincidencia de patrones para que sea relativamente fácil definir qué archivos o subdirectorios en un directorio determinado se procesarán y cuáles no.
La coincidencia de patrones es más simple que la expresión regular (que supongo que es buena porque la expresión regular sería excesiva) y supongo que una de las ventajas del comparador de patrones más simple es que es más rápido. Tiene sentido que, dado que cada archivo o directorio que se rastrea en la estructura del directorio, debe verificarse con cada coincidencia de patrón posible en el archivo ignorado.
Tengo un proyecto de TypeScript en el que quiero hacer un tipo similar de procesamiento de muchos archivos en un árbol de directorios. Para rastrear los directorios, actualmente estoy usando fdir https://github.com/thecodrr/fdir . La pregunta es, ¿hay un nombre para el lenguaje de coincidencia de patrones de estilo .gitignore? ¿Hay bibliotecas para Typescript o Javascript que pueda usar para implementar este patrón que coincida con el máximo rendimiento posible?
https://www.npmjs.com/package/ignore parece ser una biblioteca muy común para esto. 48 millones de descargas semanales, utilizadas por eslint, por lo que probablemente esté en buena compañía.