Nette Code Checker
Code Checker sprawdza Twoje pliki źródłowe pod kątem formalnych wad, jak niewidoczny BOM, znaki sterujące, uszkodzone kodowanie albo nieprawidłowa składnia plików PHP, Latte, NEON i JSON, i potrafi je automatycznie naprawić.
Instalacja
Zainstaluj go globalnie przez Composera:
composer global require nette/code-checker
Upewnij się, że Twój globalny katalog bin Composera jest w Twoim $PATH. Polecenie code-checker jest wtedy
dostępne skądkolwiek, w dowolnym systemie operacyjnym.
Alternatywnie zainstaluj go jako samodzielny projekt:
composer create-project nette/code-checker
Wymaga PHP 8.0 albo wyższego.
Użycie
Domyślnie Code Checker działa w trybie tylko do odczytu i jedynie zgłasza znalezione problemy:
code-checker
Żeby pliki faktycznie naprawić, dodaj --fix. Najpierw zrób kopię zapasową plików albo uruchom go na czystym
drzewie roboczym, żeby móc potem przejrzeć zmiany przez git diff:
code-checker --fix
Możesz ograniczyć skanowanie do konkretnej ścieżki, pominąć pliki albo uruchomić szybsze sprawdzenie samej składni:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
W trybie tylko do odczytu narzędzie kończy się kodem 0, gdy wszystko jest w porządku, i 1, gdy
znajdzie jakikolwiek błąd albo problem do naprawienia, więc ładnie pasuje do pipeline'ów CI.
Pełna lista opcji:
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 robi Code Checker
- sprawdza składnię szablonów Latte oraz plików
.php,.neoni.json - usuwa BOM
- weryfikuje, czy pliki są poprawnym UTF-8
- sprawdza znaki sterujące
- wykrywa zniekształcone komentarze phpDoc (np.
/* @varzamiast/** @var) - zgłasza pliki PHP, którym brakuje deklaracji
declare(strict_types=1) - wymusza tabulatory jako wcięcia w plikach PHP, CSS, JS i TS oraz spacje w YAML-u
- usuwa końcowe białe znaki i puste linie na końcu plików
- normalizuje końce linii do systemowych domyślnych (parametrem
-l)