Closed1
dependanciesとdevDependancies【いまさら】
dependanciesとdevDependanciesのどちらにライブラリを含めるべきか
毎度新規プロジェクトを立ち上げるたびに、例えば@types/~系のパッケージ等、どっちに入れればいいのか迷って、気づけば放置していることが多かったため改めて調べた。
パッケージとして他の開発者に公開する場合
例えば、パッケージを作りそれnpm等でほかの開発者に公開した場合、他の開発者がソースのAPackageClassを使用したいと思ったとき、'some-module'からimportしているSomeTypeを参照したいはず。
import { SomeType } from 'some-module';
export default class APackageClass {
constructor(private config: SomeType) {
// …
}
}
もし'some-module'がパッケージのdevDependanciesに含まれていた場合、開発者に対して公開されていないため参照することができない。
そのため、開発したpackageを公開する、第三者が開発で使用する場合は、利用の想定に応じてdependanciesに含める必要がある。
サービスとしてユーザーに公開するだけの場合
プロジェクトが開発での利用が想定されない場合は、@types系のライブラリはdevDependanciesに記載する。
参考
このスクラップは2024/01/15にクローズされました