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 with the below content. 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