React Native 0.83への移行: ライブラリ開発者向けガイダンス
このページは、アプリではなくライブラリ(システムライブラリまたは共有ライブラリ)を開発する場合に適用されます。アプリの移行については、React Native 0.83へのアプリの移行を参照してください。
ピア依存関係の構成
ライブラリでは、Vegaランタイムに対してpeerDependencies(dependenciesではなく)を使用する必要があります。ランタイムをdependenciesに追加すると、アプリとライブラリで異なるRNバージョンが使用されている場合に、実行時にモジュールIDの競合が発生します。
{
"peerDependencies": {
"@amazon-devices/react-native-kepler": ">=4.0.0 <5.0.0"
},
"devDependencies": {
"@amazon-devices/react-native-kepler": "^4.0.0"
}
}
バージョン範囲のガイドライン
| シナリオ | peerDependenciesの範囲 |
|---|---|
| ソースコードの変更なし+RN APIを使用する | ">=2.0.0"(範囲の限定なし) |
| ソースコードの変更なし+RNを使用しない | 完全に削除 |
| バージョン間でソースコードの変更あり | "~4.0.0"または"^4.0.0"(限定的) |
ライブラリであることを検出するインジケーター
パッケージに次のいずれかが含まれている場合、そのパッケージはシステムライブラリです。
- プロジェクトルート直下の
SystemModules/ディレクトリ kepler-system-conf.tomlファイルkepler-compatibility.jsonファイル
追加の考慮事項
- ライブラリAPIの変更はすべてのコンシューマーに影響します。公開する前に、1つ以上のコンシューマーアプリでテストしてください。
- ライブラリのバージョンと変更履歴を適切に更新してください。
- 既存のコンシューマーとの下位互換性を考慮してください。
isolatedModulesでの型のエクスポートにはexport type構文を使用してください。
関連トピック
Last updated: 2026年7月9日

