Ich habe an vielen alten npm-Paketen gearbeitet, deren Abhängigkeiten nicht in Ordnung sind. Da es sich um eingeschweißte Pakete handelt, ist das Aktualisieren von Abhängigkeiten ein wenig Arbeit (Testen und Überprüfen, ob die Abhängigkeitsänderungen nichts kaputt gemacht haben), aber ich verschiebe einige Abhängigkeiten manuell vom devDependencies
Schlüssel zum dependencies
Schlüssel und möchte nicht alles zu tun, außer sie zu alphabetisieren, bevor ich mich verpflichte. Gibt es eine einfache Möglichkeit, sie programmgesteuert mit npm zu alphabetisieren, anstatt sie manuell auszuführen?
74
Antworten:
Das
sort-package-json
Paket sortiert nicht nurdependencies
unddevDependencies
, sondern auch andere Schlüssel. Ich weiß, dass die ursprünglichen Fragen nicht zu den anderen Schlüsseln gestellt wurden, aber ich finde es cool, alle Schlüssel sortiert zu haben.Sie können einfach ausführen:
Beispiel von der Paketseite:
$ cd my-project $ cat package.json { "dependencies": { "sort-package-json": "1.0.0", "sort-object-keys": "1.0.0" }, "version": "1.0.0", "name": "my-awesome-project" } $ npx sort-package-json package.json is sorted! $ cat package.json { "name": "my-awesome-project", "version": "1.0.0", "dependencies": { "sort-object-keys": "1.0.0", "sort-package-json": "1.0.0" } }
Dies entfernt nicht die nachfolgende Newline wie das
npm-sort
von Wolfgang erwähnte Paket.quelle
npx sort-package-json
wenn Sie verwendennpm>=5.2.0
Führen Sie einfach
npm remove --save anything
odernpm remove --save-dev whatever
und npm aus, um diesen Abschnitt zu sortieren, ohne den Inhalt zu berühren. Natürlich sollten Sie sicherstellen, dass der Paketname, den Sie übergeben (was alles sein kann, Spam auf Ihrer Tastatur), nicht in Ihrer package.json enthalten ist.quelle
npm remove --save example; npm remove --save-dev example
npm remove -S example; npm remove -D example
npm r -S example; npm r -D example
(r
,rm
undun
sind die kürzesten Standard Aliasenpm uninstall
)Zusätzlich zu Martias Antwort können Sie einfach Folgendes ausführen:
Dadurch wird es nicht dauerhaft installiert. Sie benötigen npm> 5.2.
quelle
"scripts"
Abschnitt der package.json. Was für manche vielleicht nicht wünschenswert ist.Ich habe das
npm-sort
Paket gefunden , das ziemlich gut zu funktionieren scheint, mit dem kleinen Problem, dass es die nachfolgende Newline aus derpackage.json
Datei entfernt.quelle
Vielleicht möchten Sie auch einen Blick auf fixpack werfen , eine CLI, mit der Sie Ihre package.json in der (leicht) meinungsgebundenen Reihenfolge aktualisieren können. Sie können jedoch ein hinzufügen
.fixpackrc
, um Ihre eigenen Regeln zu definieren. Die Standardeinstellungen sind:quelle
In VS-Code gibt es einen guten Paketsortierer für die gesamte JSON-Datei.
Es gibt auch etwas namens "Sortier", das mehr sortiert und fantastisch ist.
quelle