Wie kann ich ein automatisches Änderungsprotokoll pro Modul in einem Monorepo führen?

Lesezeit: 1 Minute

Ich arbeite an einem Projekt, das aus mehreren Git-Repositories besteht. Es gibt mehrere Microservices, ein Frontend, einige npm-Pakete und Gateway-Container usw.

Da ich oft auf das Problem stoße, dass ich für neue Funktionen den Code in mehreren Repositories ändern muss, verliere ich mich in vielen Pull-Requests.

Um dies zu vereinfachen, denke ich darüber nach, die Repositories in ein einziges Monorepo zu verschieben. Tatsächlich habe ich bereits einige der npm-Pakete in einem einzigen Repository kombiniert.

Bis jetzt habe ich verwendet standard-version zum Erstellen eines Änderungsprotokolls basierend auf den Git-Commits. Ich möchte immer noch ein Changelog pro Modul haben. Offensichtlich funktioniert das nicht out of the box mit standard-version da es die Commits pro Repository und nicht pro Modulverzeichnis überprüft.

Ist es irgendwie möglich, ein Änderungsprotokoll pro Modul zu erstellen, z. B. nur mit den Commit-Meldungen, wo Dateien in einem Verzeichnis betroffen sind, oder mit Scopes in den Commit-Meldungen? Irgendwelche anderen Ideen?

Normalerweise hat jedes Modul seine eigene Version, nicht alle sind JS/Node/npm-Projekte. Es ist auch in Ordnung, wenn ich die Veröffentlichung verwalten muss manuell pro Modul.

Ich weiß nicht, wie Sie Ihr Repository konfiguriert haben, weil Sie keine bereitgestellt haben .versionrc Datei bzw package.json Dateibeispiele, aber es gibt eine --path Option für standard-version.

Aus dem Hilfebefehl:

npx standard-version --help

Ich schaff das:

--path              Only populate commits made under this path                     [string]

Sie können diese Option also entweder in Ihrem verwenden package.json Skripte als Parameter für Ihren Freigabebefehl oder fügen Sie ihn in Ihre hinzu .versionrc.

Das sollte einfach sein, wenn Sie separate Dateien für jedes Paket haben, wenn Sie ein globales Skript haben, sollten Sie nur separate Release-Befehle für jedes Paket haben, wobei jeder Pfad für jeden Befehl festgelegt ist.

1445350cookie-checkWie kann ich ein automatisches Änderungsprotokoll pro Modul in einem Monorepo führen?

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

Privacy policy