¿Qué son los patrones glob?

Los patrones glob son patrones de coincidencia con comodines utilizados para especificar conjuntos de nombres de archivos o rutas. Se originaron en shells de Unix pero ahora se usan en lenguajes de programación y herramientas. Los comodines comunes incluyen * (coincide con cualquier carácter), ** (coincide con directorios recursivamente), ? (coincide con un solo carácter) y [abc] (coincide con cualquier carácter entre corchetes). Estos patrones son esenciales para operaciones de archivos, herramientas de construcción y sistemas de control de versiones como Git.

¿Cómo funcionan los patrones glob?

Los patrones glob utilizan caracteres comodín especiales para coincidir con rutas de archivos. Aquí están los patrones más comunes:

  • * - Coincide con cualquier número de caracteres dentro de un solo nivel de directorio
    • Ejemplo: *.js coincide con file.js, test.js pero no con folder/file.js
  • ****** - Coincide con cualquier número de directorios (coincidencia recursiva)
    • Ejemplo: **/*.js coincide con file.js, src/file.js, src/utils/file.js
  • ? - Coincide exactamente con un carácter
    • Ejemplo: file?.js coincide con file1.js, fileA.js pero no con file10.js
  • [abc] - Coincide con cualquier carácter único del conjunto
    • Ejemplo: file[123].js coincide con file1.js, file2.js, file3.js
  • [a-z] - Coincide con cualquier carácter en el rango
    • Ejemplo: [A-Z]*.js coincide con archivos que comienzan con mayúsculas
  • {js,ts} - Coincide con cualquiera de los patrones separados por comas (expansión de llaves)
    • Ejemplo: *.{js,ts} coincide con file.js y file.ts
  • !pattern - Niega el patrón (excluye archivos coincidentes)
    • Ejemplo: !*.test.js excluye todos los archivos de prueba

Ejemplos prácticos:

  • src/**/*.{js,ts} - Todos los archivos JavaScript y TypeScript en el directorio src y subdirectorios
  • lib/**/test/*.js - Todos los archivos JavaScript en carpetas test dentro de lib
  • **/*.min.js - Todos los archivos JavaScript minificados en cualquier lugar del proyecto
  • !node_modules/** - Excluir todo en el directorio node_modules

Descripción de la herramienta

Una herramienta especializada para probar y validar patrones glob con rutas de archivos en tiempo real. La herramienta utiliza la biblioteca picomatch para proporcionar coincidencia precisa de patrones, permitiendo a los desarrolladores probar rápidamente sus patrones glob antes de implementarlos en archivos de configuración, scripts o aplicaciones. La interfaz proporciona retroalimentación instantánea sobre qué rutas coinciden con su patrón, ayudándole a refinar y perfeccionar sus expresiones glob.

Características

  • Coincidencia de patrones en tiempo real: Vea instantáneamente qué rutas coinciden con su patrón glob mientras escribe
  • Prueba de múltiples rutas: Pruebe patrones con múltiples rutas de archivos simultáneamente
  • Opciones de patrón: Configure sensibilidad a mayúsculas y comportamiento de coincidencia de archivos ocultos
  • Retroalimentación visual: Indicación clara de rutas coincidentes y no coincidentes con insignias de colores
  • Resultados tabulares: Visualización organizada de resultados de prueba en una tabla limpia
  • Manejo de errores: Retroalimentación inmediata sobre patrones inválidos con mensajes de error
  • Estadísticas de coincidencias: Resumen que muestra el número de coincidencias del total de rutas probadas

Casos de uso

  • Configuración de construcción: Pruebe patrones glob para herramientas de construcción como Webpack, Vite o Rollup antes de agregarlos a la configuración
  • Patrones Git ignore: Valide patrones .gitignore para asegurarse de que coincidan con los archivos previstos
  • Scripts de procesamiento de archivos: Verifique patrones para selección de archivos en scripts Node.js o herramientas de automatización
  • Selección de archivos de prueba: Configure ejecutores de pruebas (Jest, Mocha) para seleccionar los archivos de prueba correctos
  • ESLint y Prettier: Pruebe patrones de archivos para configuración de linter y formateador
  • Documentación: Verifique patrones para generadores de documentación y procesadores de archivos
  • Pipelines CI/CD: Pruebe patrones de coincidencia de rutas para flujos de trabajo de integración continua
  • Aprendizaje de sintaxis glob: Experimente con patrones glob para entender su comportamiento