🚀

PHP CS Fixerで複数ファイルをコマンドで指定する方法

2022/02/19に公開

少しわからなかったので書いておきます。

バージョン

3.6.0

何をしたかったのか

CI等で変更ファイルだけcsチェックしたかったので、ファイルを複数指定する方法を調べていた。

何故かうまく行かないやつ

$ vendor/bin/php-cs-fixer fix --dry-run --path-mode=intersection aaa.php bbb.php

Console/Kernel.php

In ConfigurationResolver.php line 557:

  For multiple paths config parameter is required.


fix [--path-mode PATH-MODE] [--allow-risky ALLOW-RISKY] [--config CONFIG] [--dry-run] [--rules RULES] [--using-cache USING-CACHE] [--cache-file CACHE-FILE] [--diff] [--format FORMAT] [--stop-on-violation] [--show-progress SHOW-PROGRESS] [--] [<path>...]

色々やってみたところ、なぜかわからないが複数ファイルを指定するときは必ずconfig値を入れておかないと駄目みたい。

$ vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php --dry-run --path-mode=intersection aaa.php bbb.php

Loaded config default from ".php-cs-fixer.dist.php".
Using cache file ".php-cs-fixer.cache".

Checked all files in 0.151 seconds, 12.000 MB memory used

これならうまくいく。なんでだろーね。
とりあえず困ったのでメモとして残しておきます。

Discussion