O que são padrões glob?

Padrões glob são padrões de correspondência com curingas usados para especificar conjuntos de nomes de arquivos ou caminhos. Originaram-se em shells Unix, mas agora são usados em linguagens de programação e ferramentas. Curingas comuns incluem * (corresponde a qualquer caractere), ** (corresponde a diretórios recursivamente), ? (corresponde a um único caractere) e [abc] (corresponde a qualquer caractere entre colchetes). Esses padrões são essenciais para operações de arquivos, ferramentas de construção e sistemas de controle de versão como Git.

Como funcionam os padrões glob?

Os padrões glob usam caracteres curinga especiais para corresponder caminhos de arquivos. Aqui estão os padrões mais comuns:

  • * - Corresponde a qualquer número de caracteres dentro de um único nível de diretório
    • Exemplo: *.js corresponde a file.js, test.js mas não a folder/file.js
  • ****** - Corresponde a qualquer número de diretórios (correspondência recursiva)
    • Exemplo: **/*.js corresponde a file.js, src/file.js, src/utils/file.js
  • ? - Corresponde exatamente a um caractere
    • Exemplo: file?.js corresponde a file1.js, fileA.js mas não a file10.js
  • [abc] - Corresponde a qualquer caractere único do conjunto
    • Exemplo: file[123].js corresponde a file1.js, file2.js, file3.js
  • [a-z] - Corresponde a qualquer caractere no intervalo
    • Exemplo: [A-Z]*.js corresponde a arquivos que começam com letras maiúsculas
  • {js,ts} - Corresponde a qualquer um dos padrões separados por vírgula (expansão de chaves)
    • Exemplo: *.{js,ts} corresponde a file.js e file.ts
  • !pattern - Nega o padrão (exclui arquivos correspondentes)
    • Exemplo: !*.test.js exclui todos os arquivos de teste

Exemplos práticos:

  • src/**/*.{js,ts} - Todos os arquivos JavaScript e TypeScript no diretório src e subdiretórios
  • lib/**/test/*.js - Todos os arquivos JavaScript em pastas test dentro de lib
  • **/*.min.js - Todos os arquivos JavaScript minificados em qualquer lugar do projeto
  • !node_modules/** - Excluir tudo no diretório node_modules

Descrição da ferramenta

Uma ferramenta especializada para testar e validar padrões glob com caminhos de arquivos em tempo real. A ferramenta usa a biblioteca picomatch para fornecer correspondência precisa de padrões, permitindo que desenvolvedores testem rapidamente seus padrões glob antes de implementá-los em arquivos de configuração, scripts ou aplicações. A interface fornece feedback instantâneo sobre quais caminhos correspondem ao seu padrão, ajudando você a refinar e aperfeiçoar suas expressões glob.

Recursos

  • Correspondência de padrões em tempo real: Veja instantaneamente quais caminhos correspondem ao seu padrão glob enquanto digita
  • Teste de múltiplos caminhos: Teste padrões com múltiplos caminhos de arquivos simultaneamente
  • Opções de padrão: Configure sensibilidade a maiúsculas e comportamento de correspondência de arquivos ocultos
  • Feedback visual: Indicação clara de caminhos correspondentes e não correspondentes com emblemas coloridos
  • Resultados tabulares: Exibição organizada dos resultados de teste em uma tabela limpa
  • Tratamento de erros: Feedback imediato sobre padrões inválidos com mensagens de erro
  • Estatísticas de correspondência: Resumo mostrando o número de correspondências do total de caminhos testados

Casos de uso

  • Configuração de build: Teste padrões glob para ferramentas de build como Webpack, Vite ou Rollup antes de adicionar à configuração
  • Padrões Git ignore: Valide padrões .gitignore para garantir que correspondam aos arquivos pretendidos
  • Scripts de processamento de arquivos: Verifique padrões para seleção de arquivos em scripts Node.js ou ferramentas de automação
  • Seleção de arquivos de teste: Configure executores de teste (Jest, Mocha) para selecionar os arquivos de teste corretos
  • ESLint e Prettier: Teste padrões de arquivos para configuração de linter e formatador
  • Documentação: Verifique padrões para geradores de documentação e processadores de arquivos
  • Pipelines CI/CD: Teste padrões de correspondência de caminhos para fluxos de trabalho de integração contínua
  • Aprendizado de sintaxe glob: Experimente com padrões glob para entender seu comportamento