Nette Code Checker
Code Checker preveri vaše izvorne datoteke in v njih poišče formalne pomanjkljivosti, kot so neviden BOM, kontrolni znaki, pokvarjeno kodiranje ali neveljavna sintaksa datotek PHP, Latte, NEON, JSON in YAML, ter jih zna samodejno popraviti.
Namestitev
Namestite ga globalno prek Composerja:
composer global require nette/code-checker
Prepričajte se, da je vaš globalni Composer imenik bin v vaši $PATH. Ukaz code-checker je nato na voljo
od kjerkoli, na katerem koli operacijskem sistemu.
Lahko ga namestite tudi kot samostojen projekt:
composer create-project nette/code-checker
Zahteva PHP 8.0 ali novejši.
Uporaba
Privzeto se Code Checker zažene v načinu samo za branje in samo izpiše najdene težave:
code-checker
Za dejansko popravljanje datotek dodajte --fix. Najprej si datoteke varnostno kopirajte ali pa orodje zaženite
nad čistim delovnim drevesom, da boste spremembe lahko nato pregledali z git diff:
code-checker --fix
Skeniranje lahko omejite na določeno pot, izpustite datoteke ali zaženete hitrejše preverjanje samo sintakse:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
V načinu samo za branje se orodje zaključi s kodo 0, ko je vse v redu, in 1, ko najde kakršno
koli težavo, zato se lepo prilega v CI cevovode.
Celoten seznam možnosti:
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
Kaj Code Checker počne
- preverja sintakso Latte predlog in datotek
.php,.neonin.json - odstrani BOM
- preverja, ali so datoteke veljaven UTF-8
- preverja kontrolne znake
- odkrije napačno zapisane phpDoc komentarje (npr.
/* @varnamesto/** @var) - vsiljuje zamik s tabulatorji v datotekah PHP, CSS, JS in TS ter s presledki v YAML
- odstrani končne presledke in prazne vrstice na koncu datotek
- normalizira konce vrstic na sistemsko privzete (z možnostjo
-l)