Надоело изо дня в день защищать качество кода снова и снова? 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