Composer post-install-cmd で dev の時のみ実行するスクリプトを定義する

標準

require-dev のパッケージに依存したスクリプトを post-install-cmd 等のフックで dev時のみ実行したい(–no-dev時には実行したくない)ときは [ $COMPOSER_DEV_MODE -eq 0 ] || を実行したいスクリプトの前に付与します。

ネタ元: php – Composer – run scripts only in dev environment – Stack Overflow回答

例: phpcsの installed_paths に cakephp/cakephp-codesniffer を追加する

composer のスクリプト実行時にセットされる環境変数 $COMPOSER_DEV_MODE は、--no-dev フラグがついているときに 0 それ以外は 1 がセットされるようになっています。 Defining scripts – composer

--no-dev 時は、[ $COMPOSER_DEV_MODE -eq 0 ] が真となるので、以降のスクリプトが実行されないという仕組みです。

ide-helper等をpost-*-cmdで実行するときにも使えますね。

コメントを残す

Page optimized by WP Minify WordPress Plugin