as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
感谢您的访问。此页面目前仅提供英语版本。我们正在开发中文版本。谢谢您的理解。

React Native 0.83 Migration: Library Developer Guidance

This page applies if you are developing a library (system library or shared package) rather than an app. For app migration, see Migrate Apps to React Native 0.83.

Peer dependency configuration

Libraries must use peerDependencies (not dependencies) for the Vega runtime. If you add the runtime in dependencies, it causes module ID conflicts at runtime when apps and libraries use different RN versions.

{
  "peerDependencies": {
    "@amazon-devices/react-native-kepler": ">=4.0.0 <5.0.0"
  },
  "devDependencies": {
    "@amazon-devices/react-native-kepler": "^4.0.0"
  }
}

Version range guidelines

Scenario peerDependencies range
No source code changes + uses RN APIs ">=2.0.0" (open range)
No source code changes + no RN usage Remove entirely
Source code changes between versions "~4.0.0" or "^4.0.0" (restrictive)

Library detection indicators

Your package is a system library if it has any of the following:

  • SystemModules/ directory in project root
  • kepler-system-conf.toml file
  • kepler-compatibility.json file

Additional considerations

  • Changes to library APIs affect all consumers. Test with at least one consumer app before publishing.
  • Update library version and changelog appropriately.
  • Consider backward compatibility for existing consumers.
  • Ensure isolatedModules type exports use export type syntax.

Last updated: Jul 09, 2026