eas-cli 16.6.2 → 16.7.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 +82 -78
- package/build/api.d.ts +1 -1
- package/build/api.js +4 -1
- package/build/build/runBuildAndSubmit.js +8 -3
- package/build/commands/build/configure.js +7 -2
- package/build/commands/project/onboarding.js +1 -1
- package/build/commands/update/configure.js +4 -0
- package/build/commands/update/index.js +6 -0
- package/build/commands/update/republish.d.ts +1 -0
- package/build/commands/update/republish.js +8 -0
- package/build/commands/update/roll-back-to-embedded.js +4 -0
- package/build/graphql/generated.d.ts +60 -1
- package/build/graphql/types/Update.js +2 -0
- package/build/project/projectUtils.d.ts +1 -1
- package/build/project/projectUtils.js +2 -2
- package/build/project/publish.d.ts +7 -0
- package/build/project/publish.js +23 -13
- package/build/update/configure.d.ts +2 -1
- package/build/update/configure.js +5 -4
- package/build/update/republish.d.ts +2 -1
- package/build/update/republish.js +32 -2
- package/build/update/utils.d.ts +0 -1
- package/build/update/utils.js +1 -8
- package/oclif.manifest.json +8 -1
- package/package.json +3 -3
|
@@ -10,6 +10,7 @@ const PublishMutation_1 = require("../graphql/mutations/PublishMutation");
|
|
|
10
10
|
const log_1 = tslib_1.__importStar(require("../log"));
|
|
11
11
|
const ora_1 = require("../ora");
|
|
12
12
|
const projectUtils_1 = require("../project/projectUtils");
|
|
13
|
+
const publish_1 = require("../project/publish");
|
|
13
14
|
const code_signing_1 = require("../utils/code-signing");
|
|
14
15
|
const formatFields_1 = tslib_1.__importDefault(require("../utils/formatFields"));
|
|
15
16
|
const json_1 = require("../utils/json");
|
|
@@ -17,7 +18,7 @@ const json_1 = require("../utils/json");
|
|
|
17
18
|
* @param updatesToPublish The update group to republish
|
|
18
19
|
* @param targetBranch The branch to repubish the update group on
|
|
19
20
|
*/
|
|
20
|
-
async function republishAsync({ graphqlClient, app, updatesToPublish, targetBranch, updateMessage, codeSigningInfo, json, }) {
|
|
21
|
+
async function republishAsync({ graphqlClient, app, updatesToPublish, targetBranch, updateMessage, codeSigningInfo, json, rolloutPercentage, }) {
|
|
21
22
|
const { branchName: targetBranchName, branchId: targetBranchId } = targetBranch;
|
|
22
23
|
// The update group properties are the same for all updates
|
|
23
24
|
(0, assert_1.default)(updatesToPublish.length > 0, 'Updates to republish must be provided');
|
|
@@ -25,7 +26,9 @@ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBran
|
|
|
25
26
|
const isSameGroup = (update) => update.groupId === arbitraryUpdate.groupId &&
|
|
26
27
|
update.branchId === arbitraryUpdate.branchId &&
|
|
27
28
|
update.branchName === arbitraryUpdate.branchName &&
|
|
28
|
-
update.runtimeVersion === arbitraryUpdate.runtimeVersion
|
|
29
|
+
update.runtimeVersion === arbitraryUpdate.runtimeVersion &&
|
|
30
|
+
update.manifestHostOverride === arbitraryUpdate.manifestHostOverride &&
|
|
31
|
+
update.assetHostOverride === arbitraryUpdate.assetHostOverride;
|
|
29
32
|
(0, assert_1.default)(updatesToPublish.every(isSameGroup), 'All updates being republished must belong to the same update group');
|
|
30
33
|
(0, assert_1.default)(updatesToPublish.every(u => u.isRollBackToEmbedded) ||
|
|
31
34
|
updatesToPublish.every(u => !u.isRollBackToEmbedded), 'All updates must either be roll back to embedded updates or not');
|
|
@@ -76,6 +79,15 @@ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBran
|
|
|
76
79
|
},
|
|
77
80
|
];
|
|
78
81
|
})),
|
|
82
|
+
rolloutInfoGroup: rolloutPercentage
|
|
83
|
+
? await (0, publish_1.getUpdateRolloutInfoGroupAsync)(graphqlClient, {
|
|
84
|
+
appId: app.projectId,
|
|
85
|
+
branchName: targetBranchName,
|
|
86
|
+
runtimeVersion,
|
|
87
|
+
rolloutPercentage,
|
|
88
|
+
platforms: updatesToPublish.map(update => update.platform),
|
|
89
|
+
})
|
|
90
|
+
: null,
|
|
79
91
|
};
|
|
80
92
|
updatesRepublished = await PublishMutation_1.PublishMutation.publishUpdateGroupAsync(graphqlClient, [
|
|
81
93
|
{
|
|
@@ -85,6 +97,8 @@ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBran
|
|
|
85
97
|
...objectToMergeIn,
|
|
86
98
|
gitCommitHash: updatesToPublish[0].gitCommitHash,
|
|
87
99
|
awaitingCodeSigningInfo: !!codeSigningInfo,
|
|
100
|
+
manifestHostOverride: updatesToPublish[0].manifestHostOverride,
|
|
101
|
+
assetHostOverride: updatesToPublish[0].assetHostOverride,
|
|
88
102
|
},
|
|
89
103
|
]);
|
|
90
104
|
if (codeSigningInfo) {
|
|
@@ -137,6 +151,22 @@ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBran
|
|
|
137
151
|
...(updatesRepublishedByPlatform.ios
|
|
138
152
|
? [{ label: 'iOS update ID', value: updatesRepublishedByPlatform.ios.id }]
|
|
139
153
|
: []),
|
|
154
|
+
...(updatesRepublishedByPlatform.android?.rolloutControlUpdate
|
|
155
|
+
? [
|
|
156
|
+
{
|
|
157
|
+
label: 'Android Rollout',
|
|
158
|
+
value: `${updatesRepublishedByPlatform.android?.rolloutPercentage}% (Base update ID: ${updatesRepublishedByPlatform.android?.rolloutControlUpdate.id})`,
|
|
159
|
+
},
|
|
160
|
+
]
|
|
161
|
+
: []),
|
|
162
|
+
...(updatesRepublishedByPlatform.ios?.rolloutControlUpdate
|
|
163
|
+
? [
|
|
164
|
+
{
|
|
165
|
+
label: 'iOS Rollout',
|
|
166
|
+
value: `${updatesRepublishedByPlatform.ios?.rolloutPercentage}% (Base update ID: ${updatesRepublishedByPlatform.ios?.rolloutControlUpdate.id})`,
|
|
167
|
+
},
|
|
168
|
+
]
|
|
169
|
+
: []),
|
|
140
170
|
{ label: 'Message', value: updateMessage },
|
|
141
171
|
{ label: 'EAS Dashboard', value: (0, log_1.link)(updateGroupUrl, { dim: false }) },
|
|
142
172
|
]));
|
package/build/update/utils.d.ts
CHANGED
|
@@ -53,4 +53,3 @@ export declare function getUpdateJsonInfosForUpdates(updates: UpdateFragment[]):
|
|
|
53
53
|
export declare function getUpdateGroupDescriptions(updateGroups: UpdateFragment[][]): FormattedUpdateGroupDescription[];
|
|
54
54
|
export declare function getUpdateGroupDescriptionsWithBranch(updateGroups: UpdateFragment[][]): FormattedUpdateGroupDescriptionWithBranch[];
|
|
55
55
|
export declare function getBranchDescription(branch: UpdateBranchFragment): FormattedBranchDescription;
|
|
56
|
-
export declare function checkEASUpdateURLIsSetAsync(exp: ExpoConfig, projectId: string): Promise<boolean>;
|
package/build/update/utils.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getBranchDescription = exports.getUpdateGroupDescriptionsWithBranch = exports.getUpdateGroupDescriptions = exports.getUpdateJsonInfosForUpdates = exports.formatUpdateTitle = exports.ensureValidVersions = exports.formatUpdateMessage = exports.truncateString = exports.formatPlatformForUpdateGroup = exports.getPlatformsForGroup = exports.formatBranch = exports.formatUpdateGroup = exports.UPDATE_COLUMNS_WITH_BRANCH = exports.UPDATE_COLUMNS = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const timeago_js_1 = require("@expo/timeago.js");
|
|
6
6
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
7
|
const dateformat_1 = tslib_1.__importDefault(require("dateformat"));
|
|
8
|
-
const api_1 = require("../api");
|
|
9
8
|
const log_1 = require("../log");
|
|
10
9
|
const platform_1 = require("../platform");
|
|
11
10
|
const User_1 = require("../user/User");
|
|
@@ -173,9 +172,3 @@ function getBranchDescription(branch) {
|
|
|
173
172
|
};
|
|
174
173
|
}
|
|
175
174
|
exports.getBranchDescription = getBranchDescription;
|
|
176
|
-
async function checkEASUpdateURLIsSetAsync(exp, projectId) {
|
|
177
|
-
const configuredURL = exp.updates?.url;
|
|
178
|
-
const expectedURL = (0, api_1.getEASUpdateURL)(projectId);
|
|
179
|
-
return configuredURL === expectedURL;
|
|
180
|
-
}
|
|
181
|
-
exports.checkEASUpdateURLIsSetAsync = checkEASUpdateURLIsSetAsync;
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "16.
|
|
2
|
+
"version": "16.7.0",
|
|
3
3
|
"commands": {
|
|
4
4
|
"analytics": {
|
|
5
5
|
"id": "analytics",
|
|
@@ -3815,6 +3815,13 @@
|
|
|
3815
3815
|
"required": false,
|
|
3816
3816
|
"multiple": false
|
|
3817
3817
|
},
|
|
3818
|
+
"rollout-percentage": {
|
|
3819
|
+
"name": "rollout-percentage",
|
|
3820
|
+
"type": "option",
|
|
3821
|
+
"description": "Percentage of users this update should be immediately available to. Users not in the rollout will be served the previous latest update on the branch, even if that update is itself being rolled out. The specified number must be an integer between 1 and 100. When not specified, this defaults to 100.",
|
|
3822
|
+
"required": false,
|
|
3823
|
+
"multiple": false
|
|
3824
|
+
},
|
|
3818
3825
|
"json": {
|
|
3819
3826
|
"name": "json",
|
|
3820
3827
|
"type": "boolean",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eas-cli",
|
|
3
3
|
"description": "EAS command line tool",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.7.0",
|
|
5
5
|
"author": "Expo <support@expo.dev>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"eas": "./bin/run"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"@expo/config": "10.0.6",
|
|
14
14
|
"@expo/config-plugins": "9.0.12",
|
|
15
15
|
"@expo/eas-build-job": "1.0.173",
|
|
16
|
-
"@expo/eas-json": "16.
|
|
16
|
+
"@expo/eas-json": "16.7.0",
|
|
17
17
|
"@expo/env": "^1.0.0",
|
|
18
18
|
"@expo/json-file": "8.3.3",
|
|
19
19
|
"@expo/logger": "1.0.117",
|
|
@@ -240,5 +240,5 @@
|
|
|
240
240
|
"node": "20.11.0",
|
|
241
241
|
"yarn": "1.22.21"
|
|
242
242
|
},
|
|
243
|
-
"gitHead": "
|
|
243
|
+
"gitHead": "24b725438ec22989f902a668c76d11ef457695b0"
|
|
244
244
|
}
|