Skip to content

Upgrade Vega to React Native 0.83 (from 0.72) - #6

Merged
anishamalde merged 1 commit into
final-appfrom
upgrade/rn-0.83-final-app
Oct 5, 2026
Merged

anishamalde merged 1 commit into
final-appfrom
upgrade/rn-0.83-final-app

Conversation

@anishamalde

Copy link
Copy Markdown
Owner

Summary

Upgrades the Vega app to React Native 0.83 (from 0.72), with React 19.2, Kepler 4, Jest 29, Prettier 2.8.8, TypeScript 5.8.3, and the new @react-native/* tooling family.

Highlights

  • react-native 0.72.0 → 0.83.0, react 18.2 → 19.2
  • @amazon-devices/react-native-kepler ^2.0.0 → ~4.0.0+rn0.83.0
  • @amazon-devices/vega-carousel ^0.1.0 → 1.0.1-rn-83 (dataAdapter API unchanged)
  • Added react-native-safe-area-context and recyclerlistview (undeclared peer of vega-carousel)
  • Babel preset swap: metro-react-native-babel-preset → @react-native/babel-preset
  • Jest 28 → 29 across the ecosystem, new TV Dimensions/PixelRatio/NativeAnimatedModule mocks in packages/shared/jest.setup.js, vega jest pulls them in via setupFilesAfterEnv
  • manifest.toml: runtime-module switched to Kepler 4; needs updated to lottie_3 + keplerscript_4
  • tsconfig.json now extends @react-native/typescript-config
  • Root package.json engines: Node ≥ 22.14.0
  • README Tech Stack table reflects new versions

Test plan

  • nvm use 22
  • yarn install — peer-dep warnings only (@typescript-eslint/parser, lottie-react-native via metro alias) — non-blocking
  • yarn vega:build — build-kepler completed, VPKG produced
  • yarn vega:vvd:mseries — app installed and launched on VVD successfully
  • yarn workspace @multitv/vega test — snapshots will need --updateSnapshot under React 19 renderer (deferred)
  • Fire TV Stick smoke test

- react-native 0.72.0 → 0.83.0 (Metro 0.83.8), react 18.2 → 19.2
- @amazon-devices/react-native-kepler ^2.0.0 → ~4.0.0+rn0.83.0
- @amazon-devices/vega-carousel ^0.1.0 → 1.0.1-rn-83 (API shape unchanged — same dataAdapter surface)
- @amazon-devices/lottie-react-native ~2.0.0 → ~3.0.9000000000+6.0.0-rc.1
- @amazon-devices/kepler-cli-platform ~0.22.0 → 0.22.13-rn-83
- Add react-native-safe-area-context ^5.5.2 and recyclerlistview ^4.2.3 (undeclared peer of vega-carousel)
- Add @amazon-devices/keplerscript-commonmodules ^1.0.0, @react-native/new-app-screen 0.83.0
- Jest 28 → 29 (jest, babel-jest, ts-jest, @types/jest), react-test-renderer 18 → 19
- babel preset: metro-react-native-babel-preset → @react-native/babel-preset 0.83.0
- @react-native/eslint-config, metro-config, typescript-config bumped to 0.83.0
- @typescript-eslint/eslint-plugin ^5 → ^7, @babel/* ^7.25, prettier 2.6 → 2.8.8, typescript 4.8.4 → 5.8.3
- tsconfig extends @tsconfig/react-native → @react-native/typescript-config, add moduleResolution bundler
- manifest.toml: runtime-module to Kepler 4 (/com.amazon.kepler.runtime.react_native_kepler_4@IReactNativeKepler_0), replace needs lottie_2/keplerscript_2 with lottie_3/keplerscript_4
- metro.config.js type annotation to @react-native/metro-config
- jest.config.json: transformIgnorePatterns include Kepler + safe-area-context, add setupFilesAfterEnv to shared setup
- shared jest.setup.js: TV-sized Dimensions, PixelRatio mock, full NativeAnimatedModule stub for RN 0.83
- Root package.json engines: node >=22.14.0
- README Tech Stack: Kepler 4, React 19.2, RN 0.83, TypeScript 5.8.3

Verified: yarn install clean (peer-dep warnings for @typescript-eslint/parser and lottie-react-native are known and non-blocking), yarn vega:build succeeds, app installs and launches on VVD aarch64.
@anishamalde
anishamalde requested a review from giolaq October 1, 2026 20:21
@anishamalde
anishamalde merged commit b90a9cb into final-app Oct 5, 2026
1 check failed
@anishamalde
anishamalde deleted the upgrade/rn-0.83-final-app branch October 5, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants