非 Node-API 版パッケージと並行して Node-API 版を公開する方法
以下の手順は、パッケージ iotivity-node を使用して説明します。
- まず、非 Node-API 版を公開します。
package.jsonのバージョンを更新します。iotivity-nodeの場合、バージョンは1.2.0-2になります。- リリースチェックリストを確認します (テスト/デモ/ドキュメントが OK であることを確認)。
npm publish
- 次に、Node-API 版を公開します。
package.jsonのバージョンを更新します。iotivity-nodeの場合、バージョンは1.2.0-3になります。バージョニングには、semver.org で説明されているプレリリースバージョンスキームに従うことをお勧めします (例:1.2.0-napi)。- リリースチェックリストを確認します (テスト/デモ/ドキュメントが OK であることを確認)。
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 は次のようになります。
"dependencies": {
"iotivity-node": "n-api"
}
「dist-tags の使用」で説明されているように、通常のバージョンとは異なり、タグ付きバージョンは
package.json内で"^2.0.0"のようなバージョン範囲で指定することはできません。これは、タグが正確に 1 つのバージョンを参照するためです。したがって、パッケージのメンテナーが後のバージョンのパッケージに同じタグを付けて公開した場合、npm updateはその後のバージョンを取得します。これは、最新の公開バージョン以外のバージョンでも受け入れられるべきです。package.jsonの依存関係は、以下のように正確なバージョンを参照する必要があります。
"dependencies": {
"iotivity-node": "1.2.0-3"
}