package.json インスペクター

package.json を貼り付けると、依存関係セクション・スクリプト・engines・packageManager を一覧でき、上限のないバージョンやレジストリ外の参照も確認できます。読み取るのはマニフェストのテキストだけで、インストール・スクリプト実行・バージョン解決・レジストリへの問い合わせは行いません。

ブラウザ内でローカルに実行
このツールの処理はすべてブラウザ内で行われます。KivTools が入力内容をアップロード・保存したり、外部 API に送信したりすることはありません。
package.jsonマニフェストを貼り付けて、スクリプト・依存関係・engines・よくあるリリース時のリスクを確認します。
依存関係とスクリプト

package.json マニフェストを検査する手順

package.json マニフェストを貼り付けて「ローカルで解析」を押します。テキストはブラウザー自身の JSON パーサーで読み取られ、インストール・スクリプト実行・レジストリへの問い合わせは行わず、マニフェストがページ外へ送信されることもありません。

パッケージレポートには name・version・packageManager・engines・dependencyCounts・scripts の要約、依存関係・スクリプト・パッケージマネージャーの 3 つのタイル、そして指摘した依存関係をバージョン表記のまま並べた一覧が表示されます。

  1. package.json の欄にマニフェストを貼り付けるか、「サンプルを読み込む」を押します。サンプルは zod と vite、test と build のスクリプト、engines.node >=20、packageManager pnpm@9 を含み、license は宣言していません。
  2. 「ローカルで解析」を押します。「サンプルを読み込む」はその場で解析まで行います。
  3. 3 つのタイルを読みます。4 つの依存関係セクションが宣言する依存関係の数、スクリプトの数、packageManager の有無です。
  4. 指摘一覧を確認します。各行は依存関係名と、書かれているとおりのバージョン表記を示すので、^3.23.0 はそのまま表示されます。
  5. 「依存関係とスクリプト」まで下げると、依存関係 1 件につき 1 行(セクション・名前・バージョン)、スクリプト 1 件につき 1 行が並びます。「コピー」で要約 JSON をクリップボードへ入れられます。

レポートが数えるもの・指摘するもの

マニフェストから読み取るもの

dependencies・devDependencies・peerDependencies・optionalDependencies の 4 セクションをこの順で、scripts とあわせて読み取ります。2 つのセクションに同じパッケージがある場合は、セクションごとに 1 行ずつ、計 2 行になります。

要約にはセクションごとの件数とマニフェスト自身のフィールド名がそのまま入るため、貼り付けたファイルと見比べられます。表示はすべて宣言どおりで、範囲の展開・バージョンの解決・フィールドの書き換えは行いません。

指摘する内容

「*」と「latest」は上限のないバージョンとして、レジストリ外や workspace を指す参照(github:・https:・git+・file:・workspace:・link:・portal:)は確認対象として報告します。engines.node の欠落、license の欠落、オブジェクトでないセクションも報告し、最後のものは読み飛ばします。

^1.2.3・~1.2.0・>=1 <2・1.x のようなキャレット・チルダ・比較範囲は指摘しません。範囲自体で上限が決まっているためです。npm: のエイリアスはレジストリ参照として扱います。最新公開バージョンとの比較は行いません。

できないこと

読み取るのはマニフェストのテキストだけです。パッケージのインストール、スクリプトの実行、バージョンの解決、lockfile の読み取り(それは Lockfile Analyzer の役割です)、脆弱性の検査は行いません。

npm のスキーマに対する検証も行いません。overrides・resolutions・workspaces などのフィールドは対象外で、JSON は厳密である必要があります。コメントや末尾のカンマはパーサーのメッセージとともに拒否されます。

最近使ったツール: