eas-cli 0.37.0 → 0.38.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 +52 -40
- package/build/build/android/build.d.ts +2 -1
- package/build/build/android/build.js +11 -9
- package/build/build/android/configure.d.ts +3 -2
- package/build/build/build.d.ts +0 -2
- package/build/build/build.js +1 -2
- package/build/build/configure.js +1 -2
- package/build/build/context.d.ts +18 -10
- package/build/build/context.js +0 -96
- package/build/build/createContext.d.ts +13 -0
- package/build/build/createContext.js +114 -0
- package/build/build/ios/build.d.ts +2 -1
- package/build/build/ios/build.js +24 -19
- package/build/build/ios/configure.d.ts +3 -2
- package/build/build/ios/version.d.ts +1 -1
- package/build/build/ios/version.js +4 -1
- package/build/build/local.js +14 -3
- package/build/build/metadata.d.ts +1 -12
- package/build/build/metadata.js +24 -19
- package/build/build/validate.d.ts +3 -3
- package/build/commandUtils/EasCommand.js +0 -2
- package/build/commands/branch/publish.js +10 -0
- package/build/commands/build/configure.js +2 -0
- package/build/commands/build/index.js +24 -16
- package/build/commands/config.js +1 -1
- package/build/commands/update/configure.d.ts +7 -0
- package/build/commands/update/configure.js +67 -0
- package/build/commands/webhook/create.js +1 -2
- package/build/commands/webhook/list.js +1 -1
- package/build/commands/webhook/update.js +1 -2
- package/build/credentials/ios/appstore/bundleIdCapabilities.js +11 -1
- package/build/credentials/ios/appstore/entitlements.js +1 -1
- package/build/credentials/manager/SelectBuildProfileFromEasJson.js +1 -1
- package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.d.ts +3 -2
- package/build/graphql/generated.d.ts +2 -1
- package/build/graphql/generated.js +1 -0
- package/build/project/ios/scheme.d.ts +3 -2
- package/build/submit/android/AndroidSubmitCommand.js +2 -1
- package/build/submit/context.d.ts +2 -0
- package/build/submit/context.js +2 -1
- package/build/submit/ios/IosSubmitCommand.js +2 -1
- package/build/utils/profiles.d.ts +2 -3
- package/build/utils/profiles.js +20 -7
- package/build/vcs/clients/git.js +4 -1
- package/build/webhooks/input.d.ts +2 -2
- package/build/webhooks/input.js +19 -2
- package/oclif.manifest.json +1 -1
- package/package.json +16 -16
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEASUpdateURLAsync = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const config_1 = require("@expo/config");
|
|
6
|
+
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
7
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
8
|
+
const EasCommand_1 = (0, tslib_1.__importDefault)(require("../../commandUtils/EasCommand"));
|
|
9
|
+
const log_1 = (0, tslib_1.__importStar)(require("../../log"));
|
|
10
|
+
const projectUtils_1 = require("../../project/projectUtils");
|
|
11
|
+
const workflow_1 = require("../../project/workflow");
|
|
12
|
+
const EAS_UPDATE_URL = 'https://u.expo.dev';
|
|
13
|
+
async function getEASUpdateURLAsync(exp) {
|
|
14
|
+
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
15
|
+
return new URL(projectId, EAS_UPDATE_URL).href;
|
|
16
|
+
}
|
|
17
|
+
exports.getEASUpdateURLAsync = getEASUpdateURLAsync;
|
|
18
|
+
async function ensureEASUrlSetAsync(projectDir, exp) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
const easUpdateURL = await getEASUpdateURLAsync(exp);
|
|
21
|
+
const result = await (0, config_1.modifyConfigAsync)(projectDir, {
|
|
22
|
+
updates: { ...exp.updates, url: easUpdateURL },
|
|
23
|
+
});
|
|
24
|
+
switch (result.type) {
|
|
25
|
+
case 'success':
|
|
26
|
+
if ((_a = exp.updates) === null || _a === void 0 ? void 0 : _a.url) {
|
|
27
|
+
log_1.default.withTick(`Overwrote "${(_b = exp.updates) === null || _b === void 0 ? void 0 : _b.url}" with "${easUpdateURL}" for the updates.url value in app.json`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
log_1.default.withTick(`Set updates.url value, to "${easUpdateURL}" in app.json`);
|
|
31
|
+
}
|
|
32
|
+
break;
|
|
33
|
+
case 'warn': {
|
|
34
|
+
log_1.default.addNewLineIfNone();
|
|
35
|
+
log_1.default.warn(`It looks like you are using a dynamic configuration! ${(0, log_1.learnMore)('https://docs.expo.dev/workflow/configuration/#dynamic-configuration-with-appconfigjs)')}`);
|
|
36
|
+
log_1.default.warn('In order to finish configuring your project for EAS Update, you are going to need manually add the following:\n\n');
|
|
37
|
+
log_1.default.log(chalk_1.default.bold(`"updates": {\n "url": "${easUpdateURL}"\n }`));
|
|
38
|
+
log_1.default.log((0, log_1.learnMore)('https://expo.fyi/eas-update-config.md'));
|
|
39
|
+
throw new Error(result.message);
|
|
40
|
+
}
|
|
41
|
+
case 'fail':
|
|
42
|
+
throw new Error(result.message);
|
|
43
|
+
default:
|
|
44
|
+
throw new Error('Unexpected result type from modifyConfigAsync');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class UpdateConfigure extends EasCommand_1.default {
|
|
48
|
+
async runAsync() {
|
|
49
|
+
log_1.default.log('💡 The following process will configure your project to run EAS Update. These changes only apply to your local project files and you can safely revert them at any time.');
|
|
50
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
51
|
+
const { exp } = (0, config_1.getConfig)(projectDir, {
|
|
52
|
+
skipSDKVersionRequirement: true,
|
|
53
|
+
});
|
|
54
|
+
await ensureEASUrlSetAsync(projectDir, exp);
|
|
55
|
+
const hasAndroidNativeProject = (await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID)) === eas_build_job_1.Workflow.GENERIC;
|
|
56
|
+
const hasIosNativeProject = (await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.IOS)) === eas_build_job_1.Workflow.GENERIC;
|
|
57
|
+
log_1.default.addNewLineIfNone();
|
|
58
|
+
if (hasAndroidNativeProject || hasIosNativeProject) {
|
|
59
|
+
log_1.default.log(`🧐 It seems you are on the bare workflow! Please also update your native files. You can do this by either running ${chalk_1.default.bold('eas build:configure')} or manually editing Expo.plist/AndroidManifest.xml. ${(0, log_1.learnMore)('https://expo.fyi/eas-update-config.md#native-configuration')}`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
log_1.default.log(`🎉 Your app is configured to run EAS Update!`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.default = UpdateConfigure;
|
|
67
|
+
UpdateConfigure.description = 'Configure the project to support EAS Update.';
|
|
@@ -32,8 +32,7 @@ WebhookCreate.description = 'Create a webhook on the current project.';
|
|
|
32
32
|
WebhookCreate.flags = {
|
|
33
33
|
event: command_1.flags.enum({
|
|
34
34
|
description: 'Event type that triggers the webhook',
|
|
35
|
-
options: [generated_1.WebhookType.Build],
|
|
36
|
-
default: generated_1.WebhookType.Build,
|
|
35
|
+
options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
|
|
37
36
|
}),
|
|
38
37
|
url: command_1.flags.string({
|
|
39
38
|
description: 'Webhook URL',
|
|
@@ -43,6 +43,6 @@ WebhookList.description = 'List webhooks on the current project.';
|
|
|
43
43
|
WebhookList.flags = {
|
|
44
44
|
event: command_1.flags.enum({
|
|
45
45
|
description: 'Event type that triggers the webhook',
|
|
46
|
-
options: [generated_1.WebhookType.Build],
|
|
46
|
+
options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
|
|
47
47
|
}),
|
|
48
48
|
};
|
|
@@ -35,8 +35,7 @@ WebhookUpdate.flags = {
|
|
|
35
35
|
}),
|
|
36
36
|
event: command_1.flags.enum({
|
|
37
37
|
description: 'Event type that triggers the webhook',
|
|
38
|
-
options: [generated_1.WebhookType.Build],
|
|
39
|
-
default: generated_1.WebhookType.Build,
|
|
38
|
+
options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
|
|
40
39
|
}),
|
|
41
40
|
url: command_1.flags.string({
|
|
42
41
|
description: 'Webhook URL',
|
|
@@ -4,6 +4,7 @@ exports.CapabilityMapping = exports.assertValidOptions = exports.syncCapabilitie
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
6
|
const getenv_1 = (0, tslib_1.__importDefault)(require("getenv"));
|
|
7
|
+
const util_1 = require("util");
|
|
7
8
|
const log_1 = (0, tslib_1.__importDefault)(require("../../../log"));
|
|
8
9
|
exports.EXPO_NO_CAPABILITY_SYNC = getenv_1.default.boolish('EXPO_NO_CAPABILITY_SYNC', false);
|
|
9
10
|
const validateBooleanOptions = (options) => {
|
|
@@ -56,7 +57,16 @@ async function syncCapabilitiesForEntitlementsAsync(bundleId, entitlements = {})
|
|
|
56
57
|
const { enabledCapabilityNames, request, remainingCapabilities } = getCapabilitiesToEnable(currentCapabilities, entitlements);
|
|
57
58
|
const { disabledCapabilityNames, request: modifiedRequest } = getCapabilitiesToDisable(bundleId, remainingCapabilities, request);
|
|
58
59
|
if (modifiedRequest.length) {
|
|
59
|
-
|
|
60
|
+
log_1.default.debug(`Patch Request:`, (0, util_1.inspect)(modifiedRequest, { depth: null, colors: true }));
|
|
61
|
+
try {
|
|
62
|
+
await bundleId.updateBundleIdCapabilityAsync(modifiedRequest);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (error.message.match(/bundle '[\w\d]+' cannot be deleted. Delete all the Apps/)) {
|
|
66
|
+
log_1.default.error('Failed to patch capabilities:', (0, util_1.inspect)(modifiedRequest, { depth: null, colors: true }));
|
|
67
|
+
throw new Error(`Unexpected error occurred while attempting to update capabilities for app "${bundleId.attributes.identifier}".\nCapabilities can be modified manually in the Apple developer console at https://developer.apple.com/account/resources/identifiers/bundleId/edit/${bundleId.id}.\nAuto capability syncing can be disabled with the environment variable \`EXPO_NO_CAPABILITY_SYNC=1\`.\n${error.message}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
60
70
|
}
|
|
61
71
|
return { enabled: enabledCapabilityNames, disabled: disabledCapabilityNames };
|
|
62
72
|
}
|
|
@@ -13,7 +13,7 @@ async function getManagedEntitlementsJsonAsync(projectDir, env) {
|
|
|
13
13
|
...process.env,
|
|
14
14
|
...env,
|
|
15
15
|
};
|
|
16
|
-
const { exp } = (0, prebuild_config_1.
|
|
16
|
+
const { exp } = await (0, prebuild_config_1.getPrebuildConfigAsync)(projectDir, { platforms: ['ios'] });
|
|
17
17
|
const expWithMods = await (0, config_plugins_1.compileModsAsync)(exp, {
|
|
18
18
|
projectRoot: projectDir,
|
|
19
19
|
platforms: ['ios'],
|
|
@@ -12,7 +12,7 @@ class SelectBuildProfileFromEasJson {
|
|
|
12
12
|
}
|
|
13
13
|
async runAsync(ctx) {
|
|
14
14
|
const profileName = await this.getProfileNameFromEasConfigAsync(ctx);
|
|
15
|
-
const easConfig = await this.easJsonReader.
|
|
15
|
+
const easConfig = await this.easJsonReader.getBuildProfileAsync(this.platform, profileName);
|
|
16
16
|
log_1.default.succeed(`Using build profile: ${profileName}`);
|
|
17
17
|
return easConfig;
|
|
18
18
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Platform } from '@expo/eas-build-job';
|
|
2
|
+
import { BuildProfile } from '@expo/eas-json';
|
|
2
3
|
import { IosDistributionType as IosDistributionTypeGraphql } from '../../graphql/generated';
|
|
3
4
|
import { CredentialsContext } from '../context';
|
|
4
5
|
export declare class SelectIosDistributionTypeGraphqlFromBuildProfile {
|
|
5
6
|
private buildProfile;
|
|
6
|
-
constructor(buildProfile:
|
|
7
|
+
constructor(buildProfile: BuildProfile<Platform.IOS>);
|
|
7
8
|
runAsync(ctx: CredentialsContext): Promise<IosDistributionTypeGraphql>;
|
|
8
9
|
resolveInternalDistributionAsync(ctx: CredentialsContext): Promise<IosDistributionTypeGraphql>;
|
|
9
10
|
}
|
|
@@ -1239,7 +1239,8 @@ export declare type WebhookFilter = {
|
|
|
1239
1239
|
event?: Maybe<WebhookType>;
|
|
1240
1240
|
};
|
|
1241
1241
|
export declare enum WebhookType {
|
|
1242
|
-
Build = "BUILD"
|
|
1242
|
+
Build = "BUILD",
|
|
1243
|
+
Submit = "SUBMIT"
|
|
1243
1244
|
}
|
|
1244
1245
|
export declare type Webhook = {
|
|
1245
1246
|
__typename?: 'Webhook';
|
|
@@ -176,6 +176,7 @@ var AndroidKeystoreType;
|
|
|
176
176
|
var WebhookType;
|
|
177
177
|
(function (WebhookType) {
|
|
178
178
|
WebhookType["Build"] = "BUILD";
|
|
179
|
+
WebhookType["Submit"] = "SUBMIT";
|
|
179
180
|
})(WebhookType = exports.WebhookType || (exports.WebhookType = {}));
|
|
180
181
|
var AppsFilter;
|
|
181
182
|
(function (AppsFilter) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ExpoConfig } from '@expo/config';
|
|
2
|
-
import {
|
|
2
|
+
import { Platform } from '@expo/eas-build-job';
|
|
3
|
+
import { BuildProfile } from '@expo/eas-json';
|
|
3
4
|
export interface XcodeBuildContext {
|
|
4
5
|
buildScheme: string;
|
|
5
6
|
buildConfiguration?: string;
|
|
@@ -8,7 +9,7 @@ export declare function resolveXcodeBuildContextAsync({ exp, projectDir, nonInte
|
|
|
8
9
|
exp: ExpoConfig;
|
|
9
10
|
projectDir: string;
|
|
10
11
|
nonInteractive: boolean;
|
|
11
|
-
}, buildProfile:
|
|
12
|
+
}, buildProfile: BuildProfile<Platform.IOS>): Promise<XcodeBuildContext>;
|
|
12
13
|
export declare function selectSchemeAsync({ projectDir, nonInteractive, }: {
|
|
13
14
|
projectDir: string;
|
|
14
15
|
nonInteractive?: boolean;
|
|
@@ -88,6 +88,7 @@ class AndroidSubmitCommand {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
async resolveServiceAccountSourceAsync() {
|
|
91
|
+
var _a;
|
|
91
92
|
const { serviceAccountKeyPath } = this.ctx.profile;
|
|
92
93
|
if (serviceAccountKeyPath) {
|
|
93
94
|
return (0, results_1.result)({
|
|
@@ -95,7 +96,7 @@ class AndroidSubmitCommand {
|
|
|
95
96
|
path: serviceAccountKeyPath,
|
|
96
97
|
});
|
|
97
98
|
}
|
|
98
|
-
let androidApplicationIdentifier = this.ctx.profile.applicationId;
|
|
99
|
+
let androidApplicationIdentifier = (_a = this.ctx.applicationIdentifierOverride) !== null && _a !== void 0 ? _a : this.ctx.profile.applicationId;
|
|
99
100
|
if (!androidApplicationIdentifier) {
|
|
100
101
|
const androidApplicationIdentifierResult = await this.maybeGetAndroidPackageFromCurrentProjectAsync();
|
|
101
102
|
if (!androidApplicationIdentifierResult.ok) {
|
|
@@ -17,6 +17,7 @@ export interface SubmissionContext<T extends Platform> {
|
|
|
17
17
|
projectId: string;
|
|
18
18
|
projectName: string;
|
|
19
19
|
user: Actor;
|
|
20
|
+
applicationIdentifierOverride?: string;
|
|
20
21
|
}
|
|
21
22
|
export interface SubmitArchiveFlags {
|
|
22
23
|
latest?: boolean;
|
|
@@ -33,4 +34,5 @@ export declare function createSubmissionContextAsync<T extends Platform>(params:
|
|
|
33
34
|
profile: SubmitProfile<T>;
|
|
34
35
|
projectDir: string;
|
|
35
36
|
projectId: string;
|
|
37
|
+
applicationIdentifier?: string;
|
|
36
38
|
}): Promise<SubmissionContext<T>>;
|
package/build/submit/context.js
CHANGED
|
@@ -10,7 +10,7 @@ const Account_1 = require("../user/Account");
|
|
|
10
10
|
const actions_1 = require("../user/actions");
|
|
11
11
|
async function createSubmissionContextAsync(params) {
|
|
12
12
|
var _a;
|
|
13
|
-
const { projectDir, nonInteractive } = params;
|
|
13
|
+
const { applicationIdentifier, projectDir, nonInteractive } = params;
|
|
14
14
|
const exp = (0, expoConfig_1.getExpoConfig)(projectDir, { env: params.env });
|
|
15
15
|
const { env, ...rest } = params;
|
|
16
16
|
const user = await (0, actions_1.ensureLoggedInAsync)();
|
|
@@ -37,6 +37,7 @@ async function createSubmissionContextAsync(params) {
|
|
|
37
37
|
projectName,
|
|
38
38
|
user,
|
|
39
39
|
trackingCtx,
|
|
40
|
+
applicationIdentifierOverride: applicationIdentifier,
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
exports.createSubmissionContextAsync = createSubmissionContextAsync;
|
|
@@ -82,6 +82,7 @@ class IosSubmitCommand {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
async resolveCredentialSubmissionOptionsAsync() {
|
|
85
|
+
var _a;
|
|
85
86
|
const ascApiKeySource = this.resolveAscApiKeySource();
|
|
86
87
|
const shouldSkipAscApiKeySource = !ascApiKeySource.ok && ascApiKeySource.enforceError() instanceof errors_1.MissingCredentialsError;
|
|
87
88
|
if (!shouldSkipAscApiKeySource) {
|
|
@@ -93,7 +94,7 @@ class IosSubmitCommand {
|
|
|
93
94
|
if (!shouldSkipAppSpecificPasswordSource) {
|
|
94
95
|
return { appSpecificPasswordSource: this.resolveAppSpecificPasswordSource() };
|
|
95
96
|
}
|
|
96
|
-
let bundleIdentifier = this.ctx.profile.bundleIdentifier;
|
|
97
|
+
let bundleIdentifier = (_a = this.ctx.applicationIdentifierOverride) !== null && _a !== void 0 ? _a : this.ctx.profile.bundleIdentifier;
|
|
97
98
|
if (!bundleIdentifier) {
|
|
98
99
|
const bundleIdentifierResult = await this.maybeGetIosBundleIdentifierAsync();
|
|
99
100
|
if (!bundleIdentifierResult.ok) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Platform } from '@expo/eas-build-job';
|
|
2
|
-
import { BuildProfile, SubmitProfile } from '@expo/eas-json';
|
|
3
|
-
declare type ProfileType = 'build' | 'submit';
|
|
2
|
+
import { BuildProfile, ProfileType, SubmitProfile } from '@expo/eas-json';
|
|
4
3
|
declare type EasProfile<T extends ProfileType> = T extends 'build' ? BuildProfile<Platform> : SubmitProfile<Platform>;
|
|
5
4
|
export declare type ProfileData<T extends ProfileType> = {
|
|
6
5
|
profile: EasProfile<T>;
|
|
@@ -10,7 +9,7 @@ export declare type ProfileData<T extends ProfileType> = {
|
|
|
10
9
|
export declare function getProfilesAsync<T extends ProfileType>({ projectDir, platforms, profileName: profileNameArg, type, }: {
|
|
11
10
|
projectDir: string;
|
|
12
11
|
platforms: Platform[];
|
|
13
|
-
profileName?: string
|
|
12
|
+
profileName?: string;
|
|
14
13
|
type: T;
|
|
15
14
|
}): Promise<ProfileData<T>[]>;
|
|
16
15
|
export {};
|
package/build/utils/profiles.js
CHANGED
|
@@ -10,23 +10,28 @@ async function getProfilesAsync({ projectDir, platforms, profileName: profileNam
|
|
|
10
10
|
let profileName = profileNameArg;
|
|
11
11
|
if (!profileName) {
|
|
12
12
|
try {
|
|
13
|
-
profile = await readProfileAsync({ projectDir, platform, type, profileName: 'production' });
|
|
14
13
|
profileName = 'production';
|
|
14
|
+
profile = await readProfileAsync({ projectDir, platform, type, profileName });
|
|
15
15
|
}
|
|
16
16
|
catch (errorOuter) {
|
|
17
|
-
if (errorOuter instanceof eas_json_1.errors.
|
|
17
|
+
if (!(errorOuter instanceof eas_json_1.errors.MissingProfileError)) {
|
|
18
18
|
throw errorOuter;
|
|
19
19
|
}
|
|
20
20
|
try {
|
|
21
|
-
profile = await readProfileAsync({ projectDir, platform, type, profileName: 'release' });
|
|
22
21
|
profileName = 'release';
|
|
22
|
+
profile = await readProfileAsync({ projectDir, platform, type, profileName });
|
|
23
23
|
log_1.default.warn('The default profile changed from "release" to "production". We detected that you still have a "release" build profile, so we are using it. Update eas.json to have a profile named "production" under the `build` key, or specify which profile you\'d like to use with the --profile flag. This fallback behavior will be removed in the next major version of EAS CLI.');
|
|
24
24
|
}
|
|
25
25
|
catch (errorInner) {
|
|
26
|
-
if (errorInner instanceof eas_json_1.errors.
|
|
26
|
+
if (!(errorInner instanceof eas_json_1.errors.MissingProfileError)) {
|
|
27
27
|
throw errorInner;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
const defaultProfile = getDefaultProfile({ platform, type });
|
|
30
|
+
if (!defaultProfile) {
|
|
31
|
+
throw errorInner;
|
|
32
|
+
}
|
|
33
|
+
profileName = '__default__';
|
|
34
|
+
profile = defaultProfile;
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
}
|
|
@@ -45,9 +50,17 @@ exports.getProfilesAsync = getProfilesAsync;
|
|
|
45
50
|
async function readProfileAsync({ projectDir, platform, type, profileName, }) {
|
|
46
51
|
const easJsonReader = new eas_json_1.EasJsonReader(projectDir);
|
|
47
52
|
if (type === 'build') {
|
|
48
|
-
return (await easJsonReader.
|
|
53
|
+
return (await easJsonReader.getBuildProfileAsync(platform, profileName));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return (await easJsonReader.getSubmitProfileAsync(platform, profileName));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function getDefaultProfile({ platform, type, }) {
|
|
60
|
+
if (type === 'build') {
|
|
61
|
+
return null;
|
|
49
62
|
}
|
|
50
63
|
else {
|
|
51
|
-
return (
|
|
64
|
+
return (0, eas_json_1.getDefaultSubmitProfile)(platform);
|
|
52
65
|
}
|
|
53
66
|
}
|
package/build/vcs/clients/git.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isGitCaseSensitiveAsync = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const spawn_async_1 = (0, tslib_1.__importDefault)(require("@expo/spawn-async"));
|
|
6
|
+
const errors_1 = require("@oclif/errors");
|
|
6
7
|
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
7
8
|
const log_1 = (0, tslib_1.__importStar)(require("../../log"));
|
|
8
9
|
const ora_1 = require("../../ora");
|
|
@@ -12,7 +13,9 @@ const vcs_1 = require("../vcs");
|
|
|
12
13
|
class GitClient extends vcs_1.Client {
|
|
13
14
|
async ensureRepoExistsAsync() {
|
|
14
15
|
if (!(await (0, git_1.isGitInstalledAsync)())) {
|
|
15
|
-
|
|
16
|
+
log_1.default.error(`${chalk_1.default.bold('git')} command not found. Install it before proceeding or set ${chalk_1.default.bold('EAS_NO_VCS=1')} to use EAS CLI without Git (or any other version control system).`);
|
|
17
|
+
log_1.default.error((0, log_1.learnMore)('https://expo.fyi/eas-vcs-workflow'));
|
|
18
|
+
(0, errors_1.exit)(1);
|
|
16
19
|
}
|
|
17
20
|
if (await (0, git_1.doesGitRepoExistAsync)()) {
|
|
18
21
|
return;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WebhookFragment, WebhookInput, WebhookType } from '../graphql/generated';
|
|
2
|
-
export declare function prepareInputParamsAsync({ event, url: maybeUrl, secret: maybeSecret, }: {
|
|
3
|
-
event
|
|
2
|
+
export declare function prepareInputParamsAsync({ event: maybeEvent, url: maybeUrl, secret: maybeSecret, }: {
|
|
3
|
+
event?: WebhookType;
|
|
4
4
|
url?: string;
|
|
5
5
|
secret?: string;
|
|
6
6
|
}, existingWebhook?: WebhookFragment): Promise<WebhookInput>;
|
package/build/webhooks/input.js
CHANGED
|
@@ -4,11 +4,28 @@ exports.validateSecret = exports.validateURL = exports.prepareInputParamsAsync =
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const nullthrows_1 = (0, tslib_1.__importDefault)(require("nullthrows"));
|
|
6
6
|
const url_1 = require("url");
|
|
7
|
+
const generated_1 = require("../graphql/generated");
|
|
7
8
|
const log_1 = (0, tslib_1.__importDefault)(require("../log"));
|
|
8
9
|
const prompts_1 = require("../prompts");
|
|
9
|
-
async function prepareInputParamsAsync({ event, url: maybeUrl, secret: maybeSecret, }, existingWebhook) {
|
|
10
|
+
async function prepareInputParamsAsync({ event: maybeEvent, url: maybeUrl, secret: maybeSecret, }, existingWebhook) {
|
|
11
|
+
let event = maybeEvent;
|
|
10
12
|
let url = maybeUrl;
|
|
11
13
|
let secret = maybeSecret;
|
|
14
|
+
if (!event) {
|
|
15
|
+
const choices = [
|
|
16
|
+
{ title: 'Build', value: generated_1.WebhookType.Build },
|
|
17
|
+
{ title: 'Submit', value: generated_1.WebhookType.Submit },
|
|
18
|
+
];
|
|
19
|
+
({ event } = await (0, prompts_1.promptAsync)({
|
|
20
|
+
type: 'select',
|
|
21
|
+
name: 'event',
|
|
22
|
+
message: 'Webhook event type:',
|
|
23
|
+
choices,
|
|
24
|
+
initial: (existingWebhook === null || existingWebhook === void 0 ? void 0 : existingWebhook.event)
|
|
25
|
+
? choices.findIndex(choice => choice.value === existingWebhook.event)
|
|
26
|
+
: undefined,
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
12
29
|
if (!url || !validateURL(url)) {
|
|
13
30
|
const urlValidationMessage = 'The provided webhook URL is invalid and must be an absolute URL, including a scheme.';
|
|
14
31
|
if (url && !validateURL(url)) {
|
|
@@ -35,7 +52,7 @@ async function prepareInputParamsAsync({ event, url: maybeUrl, secret: maybeSecr
|
|
|
35
52
|
}));
|
|
36
53
|
}
|
|
37
54
|
return {
|
|
38
|
-
event,
|
|
55
|
+
event: (0, nullthrows_1.default)(event),
|
|
39
56
|
url: (0, nullthrows_1.default)(url),
|
|
40
57
|
secret: (0, nullthrows_1.default)(secret),
|
|
41
58
|
};
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.37.0","commands":{"analytics":{"id":"analytics","description":"view or change analytics settings","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"show the eas.json config","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","options":["android","ios"]},"profile":{"name":"profile","type":"option"}},"args":[]},"credentials":{"id":"credentials","description":"manage your credentials","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"diagnostics":{"id":"diagnostics","description":"log environment info to the console","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"submit":{"id":"submit","description":"submit build archive to app store\nSee how to configure submits with eas.json: https://docs.expo.dev/submit/eas-json/","pluginName":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json."},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false},"id":{"name":"id","type":"option","description":"ID of the build to submit"},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file"},"url":{"name":"url","type":"option","description":"App archive url"},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from Submission Service","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[]},"account:login":{"id":"account:login","description":"log in with your Expo account","pluginName":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[]},"account:logout":{"id":"account:logout","description":"log out","pluginName":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[]},"account:view":{"id":"account:view","description":"show the username you are logged in as","pluginName":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[]},"branch:create":{"id":"branch:create","description":"Create a branch on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the new branch ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}]},"branch:delete":{"id":"branch:delete","description":"Republish an update group","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return JSON with the edited branch's ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}]},"branch:list":{"id":"branch:list","description":"List all branches on this project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return output as JSON","allowNo":false}},"args":[]},"branch:publish":{"id":"branch:publish","description":"Publish an update group to a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"message":{"name":"message","type":"option","description":"short message describing the updates.","required":false},"republish":{"name":"republish","type":"boolean","description":"republish an update group","allowNo":false},"group":{"name":"group","type":"option","description":"update group to republish"},"input-dir":{"name":"input-dir","type":"option","description":"location of the bundle","required":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","description":"only publish to a single platform","required":false,"helpValue":"(android|ios|all)","options":["android","ios","all"],"default":"all"},"json":{"name":"json","type":"boolean","description":"return a json with the new update group.","allowNo":false},"auto":{"name":"auto","type":"boolean","description":"use the current git branch and commit message for the EAS branch and update message","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to publish on"}]},"branch:rename":{"id":"branch:rename","description":"Rename a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false},"json":{"name":"json","type":"boolean","description":"return a json with the edited branch's ID and name.","allowNo":false}},"args":[]},"branch:view":{"id":"branch:view","description":"View a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the branch's ID name and recent update groups.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}]},"build:cancel":{"id":"build:cancel","description":"Cancel a build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"BUILD_ID"}]},"build:configure":{"id":"build:configure","description":"Configure the project to support EAS Build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","options":["android","ios","all"]}},"args":[]},"build":{"id":"build","description":"start a build","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","description":"Skip project configuration","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME"}},"args":[]},"build:list":{"id":"build:list","description":"list all builds for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","options":["all","android","ios"]},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option"},"appVersion":{"name":"appVersion","type":"option"},"appBuildVersion":{"name":"appBuildVersion","type":"option"},"sdkVersion":{"name":"sdkVersion","type":"option"},"runtimeVersion":{"name":"runtimeVersion","type":"option"},"appIdentifier":{"name":"appIdentifier","type":"option"},"buildProfile":{"name":"buildProfile","type":"option"},"gitCommitHash":{"name":"gitCommitHash","type":"option"},"limit":{"name":"limit","type":"option"}},"args":[]},"build:view":{"id":"build:view","description":"view a build for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false}},"args":[{"name":"BUILD_ID"}]},"channel:create":{"id":"channel:create","description":"Create a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}]},"channel:edit":{"id":"channel:edit","description":"Point a channel at a new branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to"},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}]},"channel:list":{"id":"channel:list","description":"List all channels on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[]},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}]},"channel:view":{"id":"channel:view","description":"View a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}]},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"device:list":{"id":"device:list","description":"list all registered devices for your account","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option"}},"args":[]},"device:view":{"id":"device:view","description":"view a device for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}]},"project:info":{"id":"project:info","description":"information about the current project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"project:init":{"id":"project:init","description":"create or link an EAS project","pluginName":"eas-cli","pluginType":"core","aliases":["init"],"flags":{},"args":[]},"secret:create":{"id":"secret:create","description":"Create an environment secret on the current project or owner account.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret"},"value":{"name":"value","type":"option","description":"Value of the secret"},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false}},"args":[]},"secret:delete":{"id":"secret:delete","description":"Delete an environment secret by ID.\nUnsure where to find the secret's ID? Run eas secret:list","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete"}},"args":[]},"secret:list":{"id":"secret:list","description":"Lists environment secrets available for your current app","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"update:delete":{"id":"update:delete","description":"Delete all the updates in an update Group.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the group ID of the deleted updates.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}]},"update:view":{"id":"update:view","description":"Update group details.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the updates belonging to the group.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}]},"webhook:create":{"id":"webhook:create","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"],"default":"BUILD"},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:delete":{"id":"webhook:delete","description":"Delete a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}]},"webhook:list":{"id":"webhook:list","description":"List webhooks on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"]}},"args":[]},"webhook:update":{"id":"webhook:update","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"],"default":"BUILD"},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:view":{"id":"webhook:view","description":"View a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}]}}}
|
|
1
|
+
{"version":"0.38.3","commands":{"analytics":{"id":"analytics","description":"view or change analytics settings","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"show the eas.json config","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","options":["android","ios"]},"profile":{"name":"profile","type":"option"}},"args":[]},"credentials":{"id":"credentials","description":"manage your credentials","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"diagnostics":{"id":"diagnostics","description":"log environment info to the console","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"submit":{"id":"submit","description":"submit build archive to app store\nSee how to configure submits with eas.json: https://docs.expo.dev/submit/eas-json/","pluginName":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json."},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false},"id":{"name":"id","type":"option","description":"ID of the build to submit"},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file"},"url":{"name":"url","type":"option","description":"App archive url"},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from Submission Service","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[]},"account:login":{"id":"account:login","description":"log in with your Expo account","pluginName":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[]},"account:logout":{"id":"account:logout","description":"log out","pluginName":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[]},"account:view":{"id":"account:view","description":"show the username you are logged in as","pluginName":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[]},"branch:create":{"id":"branch:create","description":"Create a branch on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the new branch ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}]},"branch:delete":{"id":"branch:delete","description":"Republish an update group","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return JSON with the edited branch's ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}]},"branch:list":{"id":"branch:list","description":"List all branches on this project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return output as JSON","allowNo":false}},"args":[]},"branch:publish":{"id":"branch:publish","description":"Publish an update group to a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"message":{"name":"message","type":"option","description":"short message describing the updates.","required":false},"republish":{"name":"republish","type":"boolean","description":"republish an update group","allowNo":false},"group":{"name":"group","type":"option","description":"update group to republish"},"input-dir":{"name":"input-dir","type":"option","description":"location of the bundle","required":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","description":"only publish to a single platform","required":false,"helpValue":"(android|ios|all)","options":["android","ios","all"],"default":"all"},"json":{"name":"json","type":"boolean","description":"return a json with the new update group.","allowNo":false},"auto":{"name":"auto","type":"boolean","description":"use the current git branch and commit message for the EAS branch and update message","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to publish on"}]},"branch:rename":{"id":"branch:rename","description":"Rename a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false},"json":{"name":"json","type":"boolean","description":"return a json with the edited branch's ID and name.","allowNo":false}},"args":[]},"branch:view":{"id":"branch:view","description":"View a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the branch's ID name and recent update groups.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}]},"build:cancel":{"id":"build:cancel","description":"Cancel a build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"BUILD_ID"}]},"build:configure":{"id":"build:configure","description":"Configure the project to support EAS Build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","options":["android","ios","all"]}},"args":[]},"build":{"id":"build","description":"start a build","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","description":"Skip project configuration","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME"}},"args":[]},"build:list":{"id":"build:list","description":"list all builds for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","options":["all","android","ios"]},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option"},"appVersion":{"name":"appVersion","type":"option"},"appBuildVersion":{"name":"appBuildVersion","type":"option"},"sdkVersion":{"name":"sdkVersion","type":"option"},"runtimeVersion":{"name":"runtimeVersion","type":"option"},"appIdentifier":{"name":"appIdentifier","type":"option"},"buildProfile":{"name":"buildProfile","type":"option"},"gitCommitHash":{"name":"gitCommitHash","type":"option"},"limit":{"name":"limit","type":"option"}},"args":[]},"build:view":{"id":"build:view","description":"view a build for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false}},"args":[{"name":"BUILD_ID"}]},"channel:create":{"id":"channel:create","description":"Create a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}]},"channel:edit":{"id":"channel:edit","description":"Point a channel at a new branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to"},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}]},"channel:list":{"id":"channel:list","description":"List all channels on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[]},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}]},"channel:view":{"id":"channel:view","description":"View a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}]},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"device:list":{"id":"device:list","description":"list all registered devices for your account","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option"}},"args":[]},"device:view":{"id":"device:view","description":"view a device for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}]},"project:info":{"id":"project:info","description":"information about the current project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"project:init":{"id":"project:init","description":"create or link an EAS project","pluginName":"eas-cli","pluginType":"core","aliases":["init"],"flags":{},"args":[]},"secret:create":{"id":"secret:create","description":"Create an environment secret on the current project or owner account.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret"},"value":{"name":"value","type":"option","description":"Value of the secret"},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false}},"args":[]},"secret:delete":{"id":"secret:delete","description":"Delete an environment secret by ID.\nUnsure where to find the secret's ID? Run eas secret:list","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete"}},"args":[]},"secret:list":{"id":"secret:list","description":"Lists environment secrets available for your current app","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"update:configure":{"id":"update:configure","description":"Configure the project to support EAS Update.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"update:delete":{"id":"update:delete","description":"Delete all the updates in an update Group.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the group ID of the deleted updates.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}]},"update:view":{"id":"update:view","description":"Update group details.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the updates belonging to the group.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}]},"webhook:create":{"id":"webhook:create","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:delete":{"id":"webhook:delete","description":"Delete a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}]},"webhook:list":{"id":"webhook:list","description":"List webhooks on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","options":["BUILD","SUBMIT"]}},"args":[]},"webhook:update":{"id":"webhook:update","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:view":{"id":"webhook:view","description":"View a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}]}}}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eas-cli",
|
|
3
3
|
"description": "EAS command line tool",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.38.3",
|
|
5
5
|
"author": "Expo <support@expo.dev>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"eas": "./bin/run"
|
|
@@ -9,24 +9,23 @@
|
|
|
9
9
|
"bugs": "https://github.com/expo/eas-cli/issues",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@expo/apple-utils": "0.0.0-alpha.26",
|
|
12
|
-
"@expo/config": "6.0.
|
|
13
|
-
"@expo/config-plugins": "4.0.
|
|
12
|
+
"@expo/config": "6.0.10",
|
|
13
|
+
"@expo/config-plugins": "4.0.10",
|
|
14
14
|
"@expo/eas-build-job": "0.2.57",
|
|
15
|
-
"@expo/eas-json": "^0.
|
|
16
|
-
"@expo/json-file": "8.2.
|
|
17
|
-
"@expo/pkcs12": "0.0.
|
|
18
|
-
"@expo/plist": "0.0.
|
|
19
|
-
"@expo/plugin-warn-if-update-available": "1.7.
|
|
20
|
-
"@expo/prebuild-config": "3.0.
|
|
15
|
+
"@expo/eas-json": "^0.38.3",
|
|
16
|
+
"@expo/json-file": "8.2.34",
|
|
17
|
+
"@expo/pkcs12": "0.0.6",
|
|
18
|
+
"@expo/plist": "0.0.16",
|
|
19
|
+
"@expo/plugin-warn-if-update-available": "1.7.1",
|
|
20
|
+
"@expo/prebuild-config": "3.0.10",
|
|
21
21
|
"@expo/results": "1.0.0",
|
|
22
|
-
"@expo/rudder-sdk-node": "1.1.
|
|
23
|
-
"@expo/sdk-runtime-versions": "1.0.0",
|
|
22
|
+
"@expo/rudder-sdk-node": "1.1.1",
|
|
24
23
|
"@expo/spawn-async": "1.5.0",
|
|
25
24
|
"@expo/timeago.js": "1.0.0",
|
|
26
|
-
"@oclif/command": "1.8.
|
|
27
|
-
"@oclif/config": "1.17.
|
|
25
|
+
"@oclif/command": "1.8.3",
|
|
26
|
+
"@oclif/config": "1.17.1",
|
|
28
27
|
"@oclif/errors": "1.3.5",
|
|
29
|
-
"@oclif/plugin-help": "3.2.
|
|
28
|
+
"@oclif/plugin-help": "3.2.5",
|
|
30
29
|
"@urql/core": "2.3.1",
|
|
31
30
|
"@urql/exchange-retry": "0.3.0",
|
|
32
31
|
"chalk": "4.1.2",
|
|
@@ -96,7 +95,8 @@
|
|
|
96
95
|
"mockdate": "^3.0.2",
|
|
97
96
|
"nock": "^13.0.5",
|
|
98
97
|
"tempy": "0.7.0",
|
|
99
|
-
"ts-deepmerge": "1.0.8"
|
|
98
|
+
"ts-deepmerge": "1.0.8",
|
|
99
|
+
"typescript": "4.5.2"
|
|
100
100
|
},
|
|
101
101
|
"engines": {
|
|
102
102
|
"node": ">=12.0.0"
|
|
@@ -179,5 +179,5 @@
|
|
|
179
179
|
"generate-graphql-code": "graphql-codegen --config graphql-codegen.yml",
|
|
180
180
|
"clean": "rm -rf dist build node_modules yarn-error.log"
|
|
181
181
|
},
|
|
182
|
-
"gitHead": "
|
|
182
|
+
"gitHead": "4f7148b7561717631bc4ff087249c81a49bcf482"
|
|
183
183
|
}
|