package.jsonのoptionalDependencies
optionalに依存するpackageを指定する
このpackageをinstallできなかったり、install時に失敗しても、build全体の失敗にはならない
ユースケース
例えばNext.jsのpackage.jsonにはoptionalDependenciesとしてsharpが指定されています。
Next.jsではImage Optimization (next/image)の部分でsharpに依存していますが、この機能を使わないならsharpがインストールされていなくても問題ありません。ref でもこれpackage.json読んだだけじゃ、optionalDependenciesに含まれているものが、何を使わなければokなのかわかりづらそう
上記の例の、「next/imageを使わないならok」という判断が難しそう
$ npm i --no-optional
これらの依存関係をskipする