Aufgelöste Pakete und doppelte Versionen prüfen

Fügen Sie eine Lockdatei oder einen Ausschnitt ein, um erkannte Pakete und aufgelöste Versionen aufzulisten. Der Bericht zeigt Pakete, die in mehreren Versionen vorkommen.

Läuft lokal in deinem Browser
Dieses Werkzeug verarbeitet alle Daten lokal in deinem Browser.
LockdateiFügen Sie package-lock.json, pnpm-lock.yaml, yarn.lock oder einen Auszug ein. Der Browser zählt aufgelöste Pakete und doppelte Versionen.
Aufgelöste Pakete

Eine Lockdatei analysieren

Diese Seite liest package-lock.json, pnpm-lock.yaml oder yarn.lock im Browser und zeigt, was die Lockdatei auflöst: wie viele Einträge sie festschreibt, wie viele verschiedene Namen darin stehen und welche Namen auf mehr als eine Version festgelegt sind. Es wird nichts installiert und keine Registry kontaktiert.

Fügen Sie die Datei oder einen Abschnitt ein und drücken Sie Lokal analysieren. Der Bericht nennt das erkannte Format, die Zahl der aufgelösten Einträge und die doppelten Namen; die Tabelle darunter zeigt Name, Version und Quelle jedes Eintrags, und Kopieren legt den JSON-Bericht in die Zwischenablage.

  1. Öffnen Sie package-lock.json, pnpm-lock.yaml oder yarn.lock und fügen Sie die Datei ein, oder fügen Sie den untersuchten Auszug ein.
  2. Drücken Sie Lokal analysieren.
  3. Lesen Sie die drei Kennzahlen: Format, aufgelöste Einträge und doppelte Versionen.
  4. Prüfen Sie die Hinweise auf Namen, die sich in mehr als einer Version auflösen, und suchen Sie sie in der Tabelle.
  5. Drücken Sie Kopieren für den JSON-Bericht oder Leeren, um neu zu beginnen.

Was der Lockfile-Bericht zählt

Die drei erkannten Formate

Eine npm-Lockdatei wird an ihren Feldern lockfileVersion, packages oder dependencies erkannt. Dateien der Version 2 und 3 werden aus der packages-Map gelesen: jeder Schlüssel mit node_modules/ wird ein Eintrag, der Eintrag des Wurzelprojekts ("") zählt also nicht, und ein verschachtelter Pfad wie node_modules/foo/node_modules/bar erscheint als bar. Dateien der Version 1 werden aus der dependencies-Map gelesen.

Eine pnpm-Lockdatei wird an lockfileVersion oder dem packages-Abschnitt erkannt, und jeder Schlüssel /name@version wird ein Eintrag, auch Namen mit Scope wie /@babel/core@7.24.0. Eine klassische Yarn-Lockdatei wird an ihren Selektor-Blöcken erkannt: die version-Zeile wird mit jedem Selektor des Schlüssels gepaart, eine Zeile mit zwei Bereichen ergibt also zwei Einträge, und zitierte Selektoren wie "@scope/pkg@^0.4.0" werden vor der Namensbildung von ihren Anführungszeichen befreit.

Einträge, Duplikate und der Bericht

Ein Eintrag ist eine Auflösung, kein einzelnes Paket: bei npm ein Pfad im Baum, bei Yarn ein Selektor, sodass eine zweifach verschachtelte Abhängigkeit zweimal erscheint. Die Duplikatzählung arbeitet je Name über Versionen: gemeldet wird ein Name, der auf zwei verschiedene Versionen festgelegt ist, nicht dieselbe Version über zwei Selektoren.

Der JSON-Bericht enthält format, resolvedPackages, uniqueNames und namesWithMultipleVersions und lässt sich daher zwischen zwei Branches vergleichen. Die Tabelle zeigt höchstens 500 Zeilen und sagt es, wenn die Lockdatei größer ist; Kennzahlen und Bericht zählen immer alle Einträge.

Was die Seite nicht sagen kann

Es wird nichts abgerufen: die Seite kontaktiert weder npm noch die pnpm-Registry oder Yarn und kann daher nicht prüfen, ob eine Version existiert, ob ein Integritäts-Hash passt oder ob ein Paket veraltet oder von einem Sicherheitshinweis betroffen ist. Ein Eintrag ohne version-Feld erscheint als nicht aufgelöst, was meist auf eine von Hand bearbeitete oder fremd geschriebene Lockdatei hindeutet.

Fehlerhaftes JSON bricht die Analyse mit einem Hinweis und der Position ab; eine YAML-Datei, die keine pnpm-Lockdatei ist, und ein JSON ohne erkannten Paketabschnitt antworten mit derselben Meldung statt mit einer leeren Tabelle. Kopieren vor der Analyse liefert einen Hinweis statt einer leeren Zwischenablage.

Zuletzt verwendet: