Yeoman の yo コマンドの開始が遅いyo!

私が使用しているいくつかの node.js 環境 (すべて Windows) の中で、 ほぼ同じ構成の npm パッケージにしているはずであるにもかかわらず、 yo コマンドを実行してからインターフェースが表示されるまでの時間に、大きく開きがあった。 その差、 ほぼ瞬時~数十秒。
正直、 yo コマンド実行する度に数十秒待たされるのは非常にストレスがたまる。

何が問題なのか調べてみた。

遅い原因は ユーザ名取得部分

デバッガを使って、どの部分の実行に時間がかかっているのか調べてみたところ、 fullname モジュール でユーザ名を取得している部分に時間がかかっていることがわかった。

しかもこのユーザ取得部分、 yo コマンド の引数に ジェネレータ 指定して ユーザ名を表示しないようにしても、 ユーザ名取得は必ず実行されるらしい。

では、この fullname モジュール、いったいどうやってユーザ名を取得しているのだろうか…?

ユーザ名取得の方法

続きを読む