Запустите 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.

Другие вопросы по тегам