lockfile 比較・依存関係ツリー

2 つの lockfile を比べて、どのパッケージが追加・削除・更新されたかを表示します。あるパッケージがなぜ入っているか(入ってくる経路)と、同じパッケージの複数バージョンも分かります。ファイルはブラウザの外へ出ません。

端末内で処理・アップロードなしスマホ対応オフライン対応

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

更新前・単独の lockfile
未判定
貼り付けは 200 万文字まで

使い方

  1. package-lock.json・yarn.lock・pnpm-lock.yaml のファイルを選ぶか、テキストを貼り付けます。形式は自動で判定します。

  2. 「依存関係ツリー」で直接の依存から展開し、パッケージ名で検索します。「なぜ入っているか」を押すと、直接の依存から対象までの経路を表示します。

  3. 「重複」で、同じパッケージの複数バージョンと、それぞれを引き込んでいるパッケージを確認します。

  4. 「差分」では更新後の lockfile も選び、「解析する」を押します。上げた・下げた・追加・削除・取得元・integrity の変化を一覧します。

  5. 「CSV で保存」で差分の全件を表計算ソフトに読み込めます。

できること

直接と間接を分けたツリー

dependencies・devDependencies・optionalDependencies・peerDependencies を区別して、プロジェクトの直接の依存から展開できます。peer は、インストールされているときだけ表示します。

経路で示す「なぜ入っているか」

対象のパッケージから、それを引き込んでいる依存をさかのぼり、直接の依存までの最短の経路を 1 本示します。

形式を自動判定

npm の lockfileVersion 1・2・3、yarn v1 と Berry(v2 以降)、pnpm の 5・6・9 を読みます。対応外の形式は理由を表示します。

semver で比べる差分

同じパッケージのバージョンを semver の大小で比べ、上げた・下げたを分けます。メジャーの上げは警告の色で目立たせます。

integrity の不一致を警告

バージョンは同じなのに integrity(ハッシュ)が違う場合は警告します。取得元が別のホストに変わった場合も示します。

完全ローカル

解析は Web Worker でブラウザ内だけで行います。lockfile の内容もファイル名も送信せず、解析ログにも残しません。

こんなときに

  • npm install の前後で package-lock.json がどう変わったかを確認したい
  • ある間接の依存がなぜ入っているのかを、経路で確かめたい
  • Dependabot や Renovate の更新 PR で、実際に上がったバージョンを一覧したい
  • 同じライブラリが複数のバージョンで入っていないかを調べたい
  • yarn や pnpm のプロジェクトで、lockfile の取得元やハッシュの変化を見たい

対応形式

読み込み

package-lock.json(lockfileVersion 1・2・3)yarn.lock(yarn v1 の形式、yarn v2 以降の YAML 形式)pnpm-lock.yaml(lockfileVersion 5・6・9)

出力

画面の一覧差分の CSV(UTF-8・BOM 付き)

対応状況

機能対応補足
依存関係のツリー(直接・間接の区別)一部対応npm v1 と yarn v1 は直接の依存を記録していないため区別できません
「なぜ入っているか」(入ってくる経路)対応最短の経路を 1 本示します。全経路は示しません
同じパッケージの複数バージョン対応—
2 つの lockfile の差分(追加・削除・上げた・下げた)対応—
取得元(resolved)と integrity の変化一部対応形式が違う 2 つの lockfile では取得元は比べません
脆弱性の照会非対応照会には外部との通信が必要なため行いません
ライセンスの調査非対応—
package.json だけからの解析非対応lockfile を読みます
パッケージのインストールや lockfile の生成非対応—
オフラインでの利用対応一度開いたあとは通信なしで動作

制限・注意事項

  • ファイルは 1 つ 50 MB まで。貼り付けは 200 万文字までです。
  • パッケージが 10 万件を超える lockfile は読み込みを止めます。
  • 画面に出す件数は、検索が 200 件、重複が 300 パッケージ、差分が 5,000 行までです。CSV は差分の全件を出力します。
  • lockfile の内容だけを見ます。インストール先の node_modules や、実際に動いているバージョンは見ません。
  • npm の workspace へのリンク(link)は一覧に含めません。

プライバシーと安全性

読み込んだ lockfile は、お使いのブラウザの中だけで解析されます。サーバーへの送信・保存は行わず、ファイル名や内容が解析ログに記録されることもありません。ページを閉じると内容は消去されます。

よくある質問

package-lock.json の差分を見るには?
差分タブで、更新前と更新後の 2 つの package-lock.json を選び、「解析する」を押します。追加・削除・上げた・下げたパッケージを一覧し、メジャーの上げは警告の色で示します。
なぜこのパッケージが入っているのか分かりますか?
はい。依存関係ツリーでパッケージ名を検索し、「なぜ入っているか」を押すと、直接の依存から対象までの最短の経路を表示します。
yarn.lock や pnpm-lock.yaml も読めますか?
読めます。形式は自動で判定します。yarn v1 と npm v1 は直接の依存を記録しないため、直接と間接の区別はできません。
脆弱性やライセンスも分かりますか?
いいえ。脆弱性の照会には外部との通信が必要なので行いません。ライセンスも調べません。これらは専用のツールで確認してください。
integrity が変わったとは、どういうことですか?
バージョンが同じなのに integrity(ハッシュ)が違う場合に警告します。再公開やミラーの違い、改ざんの可能性があるため、取得元とあわせて確認してください。
lockfile は外部に送られますか?
送られません。解析はすべてブラウザの中で行われ、LIBRA Works のサーバーや第三者に送信されることはありません。

テキスト・コード Diff

変更前と変更後を貼り付けるかファイルをドロップするだけで、追加・削除された行と、行の中で変わった単語まで色分けして表示します。結果は unified 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。

アップロードなし

JSON 整形・検証(JSON Studio)

JSON を貼り付けるだけで整形・1 行化・構文チェック。エラーは「何行目の何が悪いか」まで表示し、コメントや末尾カンマは自動修復できます。データは端末の外へ送信しません。

アップロードなし

YAML / TOML 検証・整形・変換(YAML / TOML Studio)

YAML・TOML・JSON を貼り付けるだけで構文チェック・整形・相互変換。エラーは行と列で示し、「no が false になる」などの型の落とし穴と、変換で失われるものを事前に警告します。データは端末の外へ送信しません。

アップロードなし

Docker Compose Studio

docker run のコマンドを compose.yaml に、compose.yaml を docker run に変換します。compose.yaml は構文・Compose Specification・よくある誤りを調べ、セキュリティ上の確認点も一覧にします。コンテナの起動やイメージの取得はせず、入力は端末の外へ送りません。

アップロードなし

Dockerfile Studio

Dockerfile を貼り付けると、構文・ステージ・よくある誤りを調べ、秘密らしい値や curl | sh などの確認したい点を一覧にします。整形と、Node.js・Python・Go・静的サイト・Java の雛形の生成もできます。ビルドはせず、入力は端末の外へ送りません。

アップロードなし

.env スタジオ(.env Studio)

.env を貼る・ドロップすると、キーと値を表で確認でき、重複・空の値・書式の誤りを行番号つきで指摘します。値は既定で伏せ、.env と .env.example を比べたり、.env.example・Kubernetes の Secret に書き出したりできます。.env の書き方(dotenv 形式)を確かめたいときに使い、docker compose の変数展開などツール固有の細かい仕様までは判定しません。

アップロードなし

最終更新: