LoginSignup
42
27

More than 5 years have passed since last update.

npm installの無駄な待ち時間を圧倒的にカイゼンする方法

Last updated at Posted at 2016-03-25

npm installの待ち時間長いですよね。
ところで、時間といえば相対性理論、そう、アインシュタインです。
アインシュタインはかつて、こう語りました。

可愛い女の子と一時間一緒にいると、一分しか経っていないように思える。
熱いストーブの上に一分座らせられたら、どんな一時間よりも長いはずだ。
相対性とはそれである。
アインシュタイン

つまり、npm install時にポプテピピックの4コマが続々と表示されれば体感時間は圧倒的短くなり最高ってことですよね?
こんな風に。

npm2.gif

便利!!!

github: akameco/npm-popute

インストール

$ npm i -g npm-popute

npm-poputeというCLIコマンドを提供します。
npmコマンドと同様に使うことでき、installまたはiのときだけプログレスバーの代わりのポプテピピックの漫画を表示します。

$ npm-popute install --save react react-dom

また、npm install以外のコマンドはすべて標準のnpmのコマンドとして動作するので、aliasすると便利?です。

alias npn='npm-popute'

実装

やっていることは単純で、npmコマンドをchild_process.spawnでフックし、コマンドラインオプションがiまたはinstallのときにポプテピピックの画像を表示するようにしています。

iTerm2の最新版より画像の表示がサポートされるようになったのでそれを利用しています。
残念ながらiTerm2以外のターミナルを使ってる人は使えません。
画像を表示するnode.js製コマンドラインツールについては以下の記事にまとめているので参照してください。
iTerm2の新機能を使ってターミナルにポプテピピックの4コマをランダムに表示する - Qiita

まとめ

gifiにインスパイアされてカッとなって書いたけど、どう見ても著作権的にアウトっぽいので、おそらく今流行りのnpm unpublishすることになると思います。

指定暴力団npm.png

コードはgithubにあるのでプルリクやissue等よろしくお願いします。
github: akameco/npm-popute

参考

iTerm2の新機能を使ってターミナルにポプテピピックの4コマをランダムに表示する - Qiita
vdemedes/gifi: watch GIFs while running npm install

42
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
27