インストールサイズで見るnpmパッケージベスト10

インストールサイズで見るnpmパッケージベスト10:

nodejs界の巨匠、sindresorhus先輩の作品にこんなmoduleがあります。

got - npm

httpリクエストして取得するというmoduleですが、READMEにこんな一文があります。

Got is a human-friendly and powerful HTTP request library.

It was created because the popular request package is bloated: Install size

訳: Gotは人間にやさしく強力なHTTPリクエストライブラリです。

これは、一般的なリクエストパッケージが膨れているために作成されました。
それと共にこんなbadgeが張られています。

install size


Package Phobia

Package Phobiaはnpmに上がっているmoduleのサイズを計測してくれるwebサービスです。

先ほどの例に上げたpopular request packageのインストールサイズは4.46MBということになります。

ちなみに先輩のgotはinstall sizeです。


色々調べてみる

npm rankはnpmパッケージのランキングを自動集計して掲載しているgistです。

Top 1000 most depended-upon packagesという被依存数が多いパッケージのランキング上位から抜粋、Package Phobiaのバッジを張ってみました。

2018/12/08現在のランキングです。


  1. install size lodash - 52071

  2. install size request - 30113

  3. install size chalk - 27947

  4. install size commander - 24117

  5. install size express - 21873

  6. install size async - 20646

  7. install size react - 20184

  8. install size debug - 17892

  9. install size underscore - 15641

  10. install size bluebird - 15605

  11. install size moment - 15604

  12. install size fs-extra - 14409
こうしてみるとrequestデカいですね。逆にreactは意外とコンパクト。
bluebirdとかfs-extraは無駄にデカいと勝手に思い込んでたけどそうでもない。(個人の感想です)

一番驚いたのはlodash1.34MBに対してunderscoreが109KBということ。


1340÷109 = 12.293577982です。12倍のサイズですlodashさん。

ちなみにlodashは個別にインストールできます。lodash.map単独だと

install sizeです。

そして某CDNサービスでlodash.min.jsを見てみたら72KBでした。


なんだろ。npm経由だとなんでこんなにデカくなるんだろ。


あとがき

webpackとか使うと手軽に依存してしまってプロジェクトが肥大化してしまいますが、ちょっとの工夫で削減できるはず。気をつけよっと��

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)