composer-pluginの一種なんだけど、ちょっと面白いなと思った。
インストール(グローバルでもいいし、パッケージローカルでもOK)すると、composerのサブコマンドに、qa:
から始まるものが色々生える。
$ composer global require webysther/composer-plugin-qa
webysther/composer-plugin-qa
自体は、特に何かをrequireしているわけではなく、このサブコマンドを生やすという機能単体で実装されている。
composer qa:test
がPHPUnitに対応していて、ローカルにインストールされた vendor/bin/phpunit
と同等の意味になる。
他にもphpcbf, phpcsなどのツールも、composerのサブコマンドから叩ける用にしてくれる。
vendor/bin/phpunitの代替手段 - Qiita
scriptsで頑張ってcomposer test
などのサブコマンドを生やしている人も多いと思うんだけど、まあプロジェクトごとにセットアップし直さないと駄目なので面倒くさかった。
こうやってプラグインとして切り出していけば、composer-scriptsの設定も再利用しやすくなってすごい便利、最高な感じだ。