Skip to content

Comment publier un package Node-API

Comment publier une version Node-API d'un package en plus d'une version non Node-API

Les étapes suivantes sont illustrées à l'aide du package iotivity-node :

  • Tout d'abord, publiez la version non Node-API :

    • Mettez à jour la version dans package.json. Pour iotivity-node, la version devient 1.2.0-2.
    • Passez en revue la checklist de publication (assurez-vous que les tests/démos/docs sont OK).
    • npm publish.
  • Ensuite, publiez la version Node-API :

    • Mettez à jour la version dans package.json. Dans le cas de iotivity-node, la version devient 1.2.0-3. Pour la gestion des versions, nous recommandons de suivre le schéma de version préliminaire décrit par semver.org, par exemple : 1.2.0-napi.
    • Passez en revue la checklist de publication (assurez-vous que les tests/démos/docs sont OK).
    • npm publish --tag n-api.

Dans cet exemple, l'étiquetage de la version avec n-api garantit que, bien que la version 1.2.0-3 soit postérieure à la version non Node-API publiée (1.2.0-2), elle ne sera pas installée si quelqu'un choisit d'installer iotivity-node en exécutant simplement npm install iotivity-node. Cela installera la version non Node-API par défaut. L'utilisateur devra exécuter npm install iotivity-node@n-api pour recevoir la version Node-API. Pour plus d'informations sur l'utilisation des tags avec npm, consultez « Utilisation des dist-tags ».

Comment introduire une dépendance sur une version Node-API d'un package

Pour ajouter la version Node-API de iotivity-node comme dépendance, le fichier package.json ressemblera à ceci :

json
"dependencies": {
  "iotivity-node": "n-api"
}

Comme expliqué dans « Utilisation des dist-tags », contrairement aux versions régulières, les versions étiquetées ne peuvent pas être adressées par des plages de versions telles que "^2.0.0" dans package.json. La raison en est que le tag fait référence à une seule version. Ainsi, si le mainteneur du package choisit d'étiqueter une version ultérieure du package en utilisant le même tag, npm update recevra la version ultérieure. Ceci étant acceptable pour toute version autre que la dernière publiée, la dépendance package.json devra faire référence à la version exacte, comme suit :

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