Skip to content

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. Per iotivity-node, la versione diventa 1.2.0-2.
    • Segui la checklist di rilascio (assicurati che test/demo/doc siano OK).
    • npm publish.
  • Quindi, pubblica la versione Node-API:

    • Aggiorna la versione in package.json. Nel caso di iotivity-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.

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:

json
"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:

json
"dependencies": {
  "iotivity-node": "1.2.0-3"
}