Hail2u.net

npm-quick-run

npm-quick-runというツールを使い始めた。npm runをラップして、引数に与えた文字列とマッチするnpmスクリプトを実行してくれるというもの(わかりづらい)。スクリプト名の補完を自動でやってくれるというと近く、使用感的にはGitのautocorrect機能と似たものになる。

例えばdeployというスクリプトが登録されていたとすると、通常は以下のように実行することになる。

$ npm run deploy

npm-quick-runでは、他にdで始まるスクリプトがなければ以下のように短縮することができる。

$ nr d

スクリプトへ引数も渡せるので「--って打つの面倒くさい……」と考えていた僕のような人にはかなりアピールできるだろう。例えばこのdeployスクリプトで--forceというオプションが使えるとすると、通常は以下のように実行することになる。

$ npm run deploy -- --force

npm-quick-runでは、スクリプトの引数を区切る--が不要になり以下のように短縮することができる。

$ nr d --force

また、gulpやGruntをnpm runを通して実行しようとすると、すぐにscriptsフィールドに10くらいスクリプトが登録されることになるが、その抑制にも一役買う。これだとgulpやGruntをラップするrunというスクリプトさえ作っておけば、以下のように実行できる。

$ nr r task

これならマイナーなタスクの実行もつらくないので、それらはscriptsフィールドへ登録しなくても良くなる。もちろんgulpやGruntをグローバルへインストールする必要もない。


あまりプロジェクトへは影響を与えないので、個人で勝手に使って楽をするような形なのも良い。プロジェクトのスクリプト名をこれに最適化するようになってしまう可能性はあることには気を付けた方が良いだろう。シェルでエイリアスを作ることと比べると優位点は少ないが、シェルをあまりいじりたくない人にはこちらの方が向いているはずだ。

ただ依存性はかなり高いと考えられるため、無条件に薦められるようなものでもない。主にこれを通してnpmスクリプトの整理や理解を徐々に進めていくというような使い方が良いのかなと考えている。ちゃんと整理されれば必要なくなるだろう。