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, .neon.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.: /* @var em 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)