LoginSignup
0
0

npm run(npm scripts)を経由すると200msから300msぐらい遅いので対策する

Last updated at Posted at 2024-05-11
package.json
  "scripts": {
    "sleep": "sleep 1",
npm run sleep
real	0m1.365s
user	0m0.238s
sys	0m0.066s
sleep 1
real	0m1.008s
user	0m0.001s
sys	0m0.004s

環境によりますが200msから300ms程度オーバーヘッドが増えます
開発者体験のほか、CI/CDにも影響が出てきます。塵も積もればコストとなります

気になる方は自分たちのscriptsで検証してみましょう

対策

npm scriptsを使わず、直接実行しましょう。

単純なコマンドならscriptsに記述したものを直接実行する。
npmでインストールしたパッケージをcliで使う場合、
./node_modules/.bin/各種パッケージで実行できます
もしくは./node_modules/.binにPATHを通しましょう

もちろん高速化と引き換えに運用管理面で手間が増えるのでトレードオフです

npm runを実行する時点で大量にロードが発生することが原因です
技術的な詳細は以下のリンクを確認ください
https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-4/

対策にならない例

pnpm経由にする

検証したところnpmは経由しなくてもJSのcliツール関係のロードが多いことは変わらないので結局時間がかかる

DenoやBunは未検証です

0
0
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
0
0