Nette Code Checker
Code Checker перевіряє ваші вихідні файли на формальні недоліки, такі як невидимий BOM, керуючі символи, пошкоджене кодування або неправильний синтаксис файлів PHP, Latte, NEON, JSON та YAML, і вміє виправляти їх автоматично.
Встановлення
Встановіть його глобально за допомогою Composer:
composer global require nette/code-checker
Переконайтеся, що ваш глобальний каталог Composer bin знаходиться у
вашому $PATH. Команда
code-checker тоді доступна звідусіль, у будь-якій операційній
системі.
Альтернативно, встановіть його як окремий проєкт:
composer create-project nette/code-checker
Він потребує PHP 8.0 або вище.
Використання
За замовчуванням Code Checker працює в режимі лише для читання і тільки повідомляє про знайдені проблеми:
code-checker
Щоб дійсно виправити файли, додайте --fix. Спочатку зробіть
резервну копію файлів або запустіть його на чистому робочому дереві,
щоб потім переглянути зміни за допомогою git diff:
code-checker --fix
Ви можете обмежити сканування конкретним шляхом, пропустити файли або запустити швидшу перевірку лише синтаксису:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
У режимі лише для читання інструмент завершується з кодом 0,
коли все гаразд, і 1, коли знайдено будь-яку проблему, тож він
чудово вписується в CI-конвеєри.
Повний список опцій:
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
Що робить Code Checker
- перевіряє синтаксис шаблонів Latte та файлів
.php,.neonі.json - видаляє BOM
- перевіряє, що файли є коректними UTF-8
- перевіряє наявність керуючих символів
- виявляє неправильно записані phpDoc коментарі (напр.
/* @varзамість/** @var) - вимагає відступи табуляцією у файлах PHP, CSS, JS та TS, і пробілами в YAML
- видаляє кінцеві пробіли та порожні рядки в кінці файлів
- нормалізує закінчення рядків на системні (з параметром
-l)