package-lock.jsonについて知りたくても聞けなかったこと - Qiita

簡単にまとめると・・・

もっと分かりやすい解説↓

package.jsonでキャレットやチルダで指定すると、インストールする時期によって違うバージョンになる可能性があります。 それを防ぐのがpackage-lock.jsonの役割です。 package-lock.jsonはnpm installを実行したときに自動生成され、特定のバージョンを指定します。 npm install時にpackage-lock.jsonが存在する場合はその内容をみて各ライブラリがインストールされます。 package-lock.jsonをバージョン管理することによりチーム全体で同じバージョンのライブラリがインストールされます。

下記より引用

package-lock.jsonってなに??|mamiya|note

package-lock.jsonの必要性がより分かる記事が下記

package.jsonとpackage-lock.jsonの運用方法について