Запустите PHP CS fixer с помощью GrumPHP
Я использую GrumPhp, чтобы прослушать мой коммит в моем проекте Symfony: https://github.com/phpro/grumphp
Вот мой конфиг:
parameters:
git_dir: .
bin_dir: vendor/bin
tasks:
phpcsfixer:
config_file: ~
config: sf23
fixers: [psr2, symfony, indentation]
level: psr2
verbose: true
Мой вопрос:
Есть ли способ для Grumphp автоматически запускаться php-cs-fixer
когда я совершаю?
1 ответ
Да, есть! https://github.com/phpro/grumphp/blob/master/doc/tasks.md
Поскольку ваш пост немного старше, вот новый обновленный документ, но вы все равно можете использовать первую версию! https://github.com/phpro/grumphp/blob/master/doc/tasks/php_cs_fixer2.md
Вы можете попробовать эту конфигурацию, но это phpcsfixer version2!:
# grumphp.yml
parameters:
bin_dir: "./vendor/bin"
git_dir: "."
hooks_dir: ~
hooks_preset: local
stop_on_failure: false
ignore_unstaged_changes: false
process_async_limit: 10
process_async_wait: 1000
process_timeout: 60
ascii:
failed: grumphp-grumpy.txt
succeeded: grumphp-happy.txt
tasks:
phpcsfixer2:
allow_risky: false
cache_file: ~
config: ~
rules: ['@Symfony']
using_cache: true
path_mode: ~
verbose: true
Ваш конфиг выглядит нормально, какой вывод? У вас установлен фиксатор cs и настроен ли конфиг grumPHP на путь вашего фиксатора CS? https://github.com/FriendsOfPHP/PHP-CS-Fixer
GrumPHP всегда запускается
php-cs-fixer
с
--dry-run
аргумент, и это поведение не настраивается. Вы можете прочитать почему здесь: https://github.com/phpro/grumphp/issues/110
Но есть способ автоматически запускать
php-cs-fixer
: вам необходимо установить GrumPHP Extra Tasks и заменить
phpcsfixer2
с участием
php_cs_auto_fixerv2
в вашем файле "grumpphp.yml".
Имейте в виду, что на сегодняшний день GrumPHP Extra Tasks несовместим с последней версией GrumPHP, но до 0.17.2.