Zum Inhalt springen
100% lokal

package.json Abhängigkeitsübersicht

Teile eine package.json in produktive, entwicklungs-, peer- und optionale Abhängigkeiten mit ihren Versionsbereichen auf.

Eingabe
Ausgabe

package.json Abhängigkeitsübersicht

Füge den Inhalt einer package.json ein und dieses Tool sortiert jede Abhängigkeit in ihre Gruppe — produktiv, entwicklung, peer und optional — und listet den Versionsbereich neben jedem Paketnamen auf. Es ist dafür konzipiert, ein unbekanntes Repository zu durchsuchen und die Abhängigkeiten zu sehen, ohne durch ein JSON-Dokument zu scrollen, oder um eine Pull-Request zu überprüfen, die die Abhängigkeitsliste berührt.

Wähle die Sortierung der Liste: gruppiert nach Typ oder alphabetisch flach. Gruppenzahlen zeigen auf einen Blick, wie viele Pakete in jedem Bucket stehen. Mit "Versionsbereiche erklären" wird eine Kurznote zu jeder Zeile hinzugefügt, die beschreibt, welche Versionen ihr Bereich zulässt — Caret erlaubt minor und patch updates, Tilde nur patch updates, eine genaue Version wird nicht aktualisiert und ein nackter Asterisk akzeptiert alles. Zwei weitere Kontrollkästchen geben Einblick in Risiken: eines markiert Pakete, die auf eine genaue Version oder völlig unkontrolliert gelassen werden, das andere markiert jeden Paketnamen, der mehrfach über Gruppen hinweg vorkommt — normalerweise ein Zeichen, dass der Eintrag bereinigt werden muss. Ein separates Kontrollkästchen fügt die Felder engines und packageManager an, falls vorhanden.

Die Ausgabe wird als einfache ausgerichtete Tabelle, als gruppierte Klartextliste oder als Markdown-Tabelle zum Einfügen in eine README oder eine Pull-Request-Beschreibung angezeigt. Das Tool liest nur die Felder, die es benötigt, und ignoriert den Rest. Das Einfügen einer vollständigen package.json mit scripts und Metadaten funktioniert genauso wie das Einfügen einer gekürzten Version.

Alles läuft lokal in deinem Browser ab. Deine package.json wird niemals hochgeladen — das ist wichtig, wenn sie private oder unveröffentlichte Pakete nennt. Kopiere das Ergebnis, lade es als .txt-Datei herunter oder sende es direkt an die Eingabe eines anderen Tools, um damit weiterzuarbeiten.

Häufige Fragen

Welche Felder liest es aus der package.json?
dependencies, devDependencies, peerDependencies, optionalDependencies und — wenn die Option aktiviert ist — engines und packageManager. Alle anderen Felder, einschließlich scripts und Metadaten, werden ignoriert.
Was gilt als "fixierte" oder "unkontrollierte" Version?
Eine fixierte Version hat keinen Bereichsoperator wie "4.17.21" — sie wird bei der Installation nicht aktualisiert. Ein Wildcard ist "*" oder eine leere Zeichenkette, die jede Version akzeptiert. Die flag option markiert beide, da sie an den extremen Enden des gleichen Problems stehen: keine Kontrolle darüber, welche Version installiert wird.
Warum würde ein Paket in mehreren Gruppen auftauchen?
Das bedeutet normalerweise, dass eine Abhängigkeit von Hand doppelt hinzugefügt wurde oder von devDependencies zu peerDependencies verschoben wurde, ohne den alten Eintrag zu entfernen. Die duplicate flag zeigt jeden Paketnamen an, der in zwei oder mehr der vier Gruppen auftaucht.
Validiert es die Versionsbereiche gegen die npm-Registry?
Nein. Es liest nur die Bereichssyntax, die bereits in der Datei vorhanden ist — es überprüft nicht das Netzwerk, welche Versionen tatsächlich existieren, daher funktioniert es vollständig offline.
Wird meine package.json irgendwo hochgeladen?
Nein. Das Parsen und Formatieren laufen vollständig in deinem Browser — deine Datei, einschließlich eventueller privater Paketnamen, die sie enthält, verlässt dein Gerät niemals.