Published on

package.jsonのscriptを使って複数のコマンドを実行させる方法

Authors
  • avatar
    Name
    ssu
    Twitter

package.jsonでdeployをする前に、buildしたいのような場合があると思います。 そのような時に、terminalでわざわざ下記のように2回実行するのは手間かと思います。

そこで、このような場合にコマンドを一つにまとめる方法を紹介します。

yarn run export yarn run deploy

単純にprepostを使うと前後で依存するものをコマンドの前後のタイミングで実行することができます。 例えば、next.jsとfirebaseを使っているとして、buildして、deployのコマンドをしたら、 デプロイができるとします。

"scripts": { "build": "next build", "deploy": "firebase deploy", },

これを下記のようにするとyarn run deployをすると、preがついたものを先に実行してから、 yarn run deployが走るようになります。

"scripts": { "predeploy": "next build", "deploy": "firebase deploy", },

このようにして、あるコマンドの前に他のコマンドを実行したい場合は、pre{コマンドのname}をすることで、実現することが可能となります。

コマンドの後に何か実行したい場合には、post{コマンドのname}を使用することで、コマンド実行後に任意のコマンドを実行することができます。