Come pubblicare un pacchetto Node-API
Come pubblicare una versione Node-API di un pacchetto insieme a una versione non Node-API
I passaggi seguenti sono illustrati usando il pacchetto iotivity-node
:
Per prima cosa, pubblica la versione non Node-API:
- Aggiorna la versione in
package.json
. Periotivity-node
, la versione diventa 1.2.0-2. - Segui la checklist di rilascio (assicurati che test/demo/doc siano OK).
npm publish
.
- Aggiorna la versione in
Quindi, pubblica la versione Node-API:
- Aggiorna la versione in
package.json
. Nel caso diiotivity-node
, la versione diventa 1.2.0-3. Per la versione, si consiglia di seguire lo schema di versione pre-release come descritto da semver.org es. 1.2.0-napi. - Segui la checklist di rilascio (assicurati che test/demo/doc siano OK).
npm publish --tag n-api
.
- Aggiorna la versione in
In questo esempio, taggare il rilascio con n-api
ha garantito che, sebbene la versione 1.2.0-3 sia successiva alla versione pubblicata non Node-API (1.2.0-2), non verrà installata se qualcuno sceglie di installare iotivity-node
semplicemente eseguendo npm install iotivity-node
. Questo installerà la versione non Node-API per impostazione predefinita. L'utente dovrà eseguire npm install iotivity-node@n-api
per ricevere la versione Node-API. Per maggiori informazioni sull'utilizzo dei tag con npm, consulta "Utilizzo dei dist-tag".
Come introdurre una dipendenza da una versione Node-API di un pacchetto
Per aggiungere la versione Node-API di iotivity-node
come dipendenza, il file package.json
sarà simile a questo:
"dependencies": {
"iotivity-node": "n-api"
}
Come spiegato in "Utilizzo dei dist-tag", a differenza delle versioni regolari, le versioni taggate non possono essere indirizzate da intervalli di versioni come "^2.0.0"
all'interno di package.json
. Il motivo è che il tag si riferisce a una sola versione. Quindi, se il manutentore del pacchetto sceglie di taggare una versione successiva del pacchetto usando lo stesso tag, npm update
riceverà la versione successiva. Questo dovrebbe essere accettabile. Diversamente dalla versione più recente pubblicata, la dipendenza package.json
dovrà fare riferimento alla versione esatta come segue:
"dependencies": {
"iotivity-node": "1.2.0-3"
}