2013-11-28 8 views
8

Nella mia app, ho utenti che installano le dipendenze eseguendo npm install - comportamento standard di bog.I npm onorano le nuove versioni pre-release in semantico?

Tuttavia, ho un pacchetto che cambia frequentemente, e nel tentativo di non finire con un numero di versione ridicolmente grande come 0.1.12324, mi sono imbattuto nel concetto di pre-release.

In che modo NPM tratta i numeri prerelease quando è in esecuzione npm install?

Supponendo che il mio pacchetto packageA ha un numero di versione di 0.1.1-r1234, ed i miei utenti hanno una semver dipendenza del ~0.1.1:

so che un nuovo utente senza packageA installato avrà automaticamente quella versione (0.1.1-r1234) installato.

E se qualcuno ha già installato packageA, della versione 0.1.1-r1233? npm install sa installare la nuova versione preliminare?

risposta

5

Mi sembrava di aver risposto alla mia stessa domanda. From the main page at semver.org:

precedenza per le due versioni non con la stessa maggiore minore, e la versione, patch deve essere determinata confrontando ciascun identificatore dot separato da sinistra verso destra fino a una differenza è trovato come segue: identificatori costituito da solo le cifre vengono confrontate numericamente e gli identificatori con lettere o trattini vengono confrontati lessicalmente in ordine ASCII. Gli identificatori numerici hanno sempre precedenza inferiore rispetto agli identificatori non numerici. Un insieme più grande di campi di pre-rilascio ha una precedenza più alta di un set più piccolo, se tutti gli identificatori precedenti sono uguali. Esempio: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0- rc.1 < 1.0.0.