Learn about available properties for EAS Build and EAS Submit to configure and override their default behavior from within your project.
eas.json is the configuration file for EAS CLI and services. It is located at the root of a project next to the package.json. You can find the complete reference of all available schema properties for EAS Build and EAS Submit on this page.
The following properties are available in the schema for the build
key in eas.json.
{
"build": {
"base": {
"node": "12.13.0",
"yarn": "1.22.5",
"env": {
"EXAMPLE_ENV": "example value"
},
"android": {
"image": "default",
"env": {
"PLATFORM": "android"
}
},
"ios": {
"image": "latest",
"env": {
"PLATFORM": "ios"
}
}
},
"development": {
"extends": "base",
"developmentClient": true,
"env": {
"ENVIRONMENT": "development"
},
"android": {
"distribution": "internal",
"withoutCredentials": true
},
"ios": {
"simulator": true
}
},
"staging": {
"extends": "base",
"env": {
"ENVIRONMENT": "staging"
},
"distribution": "internal",
"android": {
"buildType": "apk"
}
},
"production": {
"extends": "base",
"env": {
"ENVIRONMENT": "production"
}
}
}
}
Property | Description |
---|---|
(boolean) - When set to | |
(string) - The name of the build profile that the current one should inherit values from. This value can't be specified per platform. | |
(enum: local, remote) - The source of credentials used to sign the application archive.
| |
(string) - Deprecated: Name of the release channel for the Classic Updates service, which is only supported in SDK 49 and lower. If you do not specify a channel, your binary will pull releases from the EAS Update uses the channel field, so you can remove releaseChannel after migrating to EAS Update. Learn more about migrating from Classic Updates to EAS Update. | |
(string) - The EAS Update channel where this build will look for updates. Learn more. Standalone builds will check for and download updates matching platform, native runtime, and channel. This field has no effect when developmentClient is set to If you have not yet migrated from Classic Updates to EAS Update, then continue to use the releaseChannel field instead. | |
(enum: store, internal) - The method of distributing your app.
| |
(boolean) - If set to true (defaults to false), this field expresses the intent to produce a development client build.
For the build to be successful, the project must have expo-dev-client installed and configured.
Note: this field is sugar for setting the iOS | |
(enum: default, medium, large) - The resource class that will be used to run this build. To see mapping for each platform, see Android-specific resource class field and iOS-specific resource class field documentation. The | |
(string) - Optional override of the prebuild command used by EAS.
For example, you can specify | |
(string[]) - List of paths (or patterns) where EAS Build is going to look for the build artifacts. Use | |
(string) - Version of Node.js. | |
(string) - Version of Yarn. | |
(string) - Version of pnpm. | |
(string) - Deprecated: Version of expo-cli used to prebuild your app. It only affects managed projects on Expo SDK 45 and lower. For newer SDKs, EAS Build will use the versioned Expo CLI. It comes with the | |
(object) - Environment variables that should be set during the build process (should only be used for values that you would commit to your git repository, i.e. not passwords or secrets). | |
(boolean) - Controls how EAS CLI bumps your application build version. Defaults to When enabled, for iOS, bumps the last component of | |
(object) - Cache configuration. This feature is intended for caching values that require a lot of computation, e.g. compilation results (both final binaries and any intermediate files), but it wouldn't work well for | |
(boolean) - Disables caching. Defaults to false. | |
(string) - Cache key. You can invalidate the cache by changing this value. | |
(array) - List of the paths that will be saved after a successful build and restored at the beginning of the next one. Both absolute and relative paths are supported, where relative paths are resolved from the directory with |
Property | Description |
---|---|
(boolean) - When set to | |
(string) - Image with build environment. Learn more about it here. | |
(enum: default, medium, large) - The Android-specific resource class that will be used to run this build. Defaults to To learn more about what build resources are available to each resource class, check out Android build server configurations. The | |
(string) - Version of Android NDK. | |
(boolean | "version" | "versionCode") - Controls how EAS CLI bumps your application build version. Defaults to Allowed values:
Based on the value of "cli.appVersionSource" option in eas.json, the values will be updated locally in your project or on EAS servers. Learn more | |
(enum: app-bundle, apk) - Type of the artifact you want to build. It controls what Gradle task will be used, can be overridden by
| |
(string) - Gradle task that will be used to build your project, e.g. | |
(string) - Path (or pattern) where EAS Build is going to look for the application archive. EAS Build uses the |
Property | Description |
---|---|
(boolean) - When set to | |
(boolean) - If set to true, creates build for simulator. Defaults to false | |
(enum: universal, adhoc) - Provisioning method used for | |
(boolean | "version" | "buildNumber") - Controls how EAS CLI bumps your application build version. Defaults to Allowed values:
Based on the value of "cli.appVersionSource" option in eas.json, the values will be updated locally in your project or on EAS servers. Learn more | |
(string) - Image with build environment. Learn more about it here. | |
(enum: default, medium, large) - The iOS-specific resource class that will be used to run this build. Defaults to To learn more about what build resources are available to each resource class, check out iOS build server configurations. The | |
(string) - Version of bundler. | |
(string) - Version of fastlane. | |
(string) - Version of CocoaPods. | |
(string) - Xcode project's scheme.
| |
(string) - Xcode project's Build Configuration.
It takes priority over | |
(string) - Path (or pattern) where EAS Build is going to look for the application archive. EAS Build uses the |
The following properties are available in the schema for the submit
key in eas.json.
{
"cli": {
"version": ">= 0.34.0"
},
"submit": {
"production": {
"android": {
"serviceAccountKeyPath": "../path/to/api-xxx-yyy-zzz.json",
"track": "internal"
},
"ios": {
"appleId": "john@turtle.com",
"ascAppId": "1234567890",
"appleTeamId": "AB12XYZ34S"
}
}
}
}
Property | Description |
---|---|
(string) - Path to the JSON file with service account key used to authenticate with Google Play. See how to create one. | |
(enum: production, beta, alpha, internal) - The track of the application to use. | |
(enum: completed, draft, halted, inProgress) - The status of a release. Learn more. | |
(number) - The initial fraction of users who are eligible to receive the release. Should be a value from 0 (no users) to 1 (all users). Works only with | |
(boolean) - Indicates that the changes sent with this submission will not be reviewed until they are explicitly sent for review from the Google Play Console UI. Defaults to false. | |
(string) - The application id that will be used when accessing Service Account Keys managed by Expo, it does not have any effect if you are using local credentials. In most cases this value will be autodetected, but if you have multiple product flavors, this value might be necessary. |
Property | Description |
---|---|
(string) - Your Apple ID username (you can also set the | |
(string) - App Store Connect unique application Apple ID number. When set, results in skipping the app creation step. Learn more on this. | |
(string) - Your Apple Developer Team ID. | |
(string) - An unique ID for your app that is not visible on the App Store, will be generated unless provided. | |
(string) - Primary language. Defaults to "en-US". | |
(string) - The name of your company, needed only for the first submission of any app to the App Store. | |
(string) - The name of your app as it will appear on the App Store. Defaults to | |
(string) - The path to your App Store Connect Api Key .p8 file. Learn more. | |
(string) - The Issuer ID of your App Store Connect Api Key. Learn more. | |
(string) - The Key ID of your App Store Connect Api Key. Learn more. | |
(string) - The Bundle identifier that will be used when accessing submit credentials managed by Expo, it does not have any effect if you are using local credentials. In most cases this value will be autodetected, but if you have multiple Xcode schemes and targets, this value might be necessary. | |
(string) - The path to your store configuration file. Learn more. |