つぶやきpackage.json
package.json とは
- 自分のNode.jsプロジェクトが依存する(参照したり、利用したりする)パッケージの管理に主に用いられるファイルです。
- 一般的に、パッケージレジストリ(npm, apt, pip...) ではパッケージ同士が「依存のネットワーク」を構成しています。例えば babel-cli の依存マップはこんな感じ。
dependencies と devDependencies
# dependencies に追加 $ npm install express # devDependencies に追加 $ npm install --save-dev nodemon
- パッケージの依存関係を記入するためのプロパティとして、dependencies と devDependenciesがあります。
この2つには以下の違いがあります。
npm install に --production が渡されたり環境変数が NODE_ENV=production にセットされているとき、devDependenciesはインストールされない
そのプロジェクトがnpmパッケージとしてインストールされたとき、dependenciesのパッケージは一緒にインストールされるが、devDependenciesはインストールされない
(引用元:npmのpackage.jsonと依存関係を理解しよう! - bagelee(ベーグリー))
- つまるところ、開発・テストのシーンでのみ使うパッケージはdevDependenciesに追加するのが望ましいです。
主なプロパティ(随時更新)
lint-staged
- コミット前のファイルのLintを強制できるプロパティです。
設定例:
"lint-staged": { "linters": { "*.js": "eslint --max-warnings=0", "*.ts": [ "eslint --max-warnings=0", "tslint" ], "*.scss": "stylelint", },