Peck — утилита для ваших PHP проектов

от автора

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 — буду рад вашей подписки на меня в гитхабе

Благодарю вас, что прочитали данную статью.


ссылка на оригинал статьи https://habr.com/ru/articles/941344/