Auto: Plugin: Wenden Sie PR-Labels basierend auf Commit-Nachrichten im Semantic-Release-Stil an

Erstellt am 19. Jan. 2019  ·  14Kommentare  ·  Quelle: intuit/auto

Verschoben von https://github.com/intuit/auto-release/issues/176

@aleclarson sagte:

Hier ist ein Plugin, das ich sofort brauche:

Es durchsucht die Commit-Nachrichten eines PR nach Präfixen im Stil von semantic-release (z. B.: fix: , feat: , BREAKING ) und wendet automatisch die entsprechenden patch an minor / major Label zum PR.
Inspiriert von diesem Twitter-Thread.

Würden Sie dies als offiziell unterstütztes Plugin betrachten?

@hipstersmoothie sagte:

Ja, das klingt nach einem guten Plugin! Ich bin damit einverstanden, dass es offiziell ist. Obwohl wir für dieses Verhalten möglicherweise ein oder zwei zusätzliche Haken hinzufügen müssen

Ein Hook mit dem Namen parseCommit könnte dies hier ermöglichen

https://github.com/intuit/auto-release/blob/5220097f4ce075f4097d62492cd08b6e9551fca2/src/log-parse.ts#L141

@aleclarson sagte:

Wir könnten parse-commit-message verwenden, um Metadaten aus Commits zu extrahieren (obwohl die Abhängigkeit von esm es etwas schwer macht, aber das wird entfernt, sobald NodeJS ES-Module nativ unterstützt). In der Zwischenzeit könnten wir es forken und die esm -Abhängigkeit entfernen, wenn es uns genug stört. Selbst wenn wir nicht forken, ist es immer noch ~6x kleiner als das, was semantic-release verwendet.

enhancement

Hilfreichster Kommentar

@aleclarson warum die größe ich so ein problem? Selbst im Node-Land sind unsere Paketmanager bereits intelligent genug, um Dubletten zu entfernen.

Ich habe doppelte Abhängigkeiten nie als Bedenken erwähnt. Ich bin nur vorsichtig mit aufgeblähten Werkzeugen im Allgemeinen. "Je leichter desto besser" ist meine Faustregel, aber jedem das Seine. Ich bin nicht wirklich daran interessiert, darüber zu diskutieren. :)

Übrigens, um der Party beizutreten. git-commits-since und detect-next-version könnten hier hilfreicher sein?

Ich würde es vorziehen, parse-commit-message zu verwenden, da diese Pakete die Logik zu duplizieren scheinen, die bereits in auto-release vorhanden ist, aber vielleicht wäre @hipstersmoothie bereit , die vorhandene Logik durch diese Pakete zu ersetzen, um den Wartungsaufwand zu verringern.

Alle 14 Kommentare

Das ist ziemlich seltsam, wie es von ESM abhängt

Es sollte wahrscheinlich esm für den Build und nicht in der Produktion verwenden

Es ist ein bisschen so, als würde man babel-register verwenden, anstatt es nur zu erstellen und den dist-Ordner zu veröffentlichen

Dachte ich zuerst auch, aber ein Blick in den Quellcode sagt etwas anderes.

Bearbeiten: Oh nvm, du sagst esm kann zum Kompilieren vor der Veröffentlichung verwendet werden. Wir sollten eine PR schicken.

Ansonsten sieht es nach einem guten Modul aus. Schön und schlank

Sieht so aus, als wäre esm nicht zum Kompilieren gemacht: https://github.com/standard-things/esm/issues/13#issuecomment -321710199

Ich sage, wir forken jetzt und konvertieren die import - und export -Syntax in CommonJS.

Hmm, ja, ich habe gerade die Readme gelesen. Sieht so aus, als hätte ich es falsch verstanden

Ich werde einen PR erstellen, um zu https://github.com/developit/microbundle zu wechseln, und vielleicht wird er es hinzufügen.

Sie sollten stattdessen https://github.com/egoist/bili verwenden. Es hat die Hälfte der Installationsgröße, kann aber andere Kompromisse haben. Nicht sicher.

Übrigens, um der Party beizutreten. git-commits-since und detect-next-version könnten hier hilfreicher sein?

Ich verwende esm aus Garantiegründen und weil es sich hinter dem esm-Feature-Flag des Knotens befindet. Ich könnte einfach ascjs oder ähnliches wie rewrite-imports verwenden, aber esm unterstützt viel mehr als nur den Import/Export. Und weil ich keine _irgendeine_ Stufe oder ähnliches gebaut habe, benutze ich sie zum Testen einfach als Haken an meinem Läufer.

Das bringt uns dazu, wir können zu ascjs oder asbundle wechseln.

@aleclarson warum die größe ich so ein problem? Selbst im Node-Land sind unsere Paketmanager bereits intelligent genug, um Dubletten zu entfernen.

@aleclarson warum die größe ich so ein problem? Selbst im Node-Land sind unsere Paketmanager bereits intelligent genug, um Dubletten zu entfernen.

Ich habe doppelte Abhängigkeiten nie als Bedenken erwähnt. Ich bin nur vorsichtig mit aufgeblähten Werkzeugen im Allgemeinen. "Je leichter desto besser" ist meine Faustregel, aber jedem das Seine. Ich bin nicht wirklich daran interessiert, darüber zu diskutieren. :)

Übrigens, um der Party beizutreten. git-commits-since und detect-next-version könnten hier hilfreicher sein?

Ich würde es vorziehen, parse-commit-message zu verwenden, da diese Pakete die Logik zu duplizieren scheinen, die bereits in auto-release vorhanden ist, aber vielleicht wäre @hipstersmoothie bereit , die vorhandene Logik durch diese Pakete zu ersetzen, um den Wartungsaufwand zu verringern.


:rocket: Ausgabe wurde in 10.0.0 veröffentlicht :rocket:

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen