Skip to content

Node-APIパッケージの公開方法

Node-API版パッケージと非Node-API版パッケージの同時公開方法

以下の手順は、パッケージiotivity-nodeを使用して説明します。

  • まず、非Node-API版を公開します。

    • package.jsonのバージョンを更新します。iotivity-nodeの場合、バージョンは1.2.0-2になります。
    • リリースチェックリストを確認します(テスト/デモ/ドキュメントが問題ないことを確認)。
    • npm publishを実行します。
  • 次に、Node-API版を公開します。

    • package.jsonのバージョンを更新します。iotivity-nodeの場合、バージョンは1.2.0-3になります。バージョン管理には、semver.orgで説明されているプレリリース版スキーム(例:1.2.0-napi)に従うことをお勧めします。
    • リリースチェックリストを確認します(テスト/デモ/ドキュメントが問題ないことを確認)。
    • npm publish --tag n-apiを実行します。

この例では、n-apiでリリースにタグ付けすることで、バージョン1.2.0-3は公開済みの非Node-API版(1.2.0-2)よりも新しいバージョンですが、npm install iotivity-nodeを実行するだけでiotivity-nodeをインストールしようとする場合、インストールされません。これにより、デフォルトで非Node-API版がインストールされます。Node-API版を取得するには、ユーザーはnpm install iotivity-node@n-apiを実行する必要があります。npmでのタグの使用の詳細については、「dist-tagsの使用」を参照してください。

Node-API版パッケージへの依存関係の追加方法

iotivity-nodeのNode-API版を依存関係として追加するには、package.jsonは次のようになります。

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

「dist-tagsの使用」で説明されているように、通常のバージョンとは異なり、タグ付きバージョンはpackage.json内で"^2.0.0"のようなバージョン範囲で指定できません。これは、タグが正確に1つのバージョンを参照するためです。そのため、パッケージのメンテナが同じタグを使用してパッケージの新しいバージョンにタグ付けした場合、npm updateは新しいバージョンを取得します。これは、最新版以外のバージョンを受け入れる必要がある場合、package.jsonの依存関係は次のようになる必要があります。

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