GrumPHP
Надоело изо дня в день защищать качество кода снова и снова? GrumPHP сделает это за вас!
GrumPHP — это плагин для composer, который регистрирует git хуки в вашем репозитории пакетов. Когда кто-то фиксирует изменения, GrumPHP запускает тесты для этих коммитов. Если тесты не будут пройдены — вы не сможете зафиксировать свои изменения.
Этот удобный инструмент не только улучшит вашу кодовую базу, но и научит ваших коллег писать чистый код, следуя лучшим рекомендациям, принятым в вашей команде.
GrumPHP уже имеет из коробки встроенный набор общих задач, поэтому вы сможете использовать его сразу с минимальной конфигурацией.
Установите GrumPHP самостоятельно и раскройте всю его мощь!
Демонстрация
Установка
Так как GrumPHP — это плагин для composer, то установить его можно , добавив в качестве зависимости:
composer require --dev phpro/grumphp
После установки пакета GrumPHP прикрепит несколько git хуков к вашему проекту. А в логе composer вы увидите следующее оповешение:
Watch out! GrumPHP is sniffing your commits!
Настройка
Настраивается GrumPHP при помощи файла grumphp.yml
или grumphp.yml.dist
в корневой директории вшаего проекта.
# grumphp.yml
parameters:
bin_dir: "./vendor/bin"
git_dir: "."
hooks_dir: ~
hooks_preset: local
stop_on_failure: false
ignore_unstaged_changes: false
hide_circumvention_tip: false
process_async_limit: 10
process_async_wait: 1000
process_timeout: 60
ascii:
failed: grumphp-grumpy.txt
succeeded: grumphp-happy.txt
tasks:
ant: ~
atoum: ~
behat: ~
brunch: ~
clover_coverage: ~
codeception: ~
composer: ~
composer_require_checker: ~
composer_script: ~
deptrac: ~
doctrine_orm: ~
file_size: ~
gherkin: ~
git_blacklist: ~
git_branch_name: ~
git_commit_message: ~
grunt: ~
gulp: ~
infection: ~
jsonlint: ~
kahlan: ~
make: ~
npm_script: ~
phan: ~
phing: ~
php7cc: ~
phpcpd: ~
phpcs: ~
phpcsfixer: ~
phpcsfixer2: ~
phplint: ~
phpmd: ~
phpmnd: ~
phpparser: ~
phpspec: ~
phpstan: ~
phpunit: ~
phpunitbridge: ~
phpversion: ~
progpilot: ~
psalm: ~
robo: ~
securitychecker: ~
shell: ~
xmllint: ~
yamllint: ~
testsuites: []
extensions: []
Совместимость
GrumPHP работает с PHP 5.6 и выше и протестирован со следующими git клиентами:
- CLI Unix
- CLI Mac
- CLI Windows
- PhpStorm Git
- Atlassian SourceTree
- Syntevo SmartGit