CAMINHOS E CURINGAS

Testador de padrões globconfira a biblioteca do projeto

Digite um padrão e um caminho por linha. Selecione a biblioteca e as opções abaixo das entradas.

Testador de padrões glob

Caminhos candidatos

Padrões e caminhos são processados neste navegador; nenhum arquivo é lido ou alterado.

Resultados por caminho

Digite um padrão e pelo menos um caminho candidato.

Opções de correspondência

Windows converte \ em / nos padrões e caminhos. Para escapes, escolha POSIX. A opção de maiúsculas é independente.

Um padrão. Linhas vazias são ignoradas; espaços e duplicatas permanecem. ! e # seguem a biblioteca escolhida.

Limites: padrão 256, 200 caminhos, 512 por caminho, 131.072 unidades UTF-16 no total; 1.000 alternativas minimatch; 2 segundos.

Resultados desatualizados ou cálculo em andamento.

Um filtro funciona na raiz, mas deixa arquivos de fora nas subpastas? O Testador de padrões glob permite manter a lista de candidatos e mudar uma configuração de cada vez. Assim você identifica se a diferença está no padrão, no motor ou nas opções da chamada.

Um curinga não tem necessariamente o mesmo significado em todas as ferramentas. Ao verificar caminhos de arquivo, guarde também exemplos que não deveriam passar. Converter glob para regex por si só não comprova compatibilidade com a dependência usada no seu projeto.

Por que usar o Testador de padrões glob

Enxergue o alcance nas subpastas

O Testador de padrões glob mantém o número original de cada linha. Compare src/*.ts e src/**/*.ts para ver quais arquivos aninhados entram na seleção, sem reorganizar os candidatos ou editar a configuração do projeto.

Uma seleção de arquivos diretos comparada com outra que alcança pastas aninhadas.

Teste ocultos sem mudar a caixa

O exemplo reúne arquivos comuns e arquivos iniciados por ponto. Ative dot para observar a mudança nos ocultos. Ignorar maiúsculas é outra opção: ativar uma não deve alterar a outra.

A mesma lista antes e depois de incluir ocultos; somente o arquivo com marca de ponto passa a corresponder.

Reproduza as opções que o projeto usa

01

Comece pela dependência

Escolha minimatch 10.2.6 ou picomatch 4.0.7 com base no pacote e nas opções usados pelo programa de destino. A sintaxe estendida pode ter outra interpretação.

  • Os prefixos ! e # seguem o motor selecionado.
02

Defina o papel da barra invertida

POSIX mantém os escapes. Separadores Windows transforma barras invertidas em / no padrão e nos candidatos; o relatório também preserva os originais.

  • Selecionar Windows não liga a opção de ignorar maiúsculas.
03

Exporte depois da atualização

O modo automático espera uma pausa de 350 ms. Desative-o para executar pelo botão ou Ctrl/Cmd + Enter. Alterações bloqueiam imediatamente a exportação do resultado antigo.

  • A tela começa com 50 linhas, mas o JSON inclui todos os resultados.

Controles explícitos para comparar caminhos

Motor e versão no relatório

O Testador de padrões glob chama o pacote escolhido diretamente. O JSON registra versão, padrão, opções e caminhos originais e testados, facilitando a revisão das condições do experimento.

Caracteres e alternativas

Use ? para um caractere, [abc] para um conjunto, ** para diretórios e {js,ts} para extensões. Extglobs positivos como @(foo|bar).js também são processados pela biblioteca.

Correspondência só pelo nome

Com a opção de nome ativada, *.js pode selecionar src/app.js. Isso vale somente para padrões sem /. Se o padrão contém uma pasta, a comparação continua usando o caminho.

Mantenha os contraexemplos

Cada candidato conserva sua linha e o estado de correspondência. Duplicatas continuam separadas. O relatório inclui os caminhos que falharam, pois eles também ajudam a demonstrar que o filtro está correto.

Limites e significado dos resultados

Um padrão por teste
Quebras de linha no padrão são rejeitadas. Vírgulas não separam regras porque podem fazer parte de alternativas entre chaves. Exclusões ordenadas e pastas ancestrais ignoradas pelo Git pertencem ao testador Gitignore.
Os dialetos continuam diferentes
minimatch trata # inicial como comentário e ! como negação. picomatch trata # como texto e pode interpretar !(foo).js como extglob negativo. Intervalos numéricos também podem produzir diferenças.
Windows só converte separadores
Toda barra invertida vira / antes da comparação e não pode servir como escape ao mesmo tempo. A ferramenta não resolve .. nem remove letras de unidade, e não simula um sistema de arquivos.
Espaços fazem parte do caminho
Apenas linhas vazias são ignoradas. LF, CRLF e CR separam candidatos; espaços e duplicatas são mantidos. Caracteres de controle e Unicode malformado são rejeitados, portanto nomes com quebras de linha não são representáveis aqui.
Sem sucesso parcial ao exceder limites
São permitidas 256 unidades UTF-16 por padrão, 200 caminhos, 512 unidades por caminho e 131.072 no total. minimatch pode expandir 1.000 alternativas. O worker é encerrado após 2 segundos e não libera um relatório incompleto.
Não verifica a existência do arquivo
A comparação usa apenas as strings informadas, sem percorrer pastas ou carregar URLs. Uma construção aberta como [ pode ser aceita literalmente pela biblioteca. Não corresponder não significa necessariamente erro de sintaxe.

Dúvidas sobre o Testador de padrões glob

Qual é a diferença entre uma e duas estrelas?

Uma estrela comum fica dentro de um segmento do caminho. ** como segmento inteiro representa zero ou mais diretórios. Não presuma que acrescentar outra estrela dentro de um nome de arquivo cria recursão em qualquer biblioteca.

Posso usar alternativas entre chaves?

Sim, como *.{js,ts}. minimatch também expande file{01..12}.js. picomatch tem diferenças no tratamento de intervalos; confira os valores extremos com candidatos reais.

O teste diferencia maiúsculas de minúsculas?

Sim, por padrão. Ao ativar Ignorar maiúsculas, nocase permite que **/*.ts também selecione APP.TS. O comportamento de arquivos ocultos continua dependendo da opção dot.

Por que src/**/*.ts encontra src/index.ts sem subpasta?

O segmento ** também pode representar zero diretórios. Se precisar de exatamente um nível intermediário, teste src/*/*.ts e mantenha um arquivo direto como contraexemplo.

Por que o curinga não seleciona arquivos iniciados por ponto?

dot é false por padrão nos dois motores. Ative Incluir ocultos ou escreva o ponto explicitamente na posição correspondente do padrão. O caminho literal src/.hidden.ts pode funcionar sem ligar dot.

Encontrou um caso que merece revisão?

Adicione mais um caso de borda

Mantenha um caminho que deve passar e outro que deve falhar. Mude uma opção e salve o relatório atual.