Install dev dependencies:
Remove @react-native-community/cli and related packages.
Add .rnef/ folder with caches to .gitignore:
Add rnef.config.mjs file:
Move any project config from react-native.config.js to platform arguments in rnef.config.mjs, for example:
translates to:
Update Android files:
In android/app/build.gradle set the cliFile with the new path:
In android/settings.gradle change:
Update iOS files:
In ios/Podfile change:
In ios/<ProjectName>.xcodeproj/project.pbxproj update the shellScript:
Next, create ios/react-native-xcode.sh based on this template. You can move there any custom code you previously had as part of the "Bundle React Native code and images" Build Phase in Xcode.
Cleanup native files:
Run new commands:
Additionally rename flags:
--mode to --variant for Android commands--mode to --configuration for iOS commands--buildFolder to --build-folder for iOS commands--destination to --destinations for iOS commands--appId to --app-id for Android commands--appIdSuffix to --app-id-suffix for Android commandsAnd remove unsupported flags:
--interactive/-i – the CLI will prompt you for input where necessary--list-devices - when no devices are connected, you'll be prompt with a full device selectionConfigure GitHub Actions for remote builds in your workflow
iOS:
Android:
For more setup options see GitHub Actions configuration