eas-cli 12.4.0 → 12.5.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 +60 -60
- package/build/build/local.js +19 -11
- package/build/commands/submit/internal.d.ts +24 -0
- package/build/commands/submit/internal.js +168 -0
- package/build/commands/worker/alias.js +4 -6
- package/build/commands/worker/deploy.d.ts +51 -1
- package/build/commands/worker/deploy.js +30 -19
- package/build/graphql/generated.d.ts +149 -25
- package/build/graphql/generated.js +1 -0
- package/build/graphql/queries/AppStoreConnectApiKeyQuery.d.ts +8 -0
- package/build/graphql/queries/AppStoreConnectApiKeyQuery.js +32 -0
- package/build/graphql/queries/GoogleServiceAccountKeyQuery.d.ts +6 -0
- package/build/graphql/queries/GoogleServiceAccountKeyQuery.js +25 -0
- package/build/project/android/applicationId.js +3 -3
- package/build/project/expoConfig.js +0 -15
- package/build/project/ios/bundleIdentifier.js +3 -3
- package/build/submit/ArchiveSource.js +15 -1
- package/build/submit/BaseSubmitter.d.ts +1 -0
- package/build/submit/BaseSubmitter.js +5 -2
- package/build/submit/android/AndroidSubmitCommand.d.ts +2 -2
- package/build/submit/android/AndroidSubmitCommand.js +1 -1
- package/build/submit/ios/IosSubmitCommand.d.ts +2 -2
- package/build/submit/ios/IosSubmitCommand.js +1 -1
- package/build/submit/submit.js +2 -1
- package/build/submit/utils/builds.js +22 -10
- package/build/worker/deployment.js +12 -8
- package/oclif.manifest.json +63 -20
- package/package.json +7 -6
|
@@ -38,7 +38,7 @@ class IosSubmitCommand {
|
|
|
38
38
|
}
|
|
39
39
|
const options = await this.resolveSubmissionOptionsAsync(archiveSourceValue);
|
|
40
40
|
const submitter = new IosSubmitter_1.default(this.ctx, options, archive);
|
|
41
|
-
return
|
|
41
|
+
return submitter;
|
|
42
42
|
}
|
|
43
43
|
async resolveSubmissionOptionsAsync(archiveSource) {
|
|
44
44
|
const credentialsSource = await this.resolveCredentialSubmissionOptionsAsync();
|
package/build/submit/submit.js
CHANGED
|
@@ -18,7 +18,8 @@ async function submitAsync(ctx) {
|
|
|
18
18
|
const command = ctx.platform === eas_build_job_1.Platform.ANDROID
|
|
19
19
|
? new AndroidSubmitCommand_1.default(ctx)
|
|
20
20
|
: new IosSubmitCommand_1.default(ctx);
|
|
21
|
-
|
|
21
|
+
const submitter = await command.runAsync();
|
|
22
|
+
return await submitter.submitAsync();
|
|
22
23
|
}, {
|
|
23
24
|
attemptEvent: AnalyticsManager_1.SubmissionEvent.SUBMIT_COMMAND_ATTEMPT,
|
|
24
25
|
successEvent: AnalyticsManager_1.SubmissionEvent.SUBMIT_COMMAND_SUCCESS,
|
|
@@ -4,15 +4,27 @@ exports.getRecentBuildsForSubmissionAsync = void 0;
|
|
|
4
4
|
const generated_1 = require("../../graphql/generated");
|
|
5
5
|
const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
|
|
6
6
|
async function getRecentBuildsForSubmissionAsync(graphqlClient, platform, appId, { limit = 1 } = {}) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
const allowedStatuses = [
|
|
8
|
+
generated_1.BuildStatus.New,
|
|
9
|
+
generated_1.BuildStatus.InQueue,
|
|
10
|
+
generated_1.BuildStatus.InProgress,
|
|
11
|
+
generated_1.BuildStatus.Finished,
|
|
12
|
+
];
|
|
13
|
+
const buildsPromises = [];
|
|
14
|
+
for (const buildStatus of allowedStatuses) {
|
|
15
|
+
buildsPromises.push(BuildQuery_1.BuildQuery.viewBuildsOnAppAsync(graphqlClient, {
|
|
16
|
+
appId,
|
|
17
|
+
limit,
|
|
18
|
+
offset: 0,
|
|
19
|
+
filter: {
|
|
20
|
+
platform,
|
|
21
|
+
distribution: generated_1.DistributionType.Store,
|
|
22
|
+
status: buildStatus,
|
|
23
|
+
},
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
const builds = (await Promise.all(buildsPromises)).reduce((acc, value) => acc.concat(value), []);
|
|
27
|
+
builds.sort((buildA, buildB) => (buildA.createdAt > buildB.createdAt ? -1 : 1));
|
|
28
|
+
return builds.slice(0, limit);
|
|
17
29
|
}
|
|
18
30
|
exports.getRecentBuildsForSubmissionAsync = getRecentBuildsForSubmissionAsync;
|
|
@@ -61,17 +61,17 @@ async function chooseDevDomainNameAsync({ graphqlClient, appId, initial, }) {
|
|
|
61
61
|
const { name } = await (0, prompts_1.promptAsync)({
|
|
62
62
|
type: 'text',
|
|
63
63
|
name: 'name',
|
|
64
|
-
message: 'Choose a URL for your project:',
|
|
64
|
+
message: 'Choose a preview URL for your project:',
|
|
65
65
|
initial,
|
|
66
66
|
validate: (value) => {
|
|
67
67
|
if (!value) {
|
|
68
|
-
return 'You have to choose a URL for your project';
|
|
68
|
+
return 'You have to choose a preview URL for your project';
|
|
69
69
|
}
|
|
70
70
|
if (value.length < 3) {
|
|
71
|
-
return '
|
|
71
|
+
return 'Preview URLs must be at least 3 characters long';
|
|
72
72
|
}
|
|
73
73
|
if (value.endsWith('-')) {
|
|
74
|
-
return '
|
|
74
|
+
return 'Preview URLs cannot end with a hyphen (-)';
|
|
75
75
|
}
|
|
76
76
|
return true;
|
|
77
77
|
},
|
|
@@ -83,7 +83,11 @@ async function chooseDevDomainNameAsync({ graphqlClient, appId, initial, }) {
|
|
|
83
83
|
},
|
|
84
84
|
onRender(kleur) {
|
|
85
85
|
this.cursorOffset = -rootDomain.length - 1;
|
|
86
|
-
if (this.
|
|
86
|
+
if (this.done) {
|
|
87
|
+
// Remove the space for the cursor when the prompt is done
|
|
88
|
+
this.rendered = this.value + kleur.dim(`${rootDomain}`);
|
|
89
|
+
}
|
|
90
|
+
else if (this.placeholder) {
|
|
87
91
|
this.rendered = kleur.dim(`${this.initial} ${rootDomain}`);
|
|
88
92
|
}
|
|
89
93
|
else {
|
|
@@ -92,7 +96,7 @@ async function chooseDevDomainNameAsync({ graphqlClient, appId, initial, }) {
|
|
|
92
96
|
},
|
|
93
97
|
});
|
|
94
98
|
if (!name) {
|
|
95
|
-
throw new Error('No
|
|
99
|
+
throw new Error('No preview URL provided, aborting deployment.');
|
|
96
100
|
}
|
|
97
101
|
try {
|
|
98
102
|
const success = await mutations_1.DeploymentsMutation.assignDevDomainNameAsync(graphqlClient, {
|
|
@@ -100,13 +104,13 @@ async function chooseDevDomainNameAsync({ graphqlClient, appId, initial, }) {
|
|
|
100
104
|
name,
|
|
101
105
|
});
|
|
102
106
|
if (!success) {
|
|
103
|
-
throw new Error('Failed to assign
|
|
107
|
+
throw new Error('Failed to assign preview URL');
|
|
104
108
|
}
|
|
105
109
|
}
|
|
106
110
|
catch (error) {
|
|
107
111
|
const isChosenNameTaken = error?.graphQLErrors?.some(e => ['DEV_DOMAIN_NAME_TAKEN'].includes(e?.extensions?.errorCode));
|
|
108
112
|
if (isChosenNameTaken) {
|
|
109
|
-
log_1.default.error(`The
|
|
113
|
+
log_1.default.error(`The preview URL "${name}" is already taken, choose a different URL.`);
|
|
110
114
|
await chooseDevDomainNameAsync({ graphqlClient, appId, initial });
|
|
111
115
|
}
|
|
112
116
|
if (!isChosenNameTaken) {
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "12.
|
|
2
|
+
"version": "12.5.0",
|
|
3
3
|
"commands": {
|
|
4
4
|
"analytics": {
|
|
5
5
|
"id": "analytics",
|
|
@@ -2684,6 +2684,49 @@
|
|
|
2684
2684
|
"privateProjectConfig": {}
|
|
2685
2685
|
}
|
|
2686
2686
|
},
|
|
2687
|
+
"submit:internal": {
|
|
2688
|
+
"id": "submit:internal",
|
|
2689
|
+
"strict": true,
|
|
2690
|
+
"pluginName": "eas-cli",
|
|
2691
|
+
"pluginAlias": "eas-cli",
|
|
2692
|
+
"pluginType": "core",
|
|
2693
|
+
"hidden": true,
|
|
2694
|
+
"aliases": [],
|
|
2695
|
+
"flags": {
|
|
2696
|
+
"platform": {
|
|
2697
|
+
"name": "platform",
|
|
2698
|
+
"type": "option",
|
|
2699
|
+
"required": true,
|
|
2700
|
+
"helpValue": "(android|ios)",
|
|
2701
|
+
"multiple": false,
|
|
2702
|
+
"options": [
|
|
2703
|
+
"android",
|
|
2704
|
+
"ios"
|
|
2705
|
+
]
|
|
2706
|
+
},
|
|
2707
|
+
"profile": {
|
|
2708
|
+
"name": "profile",
|
|
2709
|
+
"type": "option",
|
|
2710
|
+
"description": "Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.",
|
|
2711
|
+
"multiple": false
|
|
2712
|
+
},
|
|
2713
|
+
"id": {
|
|
2714
|
+
"name": "id",
|
|
2715
|
+
"type": "option",
|
|
2716
|
+
"description": "ID of the build to submit",
|
|
2717
|
+
"required": true,
|
|
2718
|
+
"multiple": false
|
|
2719
|
+
}
|
|
2720
|
+
},
|
|
2721
|
+
"args": {},
|
|
2722
|
+
"contextDefinition": {
|
|
2723
|
+
"loggedIn": {},
|
|
2724
|
+
"privateProjectConfig": {},
|
|
2725
|
+
"projectDir": {},
|
|
2726
|
+
"analytics": {},
|
|
2727
|
+
"vcsClient": {}
|
|
2728
|
+
}
|
|
2729
|
+
},
|
|
2687
2730
|
"update:configure": {
|
|
2688
2731
|
"id": "update:configure",
|
|
2689
2732
|
"description": "configure the project to support EAS Update",
|
|
@@ -3389,7 +3432,7 @@
|
|
|
3389
3432
|
"prod": {
|
|
3390
3433
|
"name": "prod",
|
|
3391
3434
|
"type": "boolean",
|
|
3392
|
-
"description": "Promote an existing deployment to production",
|
|
3435
|
+
"description": "Promote an existing deployment to production.",
|
|
3393
3436
|
"allowNo": false,
|
|
3394
3437
|
"aliases": [
|
|
3395
3438
|
"production"
|
|
@@ -3398,7 +3441,7 @@
|
|
|
3398
3441
|
"alias": {
|
|
3399
3442
|
"name": "alias",
|
|
3400
3443
|
"type": "option",
|
|
3401
|
-
"description": "Custom alias to assign to the existing deployment",
|
|
3444
|
+
"description": "Custom alias to assign to the existing deployment.",
|
|
3402
3445
|
"required": false,
|
|
3403
3446
|
"helpValue": "name",
|
|
3404
3447
|
"multiple": false
|
|
@@ -3406,7 +3449,7 @@
|
|
|
3406
3449
|
"id": {
|
|
3407
3450
|
"name": "id",
|
|
3408
3451
|
"type": "option",
|
|
3409
|
-
"description": "Unique identifier of an existing deployment",
|
|
3452
|
+
"description": "Unique identifier of an existing deployment.",
|
|
3410
3453
|
"required": false,
|
|
3411
3454
|
"helpValue": "xyz123",
|
|
3412
3455
|
"multiple": false
|
|
@@ -3455,7 +3498,7 @@
|
|
|
3455
3498
|
"prod": {
|
|
3456
3499
|
"name": "prod",
|
|
3457
3500
|
"type": "boolean",
|
|
3458
|
-
"description": "Create a new production deployment",
|
|
3501
|
+
"description": "Create a new production deployment.",
|
|
3459
3502
|
"allowNo": false,
|
|
3460
3503
|
"aliases": [
|
|
3461
3504
|
"production"
|
|
@@ -3464,25 +3507,37 @@
|
|
|
3464
3507
|
"alias": {
|
|
3465
3508
|
"name": "alias",
|
|
3466
3509
|
"type": "option",
|
|
3467
|
-
"description": "Custom alias to assign to the new deployment",
|
|
3510
|
+
"description": "Custom alias to assign to the new deployment.",
|
|
3468
3511
|
"helpValue": "name",
|
|
3469
3512
|
"multiple": false
|
|
3470
3513
|
},
|
|
3471
3514
|
"id": {
|
|
3472
3515
|
"name": "id",
|
|
3473
3516
|
"type": "option",
|
|
3474
|
-
"description": "Custom unique identifier for the new deployment",
|
|
3517
|
+
"description": "Custom unique identifier for the new deployment.",
|
|
3475
3518
|
"helpValue": "xyz123",
|
|
3476
3519
|
"multiple": false
|
|
3477
3520
|
},
|
|
3478
3521
|
"export-dir": {
|
|
3479
3522
|
"name": "export-dir",
|
|
3480
3523
|
"type": "option",
|
|
3481
|
-
"description": "Directory where the Expo project was exported",
|
|
3524
|
+
"description": "Directory where the Expo project was exported.",
|
|
3482
3525
|
"helpValue": "dir",
|
|
3483
3526
|
"multiple": false,
|
|
3484
3527
|
"default": "dist"
|
|
3485
3528
|
},
|
|
3529
|
+
"environment": {
|
|
3530
|
+
"name": "environment",
|
|
3531
|
+
"type": "option",
|
|
3532
|
+
"description": "Deploy with EAS Environment Variables matching the specified environment.",
|
|
3533
|
+
"helpValue": "(development|preview|production)",
|
|
3534
|
+
"multiple": false,
|
|
3535
|
+
"options": [
|
|
3536
|
+
"development",
|
|
3537
|
+
"preview",
|
|
3538
|
+
"production"
|
|
3539
|
+
]
|
|
3540
|
+
},
|
|
3486
3541
|
"json": {
|
|
3487
3542
|
"name": "json",
|
|
3488
3543
|
"type": "boolean",
|
|
@@ -3497,18 +3552,6 @@
|
|
|
3497
3552
|
"type": "boolean",
|
|
3498
3553
|
"description": "Run the command in non-interactive mode.",
|
|
3499
3554
|
"allowNo": false
|
|
3500
|
-
},
|
|
3501
|
-
"environment": {
|
|
3502
|
-
"name": "environment",
|
|
3503
|
-
"type": "option",
|
|
3504
|
-
"description": "Environment variable's environment",
|
|
3505
|
-
"helpValue": "(development|preview|production)",
|
|
3506
|
-
"multiple": false,
|
|
3507
|
-
"options": [
|
|
3508
|
-
"development",
|
|
3509
|
-
"preview",
|
|
3510
|
-
"production"
|
|
3511
|
-
]
|
|
3512
3555
|
}
|
|
3513
3556
|
},
|
|
3514
3557
|
"args": {},
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eas-cli",
|
|
3
3
|
"description": "EAS command line tool",
|
|
4
|
-
"version": "12.
|
|
4
|
+
"version": "12.5.0",
|
|
5
5
|
"author": "Expo <support@expo.dev>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"eas": "./bin/run"
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"@expo/config": "8.5.4",
|
|
14
14
|
"@expo/config-plugins": "7.8.4",
|
|
15
15
|
"@expo/config-types": "50.0.0",
|
|
16
|
-
"@expo/eas-build-job": "1.0.
|
|
17
|
-
"@expo/eas-json": "12.
|
|
16
|
+
"@expo/eas-build-job": "1.0.136",
|
|
17
|
+
"@expo/eas-json": "12.5.0",
|
|
18
18
|
"@expo/env": "^0.3.0",
|
|
19
19
|
"@expo/json-file": "8.2.37",
|
|
20
20
|
"@expo/logger": "1.0.117",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@expo/results": "1.0.0",
|
|
30
30
|
"@expo/rudder-sdk-node": "1.1.1",
|
|
31
31
|
"@expo/spawn-async": "1.7.0",
|
|
32
|
-
"@expo/steps": "1.0.
|
|
32
|
+
"@expo/steps": "1.0.136",
|
|
33
33
|
"@expo/timeago.js": "1.0.0",
|
|
34
34
|
"@oclif/core": "^1.26.2",
|
|
35
35
|
"@oclif/plugin-autocomplete": "^2.3.10",
|
|
@@ -86,7 +86,8 @@
|
|
|
86
86
|
"turndown": "7.1.2",
|
|
87
87
|
"untildify": "4.0.0",
|
|
88
88
|
"uuid": "9.0.1",
|
|
89
|
-
"wrap-ansi": "7.0.0"
|
|
89
|
+
"wrap-ansi": "7.0.0",
|
|
90
|
+
"zod": "^3.23.8"
|
|
90
91
|
},
|
|
91
92
|
"devDependencies": {
|
|
92
93
|
"@graphql-codegen/cli": "5.0.0",
|
|
@@ -227,5 +228,5 @@
|
|
|
227
228
|
"node": "20.11.0",
|
|
228
229
|
"yarn": "1.22.21"
|
|
229
230
|
},
|
|
230
|
-
"gitHead": "
|
|
231
|
+
"gitHead": "981f7c97279e9848f0b3dd6a82140db8f8d735fa"
|
|
231
232
|
}
|