package-lock.jsonとは?
package-lock.jsonの解説。何をするもので、CI/CDでどう重要かを含みます。
package-lock.jsonは、npmプロジェクトの正確で完全に解決された依存関係ツリーを記録します。
何であるか
直接および推移的なすべての依存関係を特定のバージョンとインテグリティハッシュに固定するため、インストールはマシン間で再現可能になります。
CI/CDで重要な理由
CIはnpm ciを使います。これはpackage-lock.jsonから厳密にインストールし、package.jsonと同期していなければ失敗します。lockfileをcommitすることこそが、CIのビルドを決定論的にするのです。
重要なポイント
- package-lock.jsonは正確な依存関係ツリーを固定します。
npm ciはそこから厳密にインストールします。- 再現可能なCIのためにcommitしましょう。