Was ist der richtige Weg mit NPM, um eine BUILT-Version eines geforkten Git-Repositorys zu packen?

Lesezeit: 2 Minuten

Benutzer-Avatar
Malorisch

Ich habe kürzlich ein GitHub-Repository gegabelt, um ein Problem zu beheben, und eine Pull-Anforderung erstellt. Während ich darauf warte, dass die Pull-Anforderung akzeptiert wird, habe ich auf meine lokale package.json bei meinem gegabelten Repo, so:

devDependencies: {
    "karma-mocha": "maloric/karma-mocha"
}

Es stellt sich jedoch heraus karma-mocha zum Generieren muss ein Build-Schritt ausgeführt werden lib/adapter.js – ein wesentlicher Bestandteil des Pakets. Diese Datei ist aufgelistet in .gitignore, existiert also nicht im Repository. Der Erstellungsschritt ist eine Hauptaufgabe, die normalerweise ausgeführt wird, wenn das Paket in npm veröffentlicht wird, also adapter.js ist im heruntergeladenen npm-Modul vorhanden.

Meine Frage lautet: Was ist der richtige Weg, um eine gegabelte, erstellte Version des Repositorys zu packen, damit ich sie als Abhängigkeit verwenden kann? Soweit ich das beurteilen kann, habe ich folgende Möglichkeiten:

  1. Erstellen Sie das Repository lokal, erstellen Sie eine .tgz Datei mit den erstellten Dateien, hosten Sie diese dann irgendwo und verweisen Sie meine package.json auf diese Datei.
  2. Erstellen Sie das Repository lokal, ändern Sie .gitignore erlauben adapter.jspushen Sie dann zu einem Zweig auf Github und verwenden Sie diesen Zweig als meine Abhängigkeit.

Beides würde funktionieren, aber ich habe das Gefühl, dass mir etwas fehlt. Hat npm ein Konzept für gegabelte Pakete? Nicht jedes Git-Repository kann ohne einen Build/Dist-Schritt als Abhängigkeit verwendet werden. Was ist also der akzeptierte Weg, um so etwas zu tun?

Das scheint ähnlich zu sein karma-runner/karma-jasmine Ausgabe 38nicht genau dieselbe Bibliothek, aber dieselbe Idee und dasselbe Problem mit adapter.js:

Wie Sie richtig ausgeführt haben, adapter.js generiert durch grunt build.
adpater.js wird nur im npm-Repository abgelegt, wenn wir es ausführen grunt release.

Wenn Sie möchten, verwenden Sie Ihre Version von karma-jasmine dann kannst du entfernen lib/adapter.js aus .gitignore.

Also Variante 2.

1119960cookie-checkWas ist der richtige Weg mit NPM, um eine BUILT-Version eines geforkten Git-Repositorys zu packen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy