Learn how to configure your project for EAS Submit with eas.json.
eas.json is your go-to place for configuring EAS Submit (and EAS Build). It is located at the root of your project next to your package.json. Even though eas.json is not mandatory for using EAS Submit, it makes your life easier if you need to switch between different configurations.
Running eas submit
without specifying a profile name will use the production
profile if it is already defined in eas.json to configure the submission.
An example eas.json with production
is shown below:
{
"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"
}
}
}
}
The JSON object under submit
can contain multiple submit profiles. Each profile under submit
can have an arbitrary name as shown in the example below:
{
"cli": {
"version": "SEMVER_RANGE",
"requireCommit": boolean
},
"build": {
// EAS Build configuration
%%placeholder-start%%... %%placeholder-end%%
}
"submit": {
"SUBMIT_PROFILE_NAME_1": {
"android": {
...ANDROID_OPTIONS
},
"ios": {
...IOS_OPTIONS
}
},
"SUBMIT_PROFILE_NAME_2": {
"extends": "SUBMIT_PROFILE_NAME_1",
"android": {
...ANDROID_OPTIONS
}
},
%%placeholder-start%%... %%placeholder-end%%
}
}
You can use EAS CLI to pick up another submit
profile by specifying it with a parameter. For example, eas submit --platform iOS --profile submit-profile-name
.
submit
profilesA submit
profile can extend another profile using the extends
key. For example, in the preview
profile you may have "extends": "production"
. This makes the preview
profile inherit the configuration of the production
profile.
Learn about available properties for EAS Submit to configure and override their default behavior from within your project.