Nette Code Checker
******************
.[perex]
[Code Checker |https://github.com/nette/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 a JSON, a umí je automaticky opravit.
Instalace
=========
Nainstalujte jej globálně pomocí Composeru:
```shell
composer global require nette/code-checker
```
Ujistěte se, že váš globální Composer adresář `bin` je v [proměnné `$PATH` |https://getcomposer.org/doc/03-cli.md#global]. Příkaz `code-checker` je pak dostupný odkudkoliv, na libovolném operačním systému.
Případně jej nainstalujte jako samostatný projekt:
```shell
composer create-project nette/code-checker
```
Vyžaduje PHP 8.2 nebo vyšší.
Použití
=======
Ve výchozím stavu běží Code Checker v read-only režimu a jen vypíše nalezené problémy:
```shell
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`:
```shell
code-checker --fix
```
Sken můžete omezit na konkrétní cesty (pro každou z nich zopakujte `-d`), vynechat soubory nebo spustit rychlejší kontrolu jen syntaxe:
```shell
code-checker -d src -d tests --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 jakoukoli chybu nebo opravitelný nedostatek, takže se hodí do CI.
Kompletní seznam voleb:
```
Usage: php code-checker [options]
Options:
-d <path>... Folder or file to scan (default: current directory)
-i, --ignore <mask>... Files to ignore
-f, --fix Fixes files
-l, --eol Convert newline characters
--only-syntax Check only syntax
--no-progress Do not show progress dots
--version Show version
-h, --help Print this help
```
Co Code Checker dělá
====================
- kontroluje syntaxi [Latte |latte:] šablon a souborů `.php`, `.neon` a `.json`
- odstraňuje [BOM |nette:glossary#BOM]
- ověřuje, že soubory jsou platné UTF-8
- kontroluje výskyt [kontrolních znaků |nette:glossary#Kontrolní znaky]
- převádí odsazení mezerami na tabulátory v souborech CSS, LESS, JS, TS a JSON a šířku odsazení si zjistí sám (soubor s nekonzistentním odsazením jen nahlásí a nechá beze změny)
- kontroluje, že soubory YAML jsou odsazené mezerami
- odstraňuje koncové mezery a prázdné řádky na konci souborů
- normalizuje oddělovače řádků na systémové (s volbou `-l`)
Styl PHP kódu
=============
Na styl PHP kódu Code Checker nesahá, to je práce pro [DressCode |coding-standard]. Ten kontroluje a opravuje PHP kód podle standardu, který si zvolíte (PER Coding Style, PSR-12, Nette, Symfony nebo Laravel), mění přitom jen to, co opravuje, a umí kód rovnou převést na novější verzi PHP i na nové verze knihoven. Převzal také PHP kontroly, které dělaly starší verze Code Checkeru: chybně zapsané phpDoc komentáře, chybějící `declare(strict_types=1)` a odsazení mezerami v souborech PHP.
{{maintitle: Nette Code Checker: kontrola BOM, kódování a syntaxe}}
{{description: Zkontrolujte ve zdrojových souborech neviditelný BOM, kontrolní znaky, chybné kódování i syntaxi PHP, Latte, NEON a JSON a nechte je automaticky opravit.}}
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 a JSON, 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.2 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í cesty (pro každou z nich zopakujte -d), vynechat soubory nebo spustit
rychlejší kontrolu jen syntaxe:
code-checker -d src -d tests --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
jakoukoli chybu nebo opravitelný nedostatek, takže se hodí do CI.
Kompletní seznam voleb:
Usage: php code-checker [options]
Options:
-d <path>... Folder or file to scan (default: current directory)
-i, --ignore <mask>... Files to ignore
-f, --fix Fixes files
-l, --eol Convert newline characters
--only-syntax Check only syntax
--no-progress Do not show progress dots
--version Show version
-h, --help Print this help
Co Code Checker dělá
- kontroluje syntaxi Latte šablon a souborů
.php, .neon
a .json
- odstraňuje BOM
- ověřuje, že soubory jsou platné UTF-8
- kontroluje výskyt kontrolních znaků
- převádí odsazení mezerami na tabulátory v souborech CSS, LESS, JS, TS a JSON a šířku odsazení si zjistí sám
(soubor s nekonzistentním odsazením jen nahlásí a nechá beze změny)
- kontroluje, že soubory YAML jsou odsazené mezerami
- odstraňuje koncové mezery a prázdné řádky na konci souborů
- normalizuje oddělovače řádků na systémové (s volbou
-l)
Styl PHP kódu
Na styl PHP kódu Code Checker nesahá, to je práce pro DressCode. Ten kontroluje a opravuje PHP kód podle standardu, který si
zvolíte (PER Coding Style, PSR-12, Nette, Symfony nebo Laravel), mění přitom jen to, co opravuje, a umí kód rovnou převést
na novější verzi PHP i na nové verze knihoven. Převzal také PHP kontroly, které dělaly starší verze Code Checkeru:
chybně zapsané phpDoc komentáře, chybějící declare(strict_types=1) a odsazení mezerami v souborech PHP.