2017-03-18 7 views
0

Angenommen, mein npm-Paket von 1.0.0 macht eine Funktion mit dem Namen foo verfügbar, die Benutzer neben vielen anderen Funktionen und Funktionen verwenden können.NPM-Versionen aktualisieren Hauptnummer bei jeder Änderung?

Ich entferne dann die foo Funktion, die für alle Benutzer bricht, die diese Funktion verwenden.

NPM sagt:

Änderungen, die Abwärtskompatibilität zu brechen: Major Release, die erste Zahl erhöht, beispielsweise 2.0.0

Ich bin ziemlich verwirrt, was genau das bedeutet. Sollte die Major-Nummer immer aktualisiert werden, wenn wir eine Änderung für Benutzer brechen, auch wenn es nur eine kleine Änderung wie das Entfernen einer Funktion ist?

Im Moment aktualisiere ich die Major-Nummer immer dann, wenn ich ein öffentlich zugängliches Feature unterbreche. Ich sehe npm-Pakete mit kleinen Hauptversionen und denke, dass ich dabei falsch bin, da ich meine eigene Paket-Major-Nummer sehr schnell aktualisiere.

Antwort

2

Jede API-Änderung (z. B. Entfernen des Endpunkts, Funktion von lib oder Ändern des Verhaltens von Endpunkt/Funktion), die sich auf Clients auswirken kann, sollte die MAJOR-Nummer aktualisieren. MINOR und PATCH teilen dem Client mit, dass die Bibliothek/API für eine MAJOR-Version stabil ist.

  • MAJOR Version, wenn Sie nicht kompatibel API Änderungen vornehmen,
  • kleinere Version, wenn Sie erweitern die Funktionalität in einer rückwärtskompatibel Weise:

    die eine Versionsnummer MAJOR.MINOR.PATCH, erhöhen Given und

  • PATCH-Version, wenn Sie rückwärtskompatible Fehlerbehebungen machen.

Sie können mehr bei http://semver.org/ lesen

Verwandte Themen