eas-cli 7.8.1 → 7.8.3
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 +59 -59
- package/build/build/local.js +1 -1
- package/build/commands/build/version/get.js +1 -0
- package/build/commands/build/version/set.js +1 -0
- package/build/commands/build/version/sync.js +1 -0
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.d.ts +7 -1
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +41 -5
- package/build/credentials/ios/actions/DistributionCertificateUtils.js +7 -2
- package/build/credentials/ios/actions/PushKeyUtils.js +7 -2
- package/build/credentials/ios/actions/RemoveDistributionCertificate.js +8 -3
- package/build/credentials/ios/actions/RemovePushKey.js +7 -2
- package/build/credentials/ios/api/GraphqlClient.js +1 -1
- package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.d.ts +7 -1
- package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.js +41 -5
- package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.d.ts +11 -3
- package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +77 -53
- package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.d.ts +7 -1
- package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +41 -5
- package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.d.ts +7 -1
- package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +41 -5
- package/build/devices/actions/create/action.js +1 -1
- package/build/devices/actions/create/developerPortalMethod.d.ts +2 -2
- package/build/devices/actions/create/developerPortalMethod.js +5 -5
- package/build/graphql/generated.d.ts +279 -178
- package/build/project/android/applicationId.d.ts +2 -1
- package/build/project/android/applicationId.js +12 -3
- package/build/project/applicationIdentifier.d.ts +2 -1
- package/build/project/applicationIdentifier.js +3 -1
- package/build/project/ios/bundleIdentifier.d.ts +2 -1
- package/build/project/ios/bundleIdentifier.js +6 -2
- package/build/project/publish.js +5 -4
- package/build/project/resolveRuntimeVersionAsync.js +5 -4
- package/build/utils/expoUpdatesCli.d.ts +2 -0
- package/build/utils/expoUpdatesCli.js +12 -4
- package/build/utils/relay.d.ts +6 -0
- package/build/utils/relay.js +40 -1
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
|
@@ -2,12 +2,13 @@ import { ExpoConfig } from '@expo/config';
|
|
|
2
2
|
import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
|
|
3
3
|
import { Client } from '../../vcs/vcs';
|
|
4
4
|
export declare const INVALID_BUNDLE_IDENTIFIER_MESSAGE = "Invalid format of iOS bundle identifier. Only alphanumeric characters, '.' and '-' are allowed, and each '.' must be followed by a letter.";
|
|
5
|
-
export declare function ensureBundleIdentifierIsDefinedForManagedProjectAsync({ graphqlClient, projectDir, projectId, exp, vcsClient, }: {
|
|
5
|
+
export declare function ensureBundleIdentifierIsDefinedForManagedProjectAsync({ graphqlClient, projectDir, projectId, exp, vcsClient, nonInteractive, }: {
|
|
6
6
|
graphqlClient: ExpoGraphqlClient;
|
|
7
7
|
projectDir: string;
|
|
8
8
|
projectId: string;
|
|
9
9
|
exp: ExpoConfig;
|
|
10
10
|
vcsClient: Client;
|
|
11
|
+
nonInteractive: boolean;
|
|
11
12
|
}): Promise<string>;
|
|
12
13
|
export declare class AmbiguousBundleIdentifierError extends Error {
|
|
13
14
|
constructor(message?: string);
|
|
@@ -14,7 +14,7 @@ const prompts_1 = require("../../prompts");
|
|
|
14
14
|
const projectUtils_1 = require("../projectUtils");
|
|
15
15
|
const workflow_1 = require("../workflow");
|
|
16
16
|
exports.INVALID_BUNDLE_IDENTIFIER_MESSAGE = `Invalid format of iOS bundle identifier. Only alphanumeric characters, '.' and '-' are allowed, and each '.' must be followed by a letter.`;
|
|
17
|
-
async function ensureBundleIdentifierIsDefinedForManagedProjectAsync({ graphqlClient, projectDir, projectId, exp, vcsClient, }) {
|
|
17
|
+
async function ensureBundleIdentifierIsDefinedForManagedProjectAsync({ graphqlClient, projectDir, projectId, exp, vcsClient, nonInteractive, }) {
|
|
18
18
|
const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.IOS, vcsClient);
|
|
19
19
|
(0, assert_1.default)(workflow === eas_build_job_1.Workflow.MANAGED, 'This function should be called only for managed projects');
|
|
20
20
|
try {
|
|
@@ -26,6 +26,7 @@ async function ensureBundleIdentifierIsDefinedForManagedProjectAsync({ graphqlCl
|
|
|
26
26
|
projectDir,
|
|
27
27
|
exp,
|
|
28
28
|
projectId,
|
|
29
|
+
nonInteractive,
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
}
|
|
@@ -74,8 +75,11 @@ async function getBundleIdentifierAsync(projectDir, exp, vcsClient, xcodeContext
|
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
exports.getBundleIdentifierAsync = getBundleIdentifierAsync;
|
|
77
|
-
async function configureBundleIdentifierAsync({ graphqlClient, projectDir, projectId, exp, }) {
|
|
78
|
+
async function configureBundleIdentifierAsync({ graphqlClient, projectDir, projectId, exp, nonInteractive, }) {
|
|
78
79
|
var _a;
|
|
80
|
+
if (nonInteractive) {
|
|
81
|
+
throw new Error(`The "ios.bundleIdentifier" is required to be set in app config when running in non-interactive mode. ${(0, log_1.learnMore)('https://docs.expo.dev/versions/latest/config/app/#bundleidentifier')}`);
|
|
82
|
+
}
|
|
79
83
|
const paths = (0, config_1.getConfigFilePaths)(projectDir);
|
|
80
84
|
// we can't automatically update app.config.js
|
|
81
85
|
if (paths.dynamicConfigPath) {
|
package/build/project/publish.js
CHANGED
|
@@ -486,16 +486,17 @@ async function getRuntimeVersionForPlatformAsync({ exp, platform, projectDir, vc
|
|
|
486
486
|
}
|
|
487
487
|
if (await (0, projectUtils_1.isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync)(projectDir)) {
|
|
488
488
|
try {
|
|
489
|
+
log_1.default.debug('Using expo-updates runtimeversion:resolve CLI for runtime version resolution');
|
|
490
|
+
const extraArgs = log_1.default.isDebug ? ['--debug'] : [];
|
|
489
491
|
const resolvedRuntimeVersionJSONResult = await (0, expoUpdatesCli_1.expoUpdatesCommandAsync)(projectDir, [
|
|
490
492
|
'runtimeversion:resolve',
|
|
491
493
|
'--platform',
|
|
492
494
|
platform,
|
|
495
|
+
...extraArgs,
|
|
493
496
|
]);
|
|
494
497
|
const runtimeVersionResult = JSON.parse(resolvedRuntimeVersionJSONResult);
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
log_1.default.debug(runtimeVersionResult.fingerprintSources);
|
|
498
|
-
}
|
|
498
|
+
log_1.default.debug('runtimeversion:resolve output:');
|
|
499
|
+
log_1.default.debug(resolvedRuntimeVersionJSONResult);
|
|
499
500
|
return (0, nullthrows_1.default)(runtimeVersionResult.runtimeVersion, `Unable to determine runtime version for ${platform_1.requestedPlatformDisplayNames[platform]}. ${(0, log_1.learnMore)('https://docs.expo.dev/eas-update/runtime-versions/')}`);
|
|
500
501
|
}
|
|
501
502
|
catch (e) {
|
|
@@ -14,16 +14,17 @@ async function resolveRuntimeVersionAsync({ exp, platform, projectDir, }) {
|
|
|
14
14
|
return await config_plugins_1.Updates.getRuntimeVersionNullableAsync(projectDir, exp, platform);
|
|
15
15
|
}
|
|
16
16
|
try {
|
|
17
|
+
log_1.default.debug('Using expo-updates runtimeversion:resolve CLI for runtime version resolution');
|
|
18
|
+
const extraArgs = log_1.default.isDebug ? ['--debug'] : [];
|
|
17
19
|
const resolvedRuntimeVersionJSONResult = await (0, expoUpdatesCli_1.expoUpdatesCommandAsync)(projectDir, [
|
|
18
20
|
'runtimeversion:resolve',
|
|
19
21
|
'--platform',
|
|
20
22
|
platform,
|
|
23
|
+
...extraArgs,
|
|
21
24
|
]);
|
|
22
25
|
const runtimeVersionResult = JSON.parse(resolvedRuntimeVersionJSONResult);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
log_1.default.debug(runtimeVersionResult.fingerprintSources);
|
|
26
|
-
}
|
|
26
|
+
log_1.default.debug('runtimeversion:resolve output:');
|
|
27
|
+
log_1.default.debug(resolvedRuntimeVersionJSONResult);
|
|
27
28
|
return (_a = runtimeVersionResult.runtimeVersion) !== null && _a !== void 0 ? _a : null;
|
|
28
29
|
}
|
|
29
30
|
catch (e) {
|
|
@@ -2,4 +2,6 @@ export declare class ExpoUpdatesCLIModuleNotFoundError extends Error {
|
|
|
2
2
|
}
|
|
3
3
|
export declare class ExpoUpdatesCLIInvalidCommandError extends Error {
|
|
4
4
|
}
|
|
5
|
+
export declare class ExpoUpdatesCLICommandFailedError extends Error {
|
|
6
|
+
}
|
|
5
7
|
export declare function expoUpdatesCommandAsync(projectDir: string, args: string[]): Promise<string>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expoUpdatesCommandAsync = exports.ExpoUpdatesCLIInvalidCommandError = exports.ExpoUpdatesCLIModuleNotFoundError = void 0;
|
|
3
|
+
exports.expoUpdatesCommandAsync = exports.ExpoUpdatesCLICommandFailedError = exports.ExpoUpdatesCLIInvalidCommandError = exports.ExpoUpdatesCLIModuleNotFoundError = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const spawn_async_1 = tslib_1.__importDefault(require("@expo/spawn-async"));
|
|
6
6
|
const resolve_from_1 = tslib_1.__importStar(require("resolve-from"));
|
|
@@ -11,6 +11,9 @@ exports.ExpoUpdatesCLIModuleNotFoundError = ExpoUpdatesCLIModuleNotFoundError;
|
|
|
11
11
|
class ExpoUpdatesCLIInvalidCommandError extends Error {
|
|
12
12
|
}
|
|
13
13
|
exports.ExpoUpdatesCLIInvalidCommandError = ExpoUpdatesCLIInvalidCommandError;
|
|
14
|
+
class ExpoUpdatesCLICommandFailedError extends Error {
|
|
15
|
+
}
|
|
16
|
+
exports.ExpoUpdatesCLICommandFailedError = ExpoUpdatesCLICommandFailedError;
|
|
14
17
|
async function expoUpdatesCommandAsync(projectDir, args) {
|
|
15
18
|
var _a;
|
|
16
19
|
let expoUpdatesCli;
|
|
@@ -25,11 +28,16 @@ async function expoUpdatesCommandAsync(projectDir, args) {
|
|
|
25
28
|
throw e;
|
|
26
29
|
}
|
|
27
30
|
try {
|
|
28
|
-
return (await (0, spawn_async_1.default)(expoUpdatesCli, args)).stdout;
|
|
31
|
+
return (await (0, spawn_async_1.default)(expoUpdatesCli, args, { stdio: 'pipe' })).stdout;
|
|
29
32
|
}
|
|
30
33
|
catch (e) {
|
|
31
|
-
if (e.stderr && typeof e.stderr === 'string'
|
|
32
|
-
|
|
34
|
+
if (e.stderr && typeof e.stderr === 'string') {
|
|
35
|
+
if (e.stderr.includes('Invalid command')) {
|
|
36
|
+
throw new ExpoUpdatesCLIInvalidCommandError(`The command specified by ${args} was not valid in the \`expo-updates\` CLI.`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw new ExpoUpdatesCLICommandFailedError(e.stderr);
|
|
40
|
+
}
|
|
33
41
|
}
|
|
34
42
|
throw e;
|
|
35
43
|
}
|
package/build/utils/relay.d.ts
CHANGED
|
@@ -96,3 +96,9 @@ export declare const NEXT_PAGE_OPTION: {
|
|
|
96
96
|
value: symbol;
|
|
97
97
|
title: string;
|
|
98
98
|
};
|
|
99
|
+
export type PaginatedGetterAsync<Node> = (relayArgs: QueryParams) => Promise<Connection<Node>>;
|
|
100
|
+
export declare const PAGE_SIZE = 20;
|
|
101
|
+
export declare function fetchEntireDatasetAsync<Node>({ paginatedGetterAsync, progressBarLabel, }: {
|
|
102
|
+
paginatedGetterAsync: PaginatedGetterAsync<Node>;
|
|
103
|
+
progressBarLabel?: string;
|
|
104
|
+
}): Promise<Node[]>;
|
package/build/utils/relay.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NEXT_PAGE_OPTION = exports.PREV_PAGE_OPTION = exports.selectPaginatedAsync = exports.FilterPagination = void 0;
|
|
3
|
+
exports.fetchEntireDatasetAsync = exports.PAGE_SIZE = exports.NEXT_PAGE_OPTION = exports.PREV_PAGE_OPTION = exports.selectPaginatedAsync = exports.FilterPagination = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
+
const cli_progress_1 = tslib_1.__importDefault(require("cli-progress"));
|
|
6
7
|
const prompts_1 = require("../prompts");
|
|
7
8
|
/**
|
|
8
9
|
*
|
|
@@ -218,3 +219,41 @@ async function selectPaginatedInternalAsync({ queryAsync, getTitleAsync, printed
|
|
|
218
219
|
return selectedItem;
|
|
219
220
|
}
|
|
220
221
|
}
|
|
222
|
+
exports.PAGE_SIZE = 20;
|
|
223
|
+
async function fetchEntireDatasetAsync({ paginatedGetterAsync, progressBarLabel, }) {
|
|
224
|
+
var _a;
|
|
225
|
+
// No way to know the total count of items beforehand
|
|
226
|
+
let totalEstimatedWork = 10;
|
|
227
|
+
const queueProgressBar = new cli_progress_1.default.SingleBar({ format: `|{bar}| ${progressBarLabel}` }, cli_progress_1.default.Presets.rect);
|
|
228
|
+
const data = [];
|
|
229
|
+
let cursor = undefined;
|
|
230
|
+
let didStartProgressBar = false;
|
|
231
|
+
let progress = 0;
|
|
232
|
+
while (true) {
|
|
233
|
+
const connection = await paginatedGetterAsync({ first: exports.PAGE_SIZE, after: cursor });
|
|
234
|
+
const nodes = connection.edges.map(edge => edge.node);
|
|
235
|
+
const hasNextPage = connection.pageInfo.hasNextPage;
|
|
236
|
+
data.push(...nodes);
|
|
237
|
+
if (!hasNextPage) {
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
cursor = (_a = connection.pageInfo.endCursor) !== null && _a !== void 0 ? _a : undefined;
|
|
241
|
+
if (!didStartProgressBar) {
|
|
242
|
+
// only show the progress bar if user has more than 1 page of items
|
|
243
|
+
queueProgressBar.start(totalEstimatedWork, 0);
|
|
244
|
+
didStartProgressBar = true;
|
|
245
|
+
}
|
|
246
|
+
progress++;
|
|
247
|
+
queueProgressBar.update(progress);
|
|
248
|
+
if (progress >= totalEstimatedWork) {
|
|
249
|
+
totalEstimatedWork = 8 * totalEstimatedWork;
|
|
250
|
+
queueProgressBar.setTotal(totalEstimatedWork);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (didStartProgressBar) {
|
|
254
|
+
queueProgressBar.update(totalEstimatedWork);
|
|
255
|
+
queueProgressBar.stop();
|
|
256
|
+
}
|
|
257
|
+
return data;
|
|
258
|
+
}
|
|
259
|
+
exports.fetchEntireDatasetAsync = fetchEntireDatasetAsync;
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eas-cli",
|
|
3
3
|
"description": "EAS command line tool",
|
|
4
|
-
"version": "7.8.
|
|
4
|
+
"version": "7.8.3",
|
|
5
5
|
"author": "Expo <support@expo.dev>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"eas": "./bin/run"
|
|
@@ -223,5 +223,5 @@
|
|
|
223
223
|
"node": "20.11.0",
|
|
224
224
|
"yarn": "1.22.21"
|
|
225
225
|
},
|
|
226
|
-
"gitHead": "
|
|
226
|
+
"gitHead": "61bb001059c997434fe1469813a83073177d9bff"
|
|
227
227
|
}
|