仕様と根拠
読み取る項目
npm の package-lock.json は、lockfileVersion が 2 と 3 のとき packages にパッケージの場所(ルートは空文字、それ以外は相対パス)ごとの version などを持ちます。この道具は packages の各項目の version を、場所をキーに前後で比べます。lockfileVersion が 1 の旧形式は、入れ子の dependencies から場所を組み立てて比べます。
種別の決め方
後にだけある場所は追加、前にだけある場所は削除、両方にあって version が違う場所は更新です。同じ名前のパッケージが複数の場所にあるときは、それぞれ別の行になります。dev・optional・devOptional の印は、後(削除のときは前)の版のものを区分の列に出します。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| npm Docs: package-lock.json | 2026年10月29日 | lockfileVersion 1/2/3・packages(キー "" と相対パス)・version/resolved/integrity/dev/optional/devOptional/link・legacy dependencies。WebFetch で確認 |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 対象は package-lock.json だけです。yarn.lock や pnpm-lock.yaml は形式が違うため、読み込めません。
- version の違いだけを比べます。resolved(取得元)や integrity(ハッシュ)だけが変わった場合は差分に出ません。
- link(シンボリックリンク)の項目はバージョンを持たないため比べません。ワークスペースの依存の扱いは、npm のバージョンによって書き方が異なります。
ご利用にあたって
- 依存の更新を取り込む前に、変更履歴や脆弱性情報を別に確認してください。
- このツールはバージョンの違いを見るだけで、安全性の評価はしません。