使い方
package-lock.json・yarn.lock・pnpm-lock.yaml のファイルを選ぶか、テキストを貼り付けます。形式は自動で判定します。
「依存関係ツリー」で直接の依存から展開し、パッケージ名で検索します。「なぜ入っているか」を押すと、直接の依存から対象までの経路を表示します。
「重複」で、同じパッケージの複数バージョンと、それぞれを引き込んでいるパッケージを確認します。
「差分」では更新後の lockfile も選び、「解析する」を押します。上げた・下げた・追加・削除・取得元・integrity の変化を一覧します。
「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 の取得元やハッシュの変化を見たい
対応形式
読み込み
出力
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| 依存関係のツリー(直接・間接の区別) | 一部対応 | 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 の差分を見るには?
なぜこのパッケージが入っているのか分かりますか?
yarn.lock や pnpm-lock.yaml も読めますか?
脆弱性やライセンスも分かりますか?
integrity が変わったとは、どういうことですか?
lockfile は外部に送られますか?
関連ツール
テキスト・コード 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 の変数展開などツール固有の細かい仕様までは判定しません。
最終更新: