Nette Code Checker
Code Checker verifica seus arquivos de origem em busca de falhas formais, como um BOM invisível, caracteres de controle, codificação corrompida ou sintaxe inválida de arquivos PHP, Latte, NEON, JSON e YAML, e pode corrigi-los automaticamente.
Instalação
Instale-o globalmente via Composer:
composer global require nette/code-checker
Certifique-se de que o diretório global bin do Composer esteja no seu $PATH. O comando code-checker fica então
disponível de qualquer lugar, em qualquer sistema operacional.
Como alternativa, instale-o como um projeto independente:
composer create-project nette/code-checker
Requer PHP 8.0 ou superior.
Uso
Por padrão, o Code Checker é executado em modo somente leitura e apenas relata os problemas que encontra:
code-checker
Para realmente reparar os arquivos, adicione --fix. Faça um backup dos seus arquivos primeiro, ou
execute-o sobre uma árvore de trabalho limpa para que você possa revisar as alterações depois com git diff:
code-checker --fix
Você pode limitar a verificação a um caminho específico, ignorar arquivos ou executar verificações mais rápidas apenas de sintaxe:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
No modo somente leitura, a ferramenta sai com o código 0 quando tudo está bem e 1 quando algum
problema é encontrado, então ela se encaixa perfeitamente em pipelines de CI.
Lista completa de opções:
Usage: code-checker [options]
Options:
-d <path> Folder or file to scan (default: current directory)
-i | --ignore <mask> Files to ignore
-f | --fix Fix the files
-l | --eol Normalize line endings to the system default
--only-syntax Check syntax only (faster)
--no-progress Do not show progress dots
--version Show version
O que o Code Checker faz
- verifica a sintaxe de templates Latte e arquivos
.php,.neone.json - remove o BOM
- verifica se os arquivos são UTF-8 válidos
- procura por caracteres de controle
- detecta comentários phpDoc malformados (ex.:
/* @varem vez de/** @var) - impõe tabulações para indentação em arquivos PHP, CSS, JS e TS, e espaços em YAML
- remove espaços em branco à direita e linhas em branco no final dos arquivos
- normaliza os finais de linha para o padrão do sistema (com o parâmetro
-l)