Expo Application Services (EAS) is a service that helps you build and deploy your React Native apps without the hassle of managing code signing, provisioning profiles, and other complexities of native development by yourself.
Native apps built with One can be deployed using EAS. If you created your One app using one of our templates, it would already work with EAS out of the box. If not, refer to the "Setup Your One App for EAS" section below.
After the initial EAS setup (eas build:configure), you will be able to run eas build to build your app, and eas submit to submit it to the App Store or Google Play directly in your One project.
For more instructions, see the "Create your first build" guide in the EAS documentation.
app.json for your app. Generally, following the instructions you saw in the terminal and the EAS documentation should be sufficient to resolve most issues.Terminal
The engine "node" is incompatible with this module. Expected version "^20.15.0". Got "18.18.0"
eas.json and specify the version of Node.js like this:{
/* ... */
"build": {
"shared": {
"node": "20.15.0"
},
"development": {
"extends": "shared",
/* ... */
},
"preview": {
"extends": "shared",
/* ... */
},
"production": {
"extends": "shared",
/* ... */
}
},
/* ... */
}
While our templates are configured in a way that works with EAS, if you're starting from scratch or migrating an existing project, some setup will be required to make your One app deployable with EAS.
Ensure expo is installed in your project.
Add a react-native.config.cjs to your project root (next to your package.json) with the following content:
module.exports = {
// Setting up and overriding some react-native CLI commands.
// Necessary for building native iOS and Android apps,
// where Vite shall be used instead of Metro for JS bundling during the build precess.
commands: [...require('vxrn/react-native-commands')]
}
Modify your app.json (or app.config.js) and add vxrn/expo-plugin to expo.plugins. This plugin will hook into the Expo build process running on EAS to ensure your One app is built correctly:
{
"expo": {
"plugins": ["vxrn/expo-plugin"]
}
}
Edit this page on GitHub.