旧形式(v1)と v3 で中身が同じ

lockfileVersion 1 の入れ子 dependencies と、v3 の packages で同じパッケージを表した例です。差分はなく、バージョン違いの警告が出ます。

入力

変更前の package-lock.json

{"lockfileVersion":1,"dependencies":{"x":{"version":"1.0.0","dependencies":{"y":{"version":"2.0.0"}}}}}

変更後の package-lock.json

{"lockfileVersion":3,"packages":{"":{},"node_modules/x":{"version":"1.0.0"},"node_modules/x/node_modules/y":{"version":"2.0.0"}}}

結果

エラー 0 件・警告 1 件・情報 3 件

指摘(エラー・警告・情報)

  • 情報 変更前 packages がないため、旧形式の dependencies(入れ子)から読みました。
  • 警告 全体 lockfileVersion が違います(変更前 1 / 変更後 3)。npm のバージョンが違うと、書き方の違いで差分が増えることがあります。
  • 情報 全体 追加・削除・バージョン変更はありませんでした(resolved や integrity だけの違いは比べていません)。
  • 情報 全体 パッケージの場所(node_modules のパス)ごとに比べています。同じ名前が複数の場所にある場合は、それぞれ別の行になります。
追加0 件
更新0 件
削除0 件
変更前・変更後のパッケージ数2 件・2 件

追加・削除・更新の表

追加・削除・更新の表
種別パッケージ場所変更前変更後区分

検算(この結果になる理由)

v1 の dependencies を入れ子から x と x の下の y に展開すると、v3 の node_modules/x と node_modules/x/node_modules/y に一致します。version も同じなので差分は 0 件で、lockfileVersion の違いだけが警告になります。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

  • 依存の更新を取り込む前に、変更履歴や脆弱性情報を別に確認してください。
  • このツールはバージョンの違いを見るだけで、安全性の評価はしません。

ほかの入力例