eas-cli 0.36.1 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -26
- package/build/build/ios/UpdatesModule.js +3 -2
- package/build/build/ios/version.js +7 -3
- package/build/build/local.js +1 -1
- package/build/build/utils/devClient.d.ts +1 -2
- package/build/build/utils/repository.js +1 -0
- package/build/commands/branch/publish.js +24 -2
- package/build/commands/build/index.js +2 -8
- package/build/commands/channel/create.d.ts +6 -0
- package/build/commands/channel/create.js +2 -0
- package/build/commands/secret/create.js +0 -6
- package/build/commands/secret/delete.js +0 -6
- package/build/commands/secret/list.js +0 -6
- package/build/commands/submit.js +2 -11
- package/build/credentials/ios/appstore/entitlements.js +8 -11
- package/build/project/android/applicationId.d.ts +6 -0
- package/build/project/android/applicationId.js +39 -29
- package/build/project/android/gradle.js +3 -2
- package/build/project/android/gradleUtils.d.ts +1 -0
- package/build/project/ios/bundleIdentifier.d.ts +6 -1
- package/build/project/ios/bundleIdentifier.js +29 -18
- package/build/submit/android/AndroidSubmitCommand.d.ts +1 -2
- package/build/submit/android/AndroidSubmitCommand.js +22 -35
- package/build/submit/android/AndroidSubmitter.d.ts +0 -2
- package/build/submit/android/AndroidSubmitter.js +1 -3
- package/build/submit/android/ServiceAccountSource.d.ts +3 -2
- package/build/submit/android/ServiceAccountSource.js +16 -4
- package/build/submit/ios/CredentialsServiceSource.d.ts +6 -3
- package/build/submit/ios/CredentialsServiceSource.js +13 -2
- package/build/submit/ios/IosSubmitCommand.d.ts +2 -1
- package/build/submit/ios/IosSubmitCommand.js +46 -17
- package/build/submit/ios/IosSubmitter.js +1 -1
- package/build/{build/ios → utils}/plist.d.ts +1 -1
- package/build/{build/ios → utils}/plist.js +8 -2
- package/build/utils/profiles.d.ts +9 -4
- package/build/utils/profiles.js +14 -7
- package/build/vcs/clients/git.d.ts +2 -1
- package/build/vcs/clients/git.js +83 -5
- package/build/vcs/vcs.d.ts +4 -3
- package/build/vcs/vcs.js +3 -3
- package/oclif.manifest.json +1 -1
- package/package.json +3 -3
- package/build/project/isEasEnabledForProject.d.ts +0 -8
- package/build/project/isEasEnabledForProject.js +0 -33
- package/build/submit/android/AndroidPackageSource.d.ts +0 -17
- package/build/submit/android/AndroidPackageSource.js +0 -27
package/README.md
CHANGED
|
@@ -73,7 +73,7 @@ ALIASES
|
|
|
73
73
|
$ eas login
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
_See code: [src/commands/account/login.js](https://github.com/expo/eas-cli/blob/v0.
|
|
76
|
+
_See code: [src/commands/account/login.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/account/login.js)_
|
|
77
77
|
|
|
78
78
|
## `eas account:logout`
|
|
79
79
|
|
|
@@ -87,7 +87,7 @@ ALIASES
|
|
|
87
87
|
$ eas logout
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
_See code: [src/commands/account/logout.js](https://github.com/expo/eas-cli/blob/v0.
|
|
90
|
+
_See code: [src/commands/account/logout.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/account/logout.js)_
|
|
91
91
|
|
|
92
92
|
## `eas account:view`
|
|
93
93
|
|
|
@@ -101,7 +101,7 @@ ALIASES
|
|
|
101
101
|
$ eas whoami
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
_See code: [src/commands/account/view.js](https://github.com/expo/eas-cli/blob/v0.
|
|
104
|
+
_See code: [src/commands/account/view.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/account/view.js)_
|
|
105
105
|
|
|
106
106
|
## `eas analytics [STATUS]`
|
|
107
107
|
|
|
@@ -112,7 +112,7 @@ USAGE
|
|
|
112
112
|
$ eas analytics [STATUS]
|
|
113
113
|
```
|
|
114
114
|
|
|
115
|
-
_See code: [src/commands/analytics.js](https://github.com/expo/eas-cli/blob/v0.
|
|
115
|
+
_See code: [src/commands/analytics.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/analytics.js)_
|
|
116
116
|
|
|
117
117
|
## `eas build`
|
|
118
118
|
|
|
@@ -146,7 +146,7 @@ OPTIONS
|
|
|
146
146
|
--[no-]wait Wait for build(s) to complete
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
-
_See code: [src/commands/build/index.js](https://github.com/expo/eas-cli/blob/v0.
|
|
149
|
+
_See code: [src/commands/build/index.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/build/index.js)_
|
|
150
150
|
|
|
151
151
|
## `eas build:cancel [BUILD_ID]`
|
|
152
152
|
|
|
@@ -157,7 +157,7 @@ USAGE
|
|
|
157
157
|
$ eas build:cancel [BUILD_ID]
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
_See code: [src/commands/build/cancel.js](https://github.com/expo/eas-cli/blob/v0.
|
|
160
|
+
_See code: [src/commands/build/cancel.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/build/cancel.js)_
|
|
161
161
|
|
|
162
162
|
## `eas build:configure`
|
|
163
163
|
|
|
@@ -171,7 +171,7 @@ OPTIONS
|
|
|
171
171
|
-p, --platform=(android|ios|all) Platform to configure
|
|
172
172
|
```
|
|
173
173
|
|
|
174
|
-
_See code: [src/commands/build/configure.js](https://github.com/expo/eas-cli/blob/v0.
|
|
174
|
+
_See code: [src/commands/build/configure.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/build/configure.js)_
|
|
175
175
|
|
|
176
176
|
## `eas build:list`
|
|
177
177
|
|
|
@@ -204,7 +204,7 @@ OPTIONS
|
|
|
204
204
|
--status=(new|in-queue|in-progress|errored|finished|canceled)
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
_See code: [src/commands/build/list.js](https://github.com/expo/eas-cli/blob/v0.
|
|
207
|
+
_See code: [src/commands/build/list.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/build/list.js)_
|
|
208
208
|
|
|
209
209
|
## `eas build:view [BUILD_ID]`
|
|
210
210
|
|
|
@@ -218,7 +218,7 @@ OPTIONS
|
|
|
218
218
|
--json Enable JSON output, non-JSON messages will be printed to stderr
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
_See code: [src/commands/build/view.js](https://github.com/expo/eas-cli/blob/v0.
|
|
221
|
+
_See code: [src/commands/build/view.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/build/view.js)_
|
|
222
222
|
|
|
223
223
|
## `eas config`
|
|
224
224
|
|
|
@@ -233,7 +233,7 @@ OPTIONS
|
|
|
233
233
|
--profile=profile
|
|
234
234
|
```
|
|
235
235
|
|
|
236
|
-
_See code: [src/commands/config.js](https://github.com/expo/eas-cli/blob/v0.
|
|
236
|
+
_See code: [src/commands/config.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/config.js)_
|
|
237
237
|
|
|
238
238
|
## `eas credentials`
|
|
239
239
|
|
|
@@ -244,7 +244,7 @@ USAGE
|
|
|
244
244
|
$ eas credentials
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
-
_See code: [src/commands/credentials.js](https://github.com/expo/eas-cli/blob/v0.
|
|
247
|
+
_See code: [src/commands/credentials.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/credentials.js)_
|
|
248
248
|
|
|
249
249
|
## `eas device:create`
|
|
250
250
|
|
|
@@ -255,7 +255,7 @@ USAGE
|
|
|
255
255
|
$ eas device:create
|
|
256
256
|
```
|
|
257
257
|
|
|
258
|
-
_See code: [src/commands/device/create.js](https://github.com/expo/eas-cli/blob/v0.
|
|
258
|
+
_See code: [src/commands/device/create.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/device/create.js)_
|
|
259
259
|
|
|
260
260
|
## `eas device:list`
|
|
261
261
|
|
|
@@ -269,7 +269,7 @@ OPTIONS
|
|
|
269
269
|
--apple-team-id=apple-team-id
|
|
270
270
|
```
|
|
271
271
|
|
|
272
|
-
_See code: [src/commands/device/list.js](https://github.com/expo/eas-cli/blob/v0.
|
|
272
|
+
_See code: [src/commands/device/list.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/device/list.js)_
|
|
273
273
|
|
|
274
274
|
## `eas device:view [UDID]`
|
|
275
275
|
|
|
@@ -280,7 +280,7 @@ USAGE
|
|
|
280
280
|
$ eas device:view [UDID]
|
|
281
281
|
```
|
|
282
282
|
|
|
283
|
-
_See code: [src/commands/device/view.js](https://github.com/expo/eas-cli/blob/v0.
|
|
283
|
+
_See code: [src/commands/device/view.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/device/view.js)_
|
|
284
284
|
|
|
285
285
|
## `eas diagnostics`
|
|
286
286
|
|
|
@@ -291,7 +291,7 @@ USAGE
|
|
|
291
291
|
$ eas diagnostics
|
|
292
292
|
```
|
|
293
293
|
|
|
294
|
-
_See code: [src/commands/diagnostics.js](https://github.com/expo/eas-cli/blob/v0.
|
|
294
|
+
_See code: [src/commands/diagnostics.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/diagnostics.js)_
|
|
295
295
|
|
|
296
296
|
## `eas help [COMMAND]`
|
|
297
297
|
|
|
@@ -319,7 +319,7 @@ USAGE
|
|
|
319
319
|
$ eas project:info
|
|
320
320
|
```
|
|
321
321
|
|
|
322
|
-
_See code: [src/commands/project/info.js](https://github.com/expo/eas-cli/blob/v0.
|
|
322
|
+
_See code: [src/commands/project/info.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/project/info.js)_
|
|
323
323
|
|
|
324
324
|
## `eas project:init`
|
|
325
325
|
|
|
@@ -333,7 +333,7 @@ ALIASES
|
|
|
333
333
|
$ eas init
|
|
334
334
|
```
|
|
335
335
|
|
|
336
|
-
_See code: [src/commands/project/init.js](https://github.com/expo/eas-cli/blob/v0.
|
|
336
|
+
_See code: [src/commands/project/init.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/project/init.js)_
|
|
337
337
|
|
|
338
338
|
## `eas secret:create`
|
|
339
339
|
|
|
@@ -350,7 +350,7 @@ OPTIONS
|
|
|
350
350
|
--value=value Value of the secret
|
|
351
351
|
```
|
|
352
352
|
|
|
353
|
-
_See code: [src/commands/secret/create.js](https://github.com/expo/eas-cli/blob/v0.
|
|
353
|
+
_See code: [src/commands/secret/create.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/secret/create.js)_
|
|
354
354
|
|
|
355
355
|
## `eas secret:delete`
|
|
356
356
|
|
|
@@ -367,7 +367,7 @@ DESCRIPTION
|
|
|
367
367
|
Unsure where to find the secret's ID? Run eas secret:list
|
|
368
368
|
```
|
|
369
369
|
|
|
370
|
-
_See code: [src/commands/secret/delete.js](https://github.com/expo/eas-cli/blob/v0.
|
|
370
|
+
_See code: [src/commands/secret/delete.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/secret/delete.js)_
|
|
371
371
|
|
|
372
372
|
## `eas secret:list`
|
|
373
373
|
|
|
@@ -378,7 +378,7 @@ USAGE
|
|
|
378
378
|
$ eas secret:list
|
|
379
379
|
```
|
|
380
380
|
|
|
381
|
-
_See code: [src/commands/secret/list.js](https://github.com/expo/eas-cli/blob/v0.
|
|
381
|
+
_See code: [src/commands/secret/list.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/secret/list.js)_
|
|
382
382
|
|
|
383
383
|
## `eas submit`
|
|
384
384
|
|
|
@@ -411,7 +411,7 @@ ALIASES
|
|
|
411
411
|
$ eas build:submit
|
|
412
412
|
```
|
|
413
413
|
|
|
414
|
-
_See code: [src/commands/submit.js](https://github.com/expo/eas-cli/blob/v0.
|
|
414
|
+
_See code: [src/commands/submit.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/submit.js)_
|
|
415
415
|
|
|
416
416
|
## `eas webhook:create`
|
|
417
417
|
|
|
@@ -430,7 +430,7 @@ OPTIONS
|
|
|
430
430
|
--url=url Webhook URL
|
|
431
431
|
```
|
|
432
432
|
|
|
433
|
-
_See code: [src/commands/webhook/create.js](https://github.com/expo/eas-cli/blob/v0.
|
|
433
|
+
_See code: [src/commands/webhook/create.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/webhook/create.js)_
|
|
434
434
|
|
|
435
435
|
## `eas webhook:delete [ID]`
|
|
436
436
|
|
|
@@ -444,7 +444,7 @@ ARGUMENTS
|
|
|
444
444
|
ID ID of the webhook to delete
|
|
445
445
|
```
|
|
446
446
|
|
|
447
|
-
_See code: [src/commands/webhook/delete.js](https://github.com/expo/eas-cli/blob/v0.
|
|
447
|
+
_See code: [src/commands/webhook/delete.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/webhook/delete.js)_
|
|
448
448
|
|
|
449
449
|
## `eas webhook:list`
|
|
450
450
|
|
|
@@ -458,7 +458,7 @@ OPTIONS
|
|
|
458
458
|
--event=(BUILD) Event type that triggers the webhook
|
|
459
459
|
```
|
|
460
460
|
|
|
461
|
-
_See code: [src/commands/webhook/list.js](https://github.com/expo/eas-cli/blob/v0.
|
|
461
|
+
_See code: [src/commands/webhook/list.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/webhook/list.js)_
|
|
462
462
|
|
|
463
463
|
## `eas webhook:update`
|
|
464
464
|
|
|
@@ -478,7 +478,7 @@ OPTIONS
|
|
|
478
478
|
--url=url Webhook URL
|
|
479
479
|
```
|
|
480
480
|
|
|
481
|
-
_See code: [src/commands/webhook/update.js](https://github.com/expo/eas-cli/blob/v0.
|
|
481
|
+
_See code: [src/commands/webhook/update.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/webhook/update.js)_
|
|
482
482
|
|
|
483
483
|
## `eas webhook:view ID`
|
|
484
484
|
|
|
@@ -492,5 +492,5 @@ ARGUMENTS
|
|
|
492
492
|
ID ID of the webhook to view
|
|
493
493
|
```
|
|
494
494
|
|
|
495
|
-
_See code: [src/commands/webhook/view.js](https://github.com/expo/eas-cli/blob/v0.
|
|
495
|
+
_See code: [src/commands/webhook/view.js](https://github.com/expo/eas-cli/blob/v0.37.0/packages/eas-cli/src/commands/webhook/view.js)_
|
|
496
496
|
<!-- commandsstop -->
|
|
@@ -6,9 +6,9 @@ const config_plugins_1 = require("@expo/config-plugins");
|
|
|
6
6
|
const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
|
|
7
7
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
8
8
|
const actions_1 = require("../../user/actions");
|
|
9
|
+
const plist_1 = require("../../utils/plist");
|
|
9
10
|
const vcs_1 = require("../../vcs");
|
|
10
11
|
const updates_1 = require("../utils/updates");
|
|
11
|
-
const plist_1 = require("./plist");
|
|
12
12
|
async function configureUpdatesAsync(projectDir, exp) {
|
|
13
13
|
(0, updates_1.ensureValidVersions)(exp);
|
|
14
14
|
const accountName = (0, projectUtils_1.getProjectAccountName)(exp, await (0, actions_1.ensureLoggedInAsync)());
|
|
@@ -49,8 +49,9 @@ async function ensureUpdatesConfiguredAsync(projectDir) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
async function readExpoPlistAsync(projectDir) {
|
|
52
|
+
var _a;
|
|
52
53
|
const expoPlistPath = config_plugins_1.IOSConfig.Paths.getExpoPlistPath(projectDir);
|
|
53
|
-
return (await (0, plist_1.readPlistAsync)(expoPlistPath));
|
|
54
|
+
return ((_a = (await (0, plist_1.readPlistAsync)(expoPlistPath))) !== null && _a !== void 0 ? _a : {});
|
|
54
55
|
}
|
|
55
56
|
async function writeExpoPlistAsync(projectDir, expoPlist) {
|
|
56
57
|
const expoPlistPath = config_plugins_1.IOSConfig.Paths.getExpoPlistPath(projectDir);
|
|
@@ -10,9 +10,9 @@ const path_1 = (0, tslib_1.__importDefault)(require("path"));
|
|
|
10
10
|
const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
|
|
11
11
|
const workflow_1 = require("../../project/workflow");
|
|
12
12
|
const prompts_1 = require("../../prompts");
|
|
13
|
+
const plist_1 = require("../../utils/plist");
|
|
13
14
|
const appJson_1 = require("../utils/appJson");
|
|
14
15
|
const version_1 = require("../utils/version");
|
|
15
|
-
const plist_1 = require("./plist");
|
|
16
16
|
var BumpStrategy;
|
|
17
17
|
(function (BumpStrategy) {
|
|
18
18
|
BumpStrategy[BumpStrategy["APP_VERSION"] = 0] = "APP_VERSION";
|
|
@@ -96,7 +96,10 @@ async function maybeResolveVersionsAsync(projectDir, exp, buildSettings) {
|
|
|
96
96
|
appVersion: await readShortVersionAsync(projectDir, exp, buildSettings),
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
-
catch {
|
|
99
|
+
catch (err) {
|
|
100
|
+
log_1.default.warn('Failed to read app versions.');
|
|
101
|
+
log_1.default.warn(err.message);
|
|
102
|
+
log_1.default.warn('Proceeding anyway...');
|
|
100
103
|
return {};
|
|
101
104
|
}
|
|
102
105
|
}
|
|
@@ -125,8 +128,9 @@ function getInfoPlistPath(projectDir, buildSettings) {
|
|
|
125
128
|
}
|
|
126
129
|
exports.getInfoPlistPath = getInfoPlistPath;
|
|
127
130
|
async function readInfoPlistAsync(projectDir, buildSettings) {
|
|
131
|
+
var _a;
|
|
128
132
|
const infoPlistPath = getInfoPlistPath(projectDir, buildSettings);
|
|
129
|
-
return (await (0, plist_1.readPlistAsync)(infoPlistPath));
|
|
133
|
+
return ((_a = (await (0, plist_1.readPlistAsync)(infoPlistPath))) !== null && _a !== void 0 ? _a : {});
|
|
130
134
|
}
|
|
131
135
|
async function writeInfoPlistAsync({ projectDir, infoPlist, buildSettings, }) {
|
|
132
136
|
const infoPlistPath = getInfoPlistPath(projectDir, buildSettings);
|
package/build/build/local.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.runLocalBuildAsync = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const spawn_async_1 = (0, tslib_1.__importDefault)(require("@expo/spawn-async"));
|
|
6
6
|
const PLUGIN_PACKAGE_NAME = 'eas-cli-local-build-plugin';
|
|
7
|
-
const PLUGIN_PACKAGE_VERSION = '0.0.
|
|
7
|
+
const PLUGIN_PACKAGE_VERSION = '0.0.50';
|
|
8
8
|
async function runLocalBuildAsync(job) {
|
|
9
9
|
const { command, args } = getCommandAndArgs(job);
|
|
10
10
|
await (0, spawn_async_1.default)(command, args, {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { BuildProfile } from '@expo/eas-json';
|
|
2
1
|
import { ProfileData } from '../../utils/profiles';
|
|
3
2
|
export declare function ensureExpoDevClientInstalledForDevClientBuildsAsync({ projectDir, nonInteractive, buildProfiles, }: {
|
|
4
3
|
projectDir: string;
|
|
5
4
|
nonInteractive?: boolean;
|
|
6
|
-
buildProfiles?: ProfileData<
|
|
5
|
+
buildProfiles?: ProfileData<'build'>[];
|
|
7
6
|
}): Promise<void>;
|
|
@@ -113,6 +113,7 @@ async function reviewAndCommitChangesAsync(initialCommitMessage, { nonInteractiv
|
|
|
113
113
|
await (0, vcs_1.getVcsClient)().commitAsync({
|
|
114
114
|
commitMessage: initialCommitMessage,
|
|
115
115
|
commitAllFiles: false,
|
|
116
|
+
nonInteractive,
|
|
116
117
|
});
|
|
117
118
|
log_1.default.withTick('Committed changes.');
|
|
118
119
|
return;
|
|
@@ -23,7 +23,8 @@ const utils_1 = require("../../update/utils");
|
|
|
23
23
|
const uniqBy_1 = (0, tslib_1.__importDefault)(require("../../utils/expodash/uniqBy"));
|
|
24
24
|
const formatFields_1 = (0, tslib_1.__importDefault)(require("../../utils/formatFields"));
|
|
25
25
|
const vcs_1 = require("../../vcs");
|
|
26
|
-
const create_1 = require("
|
|
26
|
+
const create_1 = require("../channel/create");
|
|
27
|
+
const create_2 = require("./create");
|
|
27
28
|
const list_1 = require("./list");
|
|
28
29
|
const view_1 = require("./view");
|
|
29
30
|
exports.defaultPublishPlatforms = ['android', 'ios'];
|
|
@@ -46,6 +47,24 @@ async function getUpdateGroupAsync({ group, }) {
|
|
|
46
47
|
.toPromise());
|
|
47
48
|
return updatesByGroup;
|
|
48
49
|
}
|
|
50
|
+
async function ensureChannelExistsAsync({ appId, branchId, channelName, }) {
|
|
51
|
+
var _a;
|
|
52
|
+
try {
|
|
53
|
+
await (0, create_1.createUpdateChannelOnAppAsync)({
|
|
54
|
+
appId,
|
|
55
|
+
channelName,
|
|
56
|
+
branchId,
|
|
57
|
+
});
|
|
58
|
+
log_1.default.withTick(`Created a channel: ${chalk_1.default.bold(channelName)} pointed at branch: ${chalk_1.default.bold(channelName)}.`);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
const isIgnorableError = ((_a = e.graphQLErrors) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
|
|
62
|
+
e.graphQLErrors[0].extensions.errorCode === 'CHANNEL_ALREADY_EXISTS';
|
|
63
|
+
if (!isIgnorableError) {
|
|
64
|
+
throw e;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
49
68
|
async function ensureBranchExistsAsync({ appId, name: branchName, }) {
|
|
50
69
|
const { app } = await (0, view_1.viewUpdateBranchAsync)({
|
|
51
70
|
appId,
|
|
@@ -54,9 +73,12 @@ async function ensureBranchExistsAsync({ appId, name: branchName, }) {
|
|
|
54
73
|
const updateBranch = app === null || app === void 0 ? void 0 : app.byId.updateBranchByName;
|
|
55
74
|
if (updateBranch) {
|
|
56
75
|
const { id, updates } = updateBranch;
|
|
76
|
+
await ensureChannelExistsAsync({ appId, branchId: id, channelName: branchName });
|
|
57
77
|
return { id, updates };
|
|
58
78
|
}
|
|
59
|
-
const newUpdateBranch = await (0,
|
|
79
|
+
const newUpdateBranch = await (0, create_2.createUpdateBranchOnAppAsync)({ appId, name: branchName });
|
|
80
|
+
log_1.default.withTick(`Created branch: ${chalk_1.default.bold(branchName)}`);
|
|
81
|
+
await ensureChannelExistsAsync({ appId, branchId: newUpdateBranch.id, channelName: branchName });
|
|
60
82
|
return { id: newUpdateBranch.id, updates: [] };
|
|
61
83
|
}
|
|
62
84
|
class BranchPublish extends EasCommand_1.default {
|
|
@@ -23,7 +23,6 @@ const generated_1 = require("../../graphql/generated");
|
|
|
23
23
|
const AppPlatform_1 = require("../../graphql/types/AppPlatform");
|
|
24
24
|
const log_1 = (0, tslib_1.__importStar)(require("../../log"));
|
|
25
25
|
const platform_1 = require("../../platform");
|
|
26
|
-
const isEasEnabledForProject_1 = require("../../project/isEasEnabledForProject");
|
|
27
26
|
const metroConfig_1 = require("../../project/metroConfig");
|
|
28
27
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
29
28
|
const prompts_1 = require("../../prompts");
|
|
@@ -54,13 +53,11 @@ class Build extends EasCommand_1.default {
|
|
|
54
53
|
await (0, repository_1.ensureRepoIsCleanAsync)(flags.nonInteractive);
|
|
55
54
|
await (0, configure_1.ensureProjectConfiguredAsync)(projectDir, requestedPlatform);
|
|
56
55
|
const platforms = (0, platform_1.toPlatforms)(requestedPlatform);
|
|
57
|
-
const easJsonReader = new eas_json_1.EasJsonReader(projectDir);
|
|
58
56
|
const buildProfiles = await (0, profiles_1.getProfilesAsync)({
|
|
57
|
+
type: 'build',
|
|
58
|
+
projectDir,
|
|
59
59
|
platforms,
|
|
60
60
|
profileName: flags.profile,
|
|
61
|
-
async readProfileAsync(platform, profileName) {
|
|
62
|
-
return await easJsonReader.readBuildProfileAsync(platform, profileName);
|
|
63
|
-
},
|
|
64
61
|
});
|
|
65
62
|
await (0, devClient_1.ensureExpoDevClientInstalledForDevClientBuildsAsync)({
|
|
66
63
|
projectDir,
|
|
@@ -178,9 +175,6 @@ class Build extends EasCommand_1.default {
|
|
|
178
175
|
await (0, metroConfig_1.validateMetroConfigForManagedWorkflowAsync)(buildCtx);
|
|
179
176
|
this.metroConfigValidated = true;
|
|
180
177
|
}
|
|
181
|
-
if (!buildCtx.local && !(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(buildCtx.projectId))) {
|
|
182
|
-
(0, errors_1.error)(isEasEnabledForProject_1.EAS_UNAVAILABLE_MESSAGE, { exit: 1 });
|
|
183
|
-
}
|
|
184
178
|
const build = await this.startBuildAsync(buildCtx);
|
|
185
179
|
return {
|
|
186
180
|
build,
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import EasCommand from '../../commandUtils/EasCommand';
|
|
2
|
+
import { CreateUpdateChannelOnAppMutation } from '../../graphql/generated';
|
|
3
|
+
export declare function createUpdateChannelOnAppAsync({ appId, channelName, branchId, }: {
|
|
4
|
+
appId: string;
|
|
5
|
+
channelName: string;
|
|
6
|
+
branchId: string;
|
|
7
|
+
}): Promise<CreateUpdateChannelOnAppMutation>;
|
|
2
8
|
export default class ChannelCreate extends EasCommand {
|
|
3
9
|
static hidden: boolean;
|
|
4
10
|
static description: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUpdateChannelOnAppAsync = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
const config_1 = require("@expo/config");
|
|
5
6
|
const command_1 = require("@oclif/command");
|
|
@@ -36,6 +37,7 @@ async function createUpdateChannelOnAppAsync({ appId, channelName, branchId, })
|
|
|
36
37
|
})
|
|
37
38
|
.toPromise());
|
|
38
39
|
}
|
|
40
|
+
exports.createUpdateChannelOnAppAsync = createUpdateChannelOnAppAsync;
|
|
39
41
|
class ChannelCreate extends EasCommand_1.default {
|
|
40
42
|
async runAsync() {
|
|
41
43
|
let { args: { name: channelName }, flags: { json: jsonFlag }, } = this.parse(ChannelCreate);
|
|
@@ -8,7 +8,6 @@ const EasCommand_1 = (0, tslib_1.__importDefault)(require("../../commandUtils/Ea
|
|
|
8
8
|
const EnvironmentSecretMutation_1 = require("../../graphql/mutations/EnvironmentSecretMutation");
|
|
9
9
|
const EnvironmentSecretsQuery_1 = require("../../graphql/queries/EnvironmentSecretsQuery");
|
|
10
10
|
const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
|
|
11
|
-
const isEasEnabledForProject_1 = require("../../project/isEasEnabledForProject");
|
|
12
11
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
13
12
|
const prompts_1 = require("../../prompts");
|
|
14
13
|
const Account_1 = require("../../user/Account");
|
|
@@ -23,11 +22,6 @@ class EnvironmentSecretCreate extends EasCommand_1.default {
|
|
|
23
22
|
const accountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
24
23
|
const { slug } = exp;
|
|
25
24
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
26
|
-
if (!(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(projectId))) {
|
|
27
|
-
(0, isEasEnabledForProject_1.warnEasUnavailable)();
|
|
28
|
-
process.exitCode = 1;
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
25
|
if (!scope) {
|
|
32
26
|
const validationMessage = 'Secret scope may not be empty.';
|
|
33
27
|
({ scope } = await (0, prompts_1.promptAsync)({
|
|
@@ -8,7 +8,6 @@ const EasCommand_1 = (0, tslib_1.__importDefault)(require("../../commandUtils/Ea
|
|
|
8
8
|
const EnvironmentSecretMutation_1 = require("../../graphql/mutations/EnvironmentSecretMutation");
|
|
9
9
|
const EnvironmentSecretsQuery_1 = require("../../graphql/queries/EnvironmentSecretsQuery");
|
|
10
10
|
const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
|
|
11
|
-
const isEasEnabledForProject_1 = require("../../project/isEasEnabledForProject");
|
|
12
11
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
13
12
|
const prompts_1 = require("../../prompts");
|
|
14
13
|
class EnvironmentSecretDelete extends EasCommand_1.default {
|
|
@@ -17,11 +16,6 @@ class EnvironmentSecretDelete extends EasCommand_1.default {
|
|
|
17
16
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
18
17
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
19
18
|
const projectAccountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
20
|
-
if (!(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(projectId))) {
|
|
21
|
-
(0, isEasEnabledForProject_1.warnEasUnavailable)();
|
|
22
|
-
process.exitCode = 1;
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
19
|
let { flags: { id }, } = this.parse(EnvironmentSecretDelete);
|
|
26
20
|
let secret;
|
|
27
21
|
if (!id) {
|
|
@@ -8,7 +8,6 @@ const dateformat_1 = (0, tslib_1.__importDefault)(require("dateformat"));
|
|
|
8
8
|
const EasCommand_1 = (0, tslib_1.__importDefault)(require("../../commandUtils/EasCommand"));
|
|
9
9
|
const EnvironmentSecretsQuery_1 = require("../../graphql/queries/EnvironmentSecretsQuery");
|
|
10
10
|
const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
|
|
11
|
-
const isEasEnabledForProject_1 = require("../../project/isEasEnabledForProject");
|
|
12
11
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
13
12
|
class EnvironmentSecretList extends EasCommand_1.default {
|
|
14
13
|
async runAsync() {
|
|
@@ -16,11 +15,6 @@ class EnvironmentSecretList extends EasCommand_1.default {
|
|
|
16
15
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
17
16
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
18
17
|
const projectAccountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
19
|
-
if (!(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(projectId))) {
|
|
20
|
-
(0, isEasEnabledForProject_1.warnEasUnavailable)();
|
|
21
|
-
process.exitCode = 1;
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
18
|
if (!projectDir) {
|
|
25
19
|
throw new Error("Please run this command inside your project's directory");
|
|
26
20
|
}
|
package/build/commands/submit.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
|
-
const eas_json_1 = require("@expo/eas-json");
|
|
6
5
|
const command_1 = require("@oclif/command");
|
|
7
6
|
const errors_1 = require("@oclif/errors");
|
|
8
7
|
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
@@ -10,7 +9,6 @@ const EasCommand_1 = (0, tslib_1.__importDefault)(require("../commandUtils/EasCo
|
|
|
10
9
|
const AppPlatform_1 = require("../graphql/types/AppPlatform");
|
|
11
10
|
const log_1 = (0, tslib_1.__importStar)(require("../log"));
|
|
12
11
|
const platform_1 = require("../platform");
|
|
13
|
-
const isEasEnabledForProject_1 = require("../project/isEasEnabledForProject");
|
|
14
12
|
const projectUtils_1 = require("../project/projectUtils");
|
|
15
13
|
const context_1 = require("../submit/context");
|
|
16
14
|
const submit_1 = require("../submit/submit");
|
|
@@ -23,19 +21,12 @@ class Submit extends EasCommand_1.default {
|
|
|
23
21
|
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
24
22
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
25
23
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
26
|
-
if (!(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(projectId))) {
|
|
27
|
-
(0, isEasEnabledForProject_1.warnEasUnavailable)();
|
|
28
|
-
process.exitCode = 1;
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
24
|
const platforms = (0, platform_1.toPlatforms)(flags.requestedPlatform);
|
|
32
|
-
const easJsonReader = new eas_json_1.EasJsonReader(projectDir);
|
|
33
25
|
const submissionProfiles = await (0, profiles_1.getProfilesAsync)({
|
|
26
|
+
type: 'submit',
|
|
27
|
+
projectDir,
|
|
34
28
|
platforms,
|
|
35
29
|
profileName: flags.profile,
|
|
36
|
-
async readProfileAsync(platform, profileName) {
|
|
37
|
-
return await easJsonReader.readSubmitProfileAsync(platform, profileName);
|
|
38
|
-
},
|
|
39
30
|
});
|
|
40
31
|
const submissions = [];
|
|
41
32
|
for (const submissionProfile of submissionProfiles) {
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveEntitlementsJsonAsync = exports.getManagedEntitlementsJsonAsync = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
6
5
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
7
|
-
const plist_1 = (0, tslib_1.__importDefault)(require("@expo/plist"));
|
|
8
6
|
const prebuild_config_1 = require("@expo/prebuild-config");
|
|
9
|
-
const
|
|
7
|
+
const plist_1 = require("../../../utils/plist");
|
|
10
8
|
async function getManagedEntitlementsJsonAsync(projectDir, env) {
|
|
11
9
|
var _a;
|
|
12
10
|
const originalProcessEnv = process.env;
|
|
@@ -41,13 +39,12 @@ async function resolveEntitlementsJsonAsync(projectDir, workflow, env) {
|
|
|
41
39
|
}
|
|
42
40
|
exports.resolveEntitlementsJsonAsync = resolveEntitlementsJsonAsync;
|
|
43
41
|
async function getEntitlementsJsonAsync(projectDir) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
const entitlementsPath = config_plugins_1.IOSConfig.Paths.getEntitlementsPath(projectDir);
|
|
43
|
+
if (entitlementsPath) {
|
|
44
|
+
const plist = await (0, plist_1.readPlistAsync)(entitlementsPath);
|
|
45
|
+
return plist ? plist : null;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return null;
|
|
50
49
|
}
|
|
51
|
-
catch { }
|
|
52
|
-
return null;
|
|
53
50
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { ExpoConfig } from '@expo/config';
|
|
2
2
|
import { GradleBuildContext } from './gradle';
|
|
3
|
+
export declare const INVALID_APPLICATION_ID_MESSAGE = "Invalid format of Android applicationId. Only alphanumeric characters, '.' and '_' are allowed, and each '.' must be followed by a letter.";
|
|
3
4
|
export declare function ensureApplicationIdIsDefinedForManagedProjectAsync(projectDir: string, exp: ExpoConfig): Promise<string>;
|
|
5
|
+
export declare class AmbiguousApplicationIdError extends Error {
|
|
6
|
+
constructor(message?: string);
|
|
7
|
+
}
|
|
8
|
+
export declare function getApplicationIdFromBareAsync(projectDir: string, gradleContext?: GradleBuildContext): Promise<string>;
|
|
4
9
|
export declare function getApplicationIdAsync(projectDir: string, exp: ExpoConfig, gradleContext?: GradleBuildContext): Promise<string>;
|
|
10
|
+
export declare function isApplicationIdValid(applicationId: string): boolean;
|
|
5
11
|
export declare function warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject(projectDir: string, exp: ExpoConfig): void;
|