Nette Code Checker

Code Checker zkontroluje vaše zdrojové soubory a najde v nich formální nedostatky, jako je neviditelný BOM, kontrolní znaky, chybné kódování nebo neplatná syntaxe souborů PHP, Latte, NEON, JSON a YAML, a umí je automaticky opravit.

Instalace

Nainstalujte jej globálně pomocí Composeru:

composer global require nette/code-checker

Ujistěte se, že váš globální Composer adresář bin je v proměnné $PATH. Příkaz code-checker je pak dostupný odkudkoliv, na libovolném operačním systému.

Případně jej nainstalujte jako samostatný projekt:

composer create-project nette/code-checker

Vyžaduje PHP 8.0 nebo vyšší.

Použití

Ve výchozím stavu běží Code Checker v read-only režimu a jen vypíše nalezené problémy:

code-checker

Pro skutečnou opravu souborů přidejte --fix. Nejdřív si soubory zazálohujte, nebo nástroj spusťte nad čistým pracovním stromem, ať si změny můžete potom zkontrolovat přes git diff:

code-checker --fix

Sken můžete omezit na konkrétní cestu, vynechat soubory nebo spustit rychlejší kontrolu jen syntaxe:

code-checker -d src --ignore "temp/*"
code-checker --only-syntax

V read-only režimu skončí nástroj s kódem 0, když je vše v pořádku, a 1, když najde jakýkoliv problém, takže se hodí do CI.

Kompletní seznam voleb:

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

Co Code Checker dělá

  • kontroluje syntaxi Latte šablon a souborů .php, .neon.json
  • odstraňuje BOM
  • ověřuje, že soubory jsou platné UTF-8
  • kontroluje výskyt kontrolních znaků
  • odhalí chybně zapsané phpDoc komentáře (např. /* @var místo /** @var)
  • vynucuje odsazení tabulátory v souborech PHP, CSS, JS a TS a mezerami v YAML
  • odstraňuje pravostranné mezery a prázdné řádky na konci souborů
  • normalizuje oddělovače řádků na systémové (s volbou -l)