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 работает в режиме read-only и только сообщает о найденных проблемах:
code-checker
Чтобы действительно исправить файлы, добавьте --fix. Сначала
сделайте резервную копию файлов или запустите инструмент на чистом
рабочем дереве, чтобы потом можно было проверить изменения через
git diff:
code-checker --fix
Вы можете ограничить сканирование конкретным путём, пропустить файлы или запустить более быструю проверку только синтаксиса:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
В режиме read-only инструмент завершается с кодом 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)