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"
}