pnpm
performant npm
同じファイルを複数のプロジェクト間で共有する
これによってinstallが高速になり、disk容量的にも効率的になる
npmがprojectごとにデカデカnode_moduleを置く問題の解消
$ pnpm install
$ pnpm add <pkgs>
-D: dev deps
$ pnpm <cmd>
$ npm run <cmd>
npxと同様のやつ
Nix
$ nix-shell -p nodePackages.pnpm
node_modules/の構造がnpm/yarn利用時と異なる
npm/yarnではあらゆるpackageがフラットにnode_modules/配下に置かれる
そのため、package.jsonに書いていないpackageをimportできてしまう
例えば、package.jsonにAと書いており、Aが内部でBを使っている時、
import B from 'B'としてもerrorにならず使えてしまう
今後Aが依存するBのversionを変更した際に問題になる
こんなこと普通しないのであまり問題にならんけどmrsekut.icon
pnpm利用時のnode_modules/直下には、自分でpackage.jsonで指定したものだけが並ぶ
nodeのversionの関係
チームメンバーとの関係
参考
まとまっている。
個人開発ならpnpmがオススメとのこと