Conversation
…hether it is new arch
There was a problem hiding this comment.
Pull Request Overview
Updates React Native and related dependencies to v0.79.3 with corresponding library bumps, adds codegen configuration for interoperability, and adjusts example project configs to support both new and legacy architectures.
- Bumps React Native, React, and related tooling versions in root and example projects
- Introduces
codegenConfigand explicitplatformsinreact-native.config.jsto support new architecture - Updates iOS and Android example setup (Podfile flags, Gradle wrapper, AppDelegate, scripts, README)
Reviewed Changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| package.json | Bumped core/react-native dependencies and added codegenConfig |
| example/react-native.config.js | Explicitly set empty platforms for codegen |
| example/package.json | Updated React/React Native versions and build scripts |
| example/metro.config.js | Updated JSDoc import to @react-native/metro-config |
| example/ios/ReactNativeSdkExample/AppDelegate.mm | Imported and initialized new RCTAppDependencyProvider |
| example/ios/ReactNativeSdkExample.xcodeproj | Regenerated PBX entries for updated pods and targets |
| example/ios/Podfile | Enabled new architecture flag by default |
| example/android/gradlew(.bat) | Added SPDX headers; adjusted APP_HOME resolution |
| example/android/gradle/wrapper/gradle-wrapper.properties | Upgraded Gradle distribution URL |
| example/android/gradle.properties | Enabled newArchEnabled for the example app |
| example/android/build.gradle | Bumped SDK, NDK, build tools, and Kotlin versions |
| example/android/app/src/.../MainApplication.kt | Updated SoLoader.init to use OpenSourceMergedSoMapping |
| example/android/app/build.gradle | Switched JSC flavor coordinates for Android |
| babel.config.js | Split presets into overrides for node_modules vs source |
| README.md | Clarified New Architecture support note |
Comments suppressed due to low confidence (4)
example/package.json:9
- [nitpick] The script name
build:android:oldis ambiguous; consider renaming tobuild:android:legacyfor clarity on which architecture it targets.
"build:android:old": "react-native build-android --extra-params \"--no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a\"",
README.md:60
- [nitpick] Reformat the TLDR line to standard notation, e.g.
**TL;DR:** Use the New Architecture at your own risk, to improve readability and consistency.
*TLDR;* Use the New Architecture at your own risk --
package.json:169
- [nitpick] Add a brief comment above
codegenConfigexplaining its purpose and how to regenerate code (e.g.// React Native codegen config for interop module generation).
"codegenConfig": {
example/react-native.config.js:14
- [nitpick] Clarify why the codegen script fails here—link the issue or add context so future maintainers understand this workaround.
// Codegen script incorrectly fails without this
| distributionBase=GRADLE_USER_HOME | ||
| distributionPath=wrapper/dists | ||
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip | ||
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip |
There was a problem hiding this comment.
[nitpick] Consider using the -all.zip distribution (e.g. gradle-8.13-all.zip) if you need source and documentation files included, or document why -bin.zip was chosen.
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip | |
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip |
evantk91
left a comment
There was a problem hiding this comment.
Left some clarifying comments. Tested both architectures run on android and iOS.
🔹 JIRA Ticket
✏️ Description
Updates React Native to 0.79, as well as any corresponding libraries
Makes sure that interop is supported
Testing
ENV['RCT_NEW_ARCH_ENABLED'] = '1'newArchEnabledis set totrueENV['RCT_NEW_ARCH_ENABLED'] = '0'newArchEnabledtofalseClean and reinstall everything
yarn cleanrm -rf node_modules example/node_modulespod deintegrateyarn installyarn install.bundle installbundle exec pod install./gradlew cleanStart the example app
yarn startfrom the example folder. Keep this running.yarn iosfrom the example folder.yarn androidfrom the example folder.