Peck - это мощный инструмент CLI, предназначенный для выявления ошибок формулировки или написания в вашей кодовой базе: имена файлов, имена классов, имена методов, имена свойств, документы и многое другое
Бывает часто такая ситуация, что неправильно можем называть имя класса, имя переменной или название файла, не всегда это получается заметить в силу разных факторов, а потом из этого в проекте могут быть опечатки, что могут приводить к complexity кода и путаницы в прочтении
Поэтому такой инструмент сможет решить данную проблему, так как его можно спокойно внедрить в ваш pipline, что позволит переложить процесс проверку орфографии на машину - облегчая вам жизнь
Процесс установки
Для установки пакета вам потребуется php 8.2 и выше, а так же GNU Aspell
GNU Aspell — это свободная программа для проверки орфографии, разработанная для замены Ispell и служащая стандартным инструментом для проверки правописания в операционной системе GNU
Добавляем данную утилиту в наш Dockerfile с php:
Пример
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
unzip \
librabbitmq-dev \
libpq-dev \
aspell \
aspell-en \
supervisor
И уже к необходимым пакетам добавили aspell
и aspell-en
aspell-en - содержит файлы для проверки орфографии для английского языка
Устанавливаем пакет через composer:
Пример
composer require peckphp/peck --dev
Инициализируем конфиг для пакета:
Пример
./vendor/bin/peck --init
После Инициализации появится файл peck.json
:
Пример
{
"preset": "laravel",
"ignore": {
"words": [
"config",
"namespace"
],
"paths": [
"app/MyFolder",
"app/MyFile.php"
]
}
}
Пример, который прилагают разработчики
Описание ключей конфига:
words - указываем те слова по которому не будет идти проверка орфографии
paths - указываем пути по котором будет игнорироваться папки или файлы
в моем проекте пришлось добавить больше слов для игнора:
Пример
{
"preset": "laravel",
"ignore": {
"words": [
"php",
"dto",
"sha",
"centrifugo",
"js",
"postcss",
"phpcs",
"makefile",
"cors",
"filesystems",
"websocket",
"favicon"
],
"paths": [
"/public/vendor",
"/public/fonts",
"/public/js",
"/lang/vendor"
]
}
}
Так же мы можем переместить наш конфиг в другое место и явно его указать, используя команду с флагом --config
где его аргументом будет путь до файла
Пример
./vendor/bin/peck --config relative/path/to/peck.json
Теперь можем запустить пакет для проверки:
Пример
./vendor/bin/peck
У меня нашло в проекте ошибку в названии файла:
Пример
Misspelling ./documentation/code_standart.md: 'standart'
Did you mean: standard, standout, standards, stander
Так же для удобства добавить данную команду в скрипты composer
:
Пример
{
"scripts": {
"word-check": "@php vendor/bin/peck",
}
}
И уже можно данную проверку вызывать командой - composer word-check
Итог
Хоть у данного пакета нет стабильного релиза - все ровно можно его пробовать устанавливать в ваши проекты и проверять на корректность выражений в вашей кодовой базе
Решать уже вам использовать его или нет, самое главное повышать качество кодовой базы используя те инструменты, которые вы считаете нужными
В свой проект так же внедрил данный инструмент - Шаблон laravel + frankenphp
GitHub - буду рад вашей подписки на меня в гитхабе
Благодарю вас, что прочитали данную статью.