xref: /expo/docs/pages/eas/json.mdx (revision f7a14300)
1---
2title: eas.json
3description: Learn about available properties for EAS Build and EAS Submit to configure and override their default behavior from within your project.
4maxHeadingDepth: 4
5---
6
7import { EasJsonPropertiesTable } from '~/components/plugins/EasJsonPropertiesTable';
8import { Collapsible } from '~/ui/components/Collapsible';
9
10import commonSchema from '~/public/static/schemas/unversioned/eas-json-build-common-schema.js';
11import androidSchema from '~/public/static/schemas/unversioned/eas-json-build-android-schema.js';
12import iosSchema from '~/public/static/schemas/unversioned/eas-json-build-ios-schema.js';
13import submitAndroidSchema from '~/public/static/schemas/unversioned/eas-json-submit-android-schema.js';
14import submitIosSchema from '~/public/static/schemas/unversioned/eas-json-submit-ios-schema.js';
15
16**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](/build/introduction) and [EAS Submit](/submit/introduction) on this page.
17
18## EAS Build
19
20The following properties are available in the schema for the `build` key in **eas.json**.
21
22<Collapsible summary="Example schema of multiple build profiles">
23
24```json eas.json
25{
26  "build": {
27    "base": {
28      "node": "12.13.0",
29      "yarn": "1.22.5",
30      "env": {
31        "EXAMPLE_ENV": "example value"
32      },
33      "android": {
34        "image": "default",
35        "env": {
36          "PLATFORM": "android"
37        }
38      },
39      "ios": {
40        "image": "latest",
41        "env": {
42          "PLATFORM": "ios"
43        }
44      }
45    },
46    "development": {
47      "extends": "base",
48      "developmentClient": true,
49      "env": {
50        "ENVIRONMENT": "development"
51      },
52      "android": {
53        "distribution": "internal",
54        "withoutCredentials": true
55      },
56      "ios": {
57        "simulator": true
58      }
59    },
60    "staging": {
61      "extends": "base",
62      "env": {
63        "ENVIRONMENT": "staging"
64      },
65      "distribution": "internal",
66      "android": {
67        "buildType": "apk"
68      }
69    },
70    "production": {
71      "extends": "base",
72      "env": {
73        "ENVIRONMENT": "production"
74      }
75    }
76  }
77}
78```
79
80</Collapsible>
81
82### Common properties for native platforms
83
84<EasJsonPropertiesTable schema={commonSchema} />
85
86### Android-specific options
87
88<EasJsonPropertiesTable schema={androidSchema} />
89
90### iOS-specific options
91
92<EasJsonPropertiesTable schema={iosSchema} />
93
94## EAS Submit
95
96The following properties are available in the schema for the `submit` key in **eas.json**.
97
98<Collapsible summary="Example schema of with production profile">
99
100```json eas.json
101{
102  "cli": {
103    "version": ">= 0.34.0"
104  },
105  "submit": {
106    "production": {
107      "android": {
108        "serviceAccountKeyPath": "../path/to/api-xxx-yyy-zzz.json",
109        "track": "internal"
110      },
111      "ios": {
112        "appleId": "[email protected]",
113        "ascAppId": "1234567890",
114        "appleTeamId": "AB12XYZ34S"
115      }
116    }
117  }
118}
119```
120
121</Collapsible>
122
123### Android-specific options
124
125<EasJsonPropertiesTable schema={submitAndroidSchema} />
126
127### iOS-specific options
128
129<EasJsonPropertiesTable schema={submitIosSchema} />
130