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:
- 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. - Erstellen Sie das Repository lokal, ändern Sie
.gitignore
erlaubenadapter.js
pushen 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?