項目65 TypeScriptと@typesはdevDependenciesに追加する
package.jsonのdependenciesとdevDependenciesの違い
dependencies
コードの実行に必要なパッケージ
自分のコードをnpmに公開した場合、それがインストールされる際にdependenciesの依存パッケージもインストールされる
これを推移的依存関係と呼ぶ
devDependencies
コードの実行時に必要ないパッケージ
主にコードの開発やテスト時に必要なパッケージ
devDependenciesには推移的依存関係はない
peerDependencies
実行時に必要だが、その依存性の管理の責任を負いたくないパッケージ
パッケージのバージョンを利用者に委ねたいときに追加する
Reactコンポーネントを公開する場合、コンポーネント側でReactバージョンを指定すると、利用者はそのバージョンのReactを受け入れる必要がある。これを解消する仕組み
hr.icon
TypeScriptの型は実行時には削除されるため、TypeScriptに関するパッケージはdevDependenciesに追加する
TypeScriptそのものも、devDependenciesに追加する
開発者に特定のバージョンをインストールさせる手間が省ける
プロジェクトのセットアップが一手間増えるため
型の依存パッケージである@typesもdevDependencisに含める
#TypeScript