eas-cli 0.39.0 → 0.42.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 +457 -104
- package/bin/run +3 -4
- package/build/api.d.ts +1 -0
- package/build/api.js +13 -1
- package/build/build/build.js +3 -3
- package/build/build/configure.js +3 -3
- package/build/build/context.d.ts +2 -1
- package/build/build/createContext.d.ts +3 -2
- package/build/build/createContext.js +3 -3
- package/build/build/local.d.ts +9 -1
- package/build/build/local.js +35 -5
- package/build/build/runBuildAndSubmit.d.ts +15 -0
- package/build/build/runBuildAndSubmit.js +173 -0
- package/build/build/utils/devClient.js +3 -3
- package/build/commandUtils/EasCommand.d.ts +2 -1
- package/build/commandUtils/EasCommand.js +7 -4
- package/build/commands/account/login.d.ts +1 -0
- package/build/commands/account/login.js +1 -0
- package/build/commands/account/logout.d.ts +1 -0
- package/build/commands/account/logout.js +1 -0
- package/build/commands/account/view.d.ts +1 -0
- package/build/commands/account/view.js +1 -0
- package/build/commands/analytics.js +1 -1
- package/build/commands/branch/create.d.ts +1 -2
- package/build/commands/branch/create.js +3 -4
- package/build/commands/branch/delete.d.ts +1 -2
- package/build/commands/branch/delete.js +4 -5
- package/build/commands/branch/list.d.ts +1 -2
- package/build/commands/branch/list.js +4 -5
- package/build/commands/branch/publish.d.ts +1 -18
- package/build/commands/branch/publish.js +2 -354
- package/build/commands/branch/rename.d.ts +3 -5
- package/build/commands/branch/rename.js +5 -6
- package/build/commands/branch/view.d.ts +1 -2
- package/build/commands/branch/view.js +3 -4
- package/build/commands/build/cancel.js +1 -1
- package/build/commands/build/configure.d.ts +1 -2
- package/build/commands/build/configure.js +3 -3
- package/build/commands/build/index.d.ts +11 -17
- package/build/commands/build/index.js +28 -178
- package/build/commands/build/inspect.d.ts +21 -0
- package/build/commands/build/inspect.js +129 -0
- package/build/commands/build/list.d.ts +13 -14
- package/build/commands/build/list.js +15 -15
- package/build/commands/build/view.d.ts +1 -1
- package/build/commands/build/view.js +3 -3
- package/build/commands/channel/create.d.ts +1 -2
- package/build/commands/channel/create.js +3 -4
- package/build/commands/channel/edit.d.ts +2 -4
- package/build/commands/channel/edit.js +4 -5
- package/build/commands/channel/list.d.ts +1 -2
- package/build/commands/channel/list.js +3 -4
- package/build/commands/channel/rollout.d.ts +4 -5
- package/build/commands/channel/rollout.js +6 -7
- package/build/commands/channel/view.d.ts +1 -2
- package/build/commands/channel/view.js +3 -4
- package/build/commands/config.d.ts +2 -3
- package/build/commands/config.js +4 -4
- package/build/commands/credentials.js +1 -7
- package/build/commands/device/list.d.ts +1 -2
- package/build/commands/device/list.js +3 -3
- package/build/commands/device/view.js +1 -1
- package/build/commands/diagnostics.js +1 -0
- package/build/commands/secret/create.d.ts +4 -5
- package/build/commands/secret/create.js +6 -6
- package/build/commands/secret/delete.d.ts +1 -2
- package/build/commands/secret/delete.js +3 -3
- package/build/commands/submit.d.ts +9 -10
- package/build/commands/submit.js +14 -15
- package/build/commands/update/configure.d.ts +0 -2
- package/build/commands/update/configure.js +14 -14
- package/build/commands/update/delete.d.ts +1 -2
- package/build/commands/update/delete.js +3 -4
- package/build/commands/update/index.d.ts +18 -0
- package/build/commands/update/index.js +392 -0
- package/build/commands/update/view.d.ts +1 -2
- package/build/commands/update/view.js +3 -4
- package/build/commands/webhook/create.d.ts +3 -4
- package/build/commands/webhook/create.js +5 -5
- package/build/commands/webhook/delete.js +1 -1
- package/build/commands/webhook/list.d.ts +1 -2
- package/build/commands/webhook/list.js +3 -3
- package/build/commands/webhook/update.d.ts +4 -5
- package/build/commands/webhook/update.js +6 -6
- package/build/commands/webhook/view.js +1 -1
- package/build/credentials/context.d.ts +5 -0
- package/build/credentials/context.js +12 -7
- package/build/credentials/manager/ManageAndroid.d.ts +3 -3
- package/build/credentials/manager/ManageAndroid.js +21 -13
- package/build/credentials/manager/ManageIos.d.ts +3 -3
- package/build/credentials/manager/ManageIos.js +23 -13
- package/build/credentials/manager/SelectBuildProfileFromEasJson.d.ts +2 -3
- package/build/credentials/manager/SelectBuildProfileFromEasJson.js +3 -6
- package/build/credentials/manager/SelectPlatform.d.ts +1 -2
- package/build/credentials/manager/SelectPlatform.js +3 -3
- package/build/graphql/generated.d.ts +31 -11
- package/build/graphql/generated.js +6 -1
- package/build/graphql/types/Submission.js +1 -0
- package/build/index.d.ts +1 -1
- package/build/index.js +2 -2
- package/build/project/expoSdk.d.ts +3 -0
- package/build/project/expoSdk.js +30 -0
- package/build/project/metroConfig.js +2 -2
- package/build/project/publish.js +1 -3
- package/build/prompts.d.ts +3 -3
- package/build/submit/context.js +0 -1
- package/build/submit/ios/IosSubmitCommand.js +6 -1
- package/build/submit/utils/urls.js +1 -1
- package/build/update/utils.js +4 -4
- package/build/user/actions.js +2 -2
- package/build/utils/expoCli.d.ts +3 -1
- package/build/utils/expoCli.js +13 -11
- package/build/utils/profiles.d.ts +1 -1
- package/build/utils/profiles.js +80 -30
- package/build/vcs/clients/git.js +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +16 -12
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
|
-
const
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
6
|
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
7
7
|
const EasCommand_1 = (0, tslib_1.__importDefault)(require("../../commandUtils/EasCommand"));
|
|
8
8
|
const generated_1 = require("../../graphql/generated");
|
|
@@ -13,7 +13,7 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
13
13
|
const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
14
14
|
class WebhookList extends EasCommand_1.default {
|
|
15
15
|
async runAsync() {
|
|
16
|
-
const { flags: { event }, } = this.parse(WebhookList);
|
|
16
|
+
const { flags: { event }, } = await this.parse(WebhookList);
|
|
17
17
|
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
18
18
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
19
19
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
@@ -41,7 +41,7 @@ class WebhookList extends EasCommand_1.default {
|
|
|
41
41
|
exports.default = WebhookList;
|
|
42
42
|
WebhookList.description = 'List webhooks on the current project.';
|
|
43
43
|
WebhookList.flags = {
|
|
44
|
-
event:
|
|
44
|
+
event: core_1.Flags.enum({
|
|
45
45
|
description: 'Event type that triggers the webhook',
|
|
46
46
|
options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
|
|
47
47
|
}),
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { flags } from '@oclif/command';
|
|
2
1
|
import EasCommand from '../../commandUtils/EasCommand';
|
|
3
2
|
import { WebhookType } from '../../graphql/generated';
|
|
4
3
|
export default class WebhookUpdate extends EasCommand {
|
|
5
4
|
static description: string;
|
|
6
5
|
static flags: {
|
|
7
|
-
id:
|
|
8
|
-
event:
|
|
9
|
-
url:
|
|
10
|
-
secret:
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
7
|
+
event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType>;
|
|
8
|
+
url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
9
|
+
secret: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
11
10
|
};
|
|
12
11
|
runAsync(): Promise<void>;
|
|
13
12
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
5
|
const EasCommand_1 = (0, tslib_1.__importDefault)(require("../../commandUtils/EasCommand"));
|
|
6
6
|
const generated_1 = require("../../graphql/generated");
|
|
7
7
|
const WebhookMutation_1 = require("../../graphql/mutations/WebhookMutation");
|
|
@@ -11,7 +11,7 @@ const pick_1 = (0, tslib_1.__importDefault)(require("../../utils/expodash/pick")
|
|
|
11
11
|
const input_1 = require("../../webhooks/input");
|
|
12
12
|
class WebhookUpdate extends EasCommand_1.default {
|
|
13
13
|
async runAsync() {
|
|
14
|
-
const { flags } = this.parse(WebhookUpdate);
|
|
14
|
+
const { flags } = await this.parse(WebhookUpdate);
|
|
15
15
|
const webhookId = flags.id;
|
|
16
16
|
const webhook = await WebhookQuery_1.WebhookQuery.byIdAsync(webhookId);
|
|
17
17
|
const webhookInputParams = await (0, input_1.prepareInputParamsAsync)((0, pick_1.default)(flags, ['event', 'url', 'secret']), webhook);
|
|
@@ -29,18 +29,18 @@ class WebhookUpdate extends EasCommand_1.default {
|
|
|
29
29
|
exports.default = WebhookUpdate;
|
|
30
30
|
WebhookUpdate.description = 'Create a webhook on the current project.';
|
|
31
31
|
WebhookUpdate.flags = {
|
|
32
|
-
id:
|
|
32
|
+
id: core_1.Flags.string({
|
|
33
33
|
description: 'Webhook ID',
|
|
34
34
|
required: true,
|
|
35
35
|
}),
|
|
36
|
-
event:
|
|
36
|
+
event: core_1.Flags.enum({
|
|
37
37
|
description: 'Event type that triggers the webhook',
|
|
38
38
|
options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
|
|
39
39
|
}),
|
|
40
|
-
url:
|
|
40
|
+
url: core_1.Flags.string({
|
|
41
41
|
description: 'Webhook URL',
|
|
42
42
|
}),
|
|
43
|
-
secret:
|
|
43
|
+
secret: core_1.Flags.string({
|
|
44
44
|
description: "Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.",
|
|
45
45
|
}),
|
|
46
46
|
};
|
|
@@ -8,7 +8,7 @@ const ora_1 = require("../../ora");
|
|
|
8
8
|
const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
9
9
|
class WebhookView extends EasCommand_1.default {
|
|
10
10
|
async runAsync() {
|
|
11
|
-
const { args: { ID: webhookId }, } = this.parse(WebhookView);
|
|
11
|
+
const { args: { ID: webhookId }, } = await this.parse(WebhookView);
|
|
12
12
|
const spinner = (0, ora_1.ora)(`Fetching the webhook details for ID ${webhookId}`).start();
|
|
13
13
|
try {
|
|
14
14
|
const webhook = await WebhookQuery_1.WebhookQuery.byIdAsync(webhookId);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ExpoConfig } from '@expo/config';
|
|
2
|
+
import { Env } from '@expo/eas-build-job';
|
|
2
3
|
import { Actor } from '../user/User';
|
|
3
4
|
import * as AndroidGraphqlClient from './android/api/GraphqlClient';
|
|
4
5
|
import * as IosGraphqlClient from './ios/api/GraphqlClient';
|
|
@@ -18,7 +19,11 @@ export declare class CredentialsContext {
|
|
|
18
19
|
nonInteractive?: boolean;
|
|
19
20
|
projectDir: string;
|
|
20
21
|
user: Actor;
|
|
22
|
+
env?: Env;
|
|
21
23
|
});
|
|
24
|
+
static getExpoConfigInProject(projectDir: string, { env }?: {
|
|
25
|
+
env?: Env;
|
|
26
|
+
}): ExpoConfig | null;
|
|
22
27
|
get hasProjectContext(): boolean;
|
|
23
28
|
get exp(): ExpoConfig;
|
|
24
29
|
ensureProjectContext(): void;
|
|
@@ -14,7 +14,7 @@ const IosGraphqlClient = (0, tslib_1.__importStar)(require("./ios/api/GraphqlCli
|
|
|
14
14
|
const AppStoreApi_1 = (0, tslib_1.__importDefault)(require("./ios/appstore/AppStoreApi"));
|
|
15
15
|
class CredentialsContext {
|
|
16
16
|
constructor(options) {
|
|
17
|
-
var _a;
|
|
17
|
+
var _a, _b;
|
|
18
18
|
this.options = options;
|
|
19
19
|
this.android = AndroidGraphqlClient;
|
|
20
20
|
this.appStore = new AppStoreApi_1.default();
|
|
@@ -25,12 +25,17 @@ class CredentialsContext {
|
|
|
25
25
|
this.nonInteractive = (_a = options.nonInteractive) !== null && _a !== void 0 ? _a : false;
|
|
26
26
|
this.resolvedExp = options.exp;
|
|
27
27
|
if (!this.resolvedExp) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
this.resolvedExp =
|
|
29
|
+
(_b = CredentialsContext.getExpoConfigInProject(this.projectDir, { env: options.env })) !== null && _b !== void 0 ? _b : undefined;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static getExpoConfigInProject(projectDir, { env } = {}) {
|
|
33
|
+
try {
|
|
34
|
+
return (0, expoConfig_1.getExpoConfig)(projectDir, { env });
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// ignore error, context might be created outside of expo project
|
|
38
|
+
return null;
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
get hasProjectContext() {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { CredentialsContext } from '../context';
|
|
2
1
|
import { ActionInfo } from './Actions';
|
|
3
2
|
import { Action } from './HelperActions';
|
|
4
3
|
export declare class ManageAndroid {
|
|
5
4
|
private callingAction;
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
private projectDir;
|
|
6
|
+
constructor(callingAction: Action, projectDir: string);
|
|
7
|
+
runAsync(currentActions?: ActionInfo[]): Promise<void>;
|
|
8
8
|
private createProjectContextAsync;
|
|
9
9
|
private runProjectSpecificActionAsync;
|
|
10
10
|
}
|
|
@@ -25,16 +25,27 @@ const SetUpGoogleServiceAccountKey_1 = require("../android/actions/SetUpGoogleSe
|
|
|
25
25
|
const UpdateCredentialsJson_1 = require("../android/actions/UpdateCredentialsJson");
|
|
26
26
|
const UseExistingGoogleServiceAccountKey_1 = require("../android/actions/UseExistingGoogleServiceAccountKey");
|
|
27
27
|
const printCredentials_1 = require("../android/utils/printCredentials");
|
|
28
|
+
const context_1 = require("../context");
|
|
28
29
|
const Actions_1 = require("./Actions");
|
|
29
30
|
const AndroidActions_1 = require("./AndroidActions");
|
|
30
31
|
const HelperActions_1 = require("./HelperActions");
|
|
31
32
|
const SelectAndroidBuildCredentials_1 = require("./SelectAndroidBuildCredentials");
|
|
32
33
|
const SelectBuildProfileFromEasJson_1 = require("./SelectBuildProfileFromEasJson");
|
|
33
34
|
class ManageAndroid {
|
|
34
|
-
constructor(callingAction) {
|
|
35
|
+
constructor(callingAction, projectDir) {
|
|
35
36
|
this.callingAction = callingAction;
|
|
37
|
+
this.projectDir = projectDir;
|
|
36
38
|
}
|
|
37
|
-
async runAsync(
|
|
39
|
+
async runAsync(currentActions = AndroidActions_1.highLevelActions) {
|
|
40
|
+
const hasProjectContext = !!context_1.CredentialsContext.getExpoConfigInProject(this.projectDir);
|
|
41
|
+
const buildProfile = hasProjectContext
|
|
42
|
+
? await new SelectBuildProfileFromEasJson_1.SelectBuildProfileFromEasJson(this.projectDir, eas_build_job_1.Platform.ANDROID).runAsync()
|
|
43
|
+
: null;
|
|
44
|
+
const ctx = new context_1.CredentialsContext({
|
|
45
|
+
projectDir: process.cwd(),
|
|
46
|
+
user: await (0, actions_1.ensureLoggedInAsync)(),
|
|
47
|
+
env: buildProfile === null || buildProfile === void 0 ? void 0 : buildProfile.env,
|
|
48
|
+
});
|
|
38
49
|
const accountName = ctx.hasProjectContext
|
|
39
50
|
? (0, projectUtils_1.getProjectAccountName)(ctx.exp, ctx.user)
|
|
40
51
|
: (0, actions_1.ensureActorHasUsername)(ctx.user);
|
|
@@ -42,7 +53,11 @@ class ManageAndroid {
|
|
|
42
53
|
if (!account) {
|
|
43
54
|
throw new Error(`You do not have access to account: ${accountName}`);
|
|
44
55
|
}
|
|
45
|
-
|
|
56
|
+
let gradleContext;
|
|
57
|
+
if (ctx.hasProjectContext) {
|
|
58
|
+
(0, assert_1.default)(buildProfile, 'buildProfile must be defined in a project context');
|
|
59
|
+
gradleContext = await this.createProjectContextAsync(ctx, buildProfile);
|
|
60
|
+
}
|
|
46
61
|
while (true) {
|
|
47
62
|
try {
|
|
48
63
|
if (ctx.hasProjectContext) {
|
|
@@ -114,20 +129,13 @@ class ManageAndroid {
|
|
|
114
129
|
await new HelperActions_1.PressAnyKeyToContinue().runAsync();
|
|
115
130
|
}
|
|
116
131
|
}
|
|
117
|
-
async createProjectContextAsync(ctx) {
|
|
118
|
-
|
|
119
|
-
return {};
|
|
120
|
-
}
|
|
132
|
+
async createProjectContextAsync(ctx, buildProfile) {
|
|
133
|
+
(0, assert_1.default)(ctx.hasProjectContext, 'createProjectContextAsync: must have project context.');
|
|
121
134
|
const maybeProjectId = await (0, projectUtils_1.promptToCreateProjectIfNotExistsAsync)(ctx.exp);
|
|
122
135
|
if (!maybeProjectId) {
|
|
123
136
|
throw new Error('Your project must be registered with EAS in order to use the credentials manager.');
|
|
124
137
|
}
|
|
125
|
-
|
|
126
|
-
const gradleContext = await (0, gradle_1.resolveGradleBuildContextAsync)(ctx.projectDir, buildProfile);
|
|
127
|
-
return {
|
|
128
|
-
gradleContext,
|
|
129
|
-
buildProfile,
|
|
130
|
-
};
|
|
138
|
+
return await (0, gradle_1.resolveGradleBuildContextAsync)(ctx.projectDir, buildProfile);
|
|
131
139
|
}
|
|
132
140
|
async runProjectSpecificActionAsync(ctx, action, gradleContext) {
|
|
133
141
|
(0, assert_1.default)(ctx.hasProjectContext, 'You must be in your project directory in order to perform this action');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { CredentialsContext } from '../context';
|
|
2
1
|
import { ActionInfo } from './Actions';
|
|
3
2
|
import { Action } from './HelperActions';
|
|
4
3
|
export declare class ManageIos {
|
|
5
4
|
private callingAction;
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
private projectDir;
|
|
6
|
+
constructor(callingAction: Action, projectDir: string);
|
|
7
|
+
runAsync(currentActions?: ActionInfo[]): Promise<void>;
|
|
8
8
|
private createProjectContextAsync;
|
|
9
9
|
private runAccountSpecificActionAsync;
|
|
10
10
|
private runProjectSpecificActionAsync;
|
|
@@ -13,6 +13,7 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
13
13
|
const prompts_1 = require("../../prompts");
|
|
14
14
|
const Account_1 = require("../../user/Account");
|
|
15
15
|
const actions_1 = require("../../user/actions");
|
|
16
|
+
const context_1 = require("../context");
|
|
16
17
|
const AscApiKeyUtils_1 = require("../ios/actions/AscApiKeyUtils");
|
|
17
18
|
const AssignAscApiKey_1 = require("../ios/actions/AssignAscApiKey");
|
|
18
19
|
const AssignPushKey_1 = require("../ios/actions/AssignPushKey");
|
|
@@ -41,10 +42,20 @@ const IosActions_1 = require("./IosActions");
|
|
|
41
42
|
const SelectBuildProfileFromEasJson_1 = require("./SelectBuildProfileFromEasJson");
|
|
42
43
|
const SelectIosDistributionTypeGraphqlFromBuildProfile_1 = require("./SelectIosDistributionTypeGraphqlFromBuildProfile");
|
|
43
44
|
class ManageIos {
|
|
44
|
-
constructor(callingAction) {
|
|
45
|
+
constructor(callingAction, projectDir) {
|
|
45
46
|
this.callingAction = callingAction;
|
|
47
|
+
this.projectDir = projectDir;
|
|
46
48
|
}
|
|
47
|
-
async runAsync(
|
|
49
|
+
async runAsync(currentActions = IosActions_1.highLevelActions) {
|
|
50
|
+
const hasProjectContext = !!context_1.CredentialsContext.getExpoConfigInProject(this.projectDir);
|
|
51
|
+
const buildProfile = hasProjectContext
|
|
52
|
+
? await new SelectBuildProfileFromEasJson_1.SelectBuildProfileFromEasJson(this.projectDir, eas_build_job_1.Platform.IOS).runAsync()
|
|
53
|
+
: null;
|
|
54
|
+
const ctx = new context_1.CredentialsContext({
|
|
55
|
+
projectDir: process.cwd(),
|
|
56
|
+
user: await (0, actions_1.ensureLoggedInAsync)(),
|
|
57
|
+
env: buildProfile === null || buildProfile === void 0 ? void 0 : buildProfile.env,
|
|
58
|
+
});
|
|
48
59
|
const buildCredentialsActions = (0, IosActions_1.getBuildCredentialsActions)(ctx);
|
|
49
60
|
const pushKeyActions = (0, IosActions_1.getPushKeyActions)(ctx);
|
|
50
61
|
const ascApiKeyActions = (0, IosActions_1.getAscApiKeyActions)(ctx);
|
|
@@ -56,7 +67,14 @@ class ManageIos {
|
|
|
56
67
|
if (!account) {
|
|
57
68
|
throw new Error(`You do not have access to account: ${accountName}`);
|
|
58
69
|
}
|
|
59
|
-
|
|
70
|
+
let app = null;
|
|
71
|
+
let targets = null;
|
|
72
|
+
if (ctx.hasProjectContext) {
|
|
73
|
+
(0, assert_1.default)(buildProfile, 'buildProfile must be defined in project context');
|
|
74
|
+
const projectContext = await this.createProjectContextAsync(ctx, account, buildProfile);
|
|
75
|
+
app = projectContext.app;
|
|
76
|
+
targets = projectContext.targets;
|
|
77
|
+
}
|
|
60
78
|
while (true) {
|
|
61
79
|
try {
|
|
62
80
|
if (ctx.hasProjectContext) {
|
|
@@ -128,20 +146,13 @@ class ManageIos {
|
|
|
128
146
|
await new HelperActions_1.PressAnyKeyToContinue().runAsync();
|
|
129
147
|
}
|
|
130
148
|
}
|
|
131
|
-
async createProjectContextAsync(ctx, account) {
|
|
132
|
-
|
|
133
|
-
return {
|
|
134
|
-
app: null,
|
|
135
|
-
targets: null,
|
|
136
|
-
buildProfile: null,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
149
|
+
async createProjectContextAsync(ctx, account, buildProfile) {
|
|
150
|
+
(0, assert_1.default)(ctx.hasProjectContext, 'createProjectContextAsync: must have project context.');
|
|
139
151
|
const maybeProjectId = await (0, projectUtils_1.promptToCreateProjectIfNotExistsAsync)(ctx.exp);
|
|
140
152
|
if (!maybeProjectId) {
|
|
141
153
|
throw new Error('Your project must be registered with EAS in order to use the credentials manager.');
|
|
142
154
|
}
|
|
143
155
|
const app = { account, projectName: ctx.exp.slug };
|
|
144
|
-
const buildProfile = await new SelectBuildProfileFromEasJson_1.SelectBuildProfileFromEasJson(ctx.projectDir, eas_build_job_1.Platform.IOS).runAsync(ctx);
|
|
145
156
|
const xcodeBuildContext = await (0, scheme_1.resolveXcodeBuildContextAsync)({
|
|
146
157
|
projectDir: ctx.projectDir,
|
|
147
158
|
nonInteractive: ctx.nonInteractive,
|
|
@@ -151,7 +162,6 @@ class ManageIos {
|
|
|
151
162
|
return {
|
|
152
163
|
app,
|
|
153
164
|
targets,
|
|
154
|
-
buildProfile,
|
|
155
165
|
};
|
|
156
166
|
}
|
|
157
167
|
async runAccountSpecificActionAsync(ctx, account, action) {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Platform } from '@expo/eas-build-job';
|
|
2
2
|
import { BuildProfile } from '@expo/eas-json';
|
|
3
|
-
import { CredentialsContext } from '../context';
|
|
4
3
|
export declare class SelectBuildProfileFromEasJson<T extends Platform> {
|
|
5
4
|
private platform;
|
|
6
5
|
private easJsonReader;
|
|
7
6
|
constructor(projectDir: string, platform: T);
|
|
8
|
-
runAsync(
|
|
9
|
-
getProfileNameFromEasConfigAsync(
|
|
7
|
+
runAsync(): Promise<BuildProfile<T>>;
|
|
8
|
+
getProfileNameFromEasConfigAsync(): Promise<string>;
|
|
10
9
|
}
|
|
@@ -10,13 +10,13 @@ class SelectBuildProfileFromEasJson {
|
|
|
10
10
|
this.platform = platform;
|
|
11
11
|
this.easJsonReader = new eas_json_1.EasJsonReader(projectDir);
|
|
12
12
|
}
|
|
13
|
-
async runAsync(
|
|
14
|
-
const profileName = await this.getProfileNameFromEasConfigAsync(
|
|
13
|
+
async runAsync() {
|
|
14
|
+
const profileName = await this.getProfileNameFromEasConfigAsync();
|
|
15
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
|
}
|
|
19
|
-
async getProfileNameFromEasConfigAsync(
|
|
19
|
+
async getProfileNameFromEasConfigAsync() {
|
|
20
20
|
const buildProfileNames = await this.easJsonReader.getBuildProfileNamesAsync();
|
|
21
21
|
if (buildProfileNames.length === 0) {
|
|
22
22
|
throw new Error('You need at least one iOS build profile declared in eas.json. Go to https://docs.expo.dev/build/eas-json/ for more details');
|
|
@@ -24,9 +24,6 @@ class SelectBuildProfileFromEasJson {
|
|
|
24
24
|
else if (buildProfileNames.length === 1) {
|
|
25
25
|
return buildProfileNames[0];
|
|
26
26
|
}
|
|
27
|
-
if (ctx.nonInteractive) {
|
|
28
|
-
throw new Error('You have multiple build profiles. Please run this command in interactive mode.');
|
|
29
|
-
}
|
|
30
27
|
const { profileName } = await (0, prompts_1.promptAsync)({
|
|
31
28
|
type: 'select',
|
|
32
29
|
name: 'profileName',
|
|
@@ -5,7 +5,7 @@ const prompts_1 = require("../../prompts");
|
|
|
5
5
|
const ManageAndroid_1 = require("./ManageAndroid");
|
|
6
6
|
const ManageIos_1 = require("./ManageIos");
|
|
7
7
|
class SelectPlatform {
|
|
8
|
-
async runAsync(
|
|
8
|
+
async runAsync() {
|
|
9
9
|
const { platform } = await (0, prompts_1.promptAsync)({
|
|
10
10
|
type: 'select',
|
|
11
11
|
name: 'platform',
|
|
@@ -16,9 +16,9 @@ class SelectPlatform {
|
|
|
16
16
|
],
|
|
17
17
|
});
|
|
18
18
|
if (platform === 'ios') {
|
|
19
|
-
return await new ManageIos_1.ManageIos(new SelectPlatform()).runAsync(
|
|
19
|
+
return await new ManageIos_1.ManageIos(new SelectPlatform(), process.cwd()).runAsync();
|
|
20
20
|
}
|
|
21
|
-
return await new ManageAndroid_1.ManageAndroid(new SelectPlatform()).runAsync(
|
|
21
|
+
return await new ManageAndroid_1.ManageAndroid(new SelectPlatform(), process.cwd()).runAsync();
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.SelectPlatform = SelectPlatform;
|
|
@@ -632,6 +632,7 @@ export declare type Build = ActivityTimelineProjectActivity & BuildOrBuildJob &
|
|
|
632
632
|
appBuildVersion?: Maybe<Scalars['String']>;
|
|
633
633
|
sdkVersion?: Maybe<Scalars['String']>;
|
|
634
634
|
runtimeVersion?: Maybe<Scalars['String']>;
|
|
635
|
+
reactNativeVersion?: Maybe<Scalars['String']>;
|
|
635
636
|
releaseChannel?: Maybe<Scalars['String']>;
|
|
636
637
|
channel?: Maybe<Scalars['String']>;
|
|
637
638
|
metrics?: Maybe<BuildMetrics>;
|
|
@@ -1535,6 +1536,7 @@ export declare type InvoiceQuery = {
|
|
|
1535
1536
|
export declare type InvoiceQueryPreviewInvoiceForSubscriptionUpdateArgs = {
|
|
1536
1537
|
accountId: Scalars['String'];
|
|
1537
1538
|
newPlanIdentifier: Scalars['String'];
|
|
1539
|
+
couponCode?: Maybe<Scalars['String']>;
|
|
1538
1540
|
};
|
|
1539
1541
|
export declare type Invoice = {
|
|
1540
1542
|
__typename?: 'Invoice';
|
|
@@ -1545,12 +1547,28 @@ export declare type Invoice = {
|
|
|
1545
1547
|
amountPaid: Scalars['Int'];
|
|
1546
1548
|
/** The total amount that needs to be paid, considering any discounts or account credit. Value is in cents. */
|
|
1547
1549
|
amountRemaining: Scalars['Int'];
|
|
1550
|
+
discount?: Maybe<InvoiceDiscount>;
|
|
1551
|
+
totalDiscountedAmount: Scalars['Int'];
|
|
1548
1552
|
lineItems: Array<InvoiceLineItem>;
|
|
1549
1553
|
period: InvoicePeriod;
|
|
1550
1554
|
startingBalance: Scalars['Int'];
|
|
1551
1555
|
subtotal: Scalars['Int'];
|
|
1552
1556
|
total: Scalars['Int'];
|
|
1553
1557
|
};
|
|
1558
|
+
export declare type InvoiceDiscount = {
|
|
1559
|
+
__typename?: 'InvoiceDiscount';
|
|
1560
|
+
id: Scalars['ID'];
|
|
1561
|
+
name: Scalars['String'];
|
|
1562
|
+
type: InvoiceDiscountType;
|
|
1563
|
+
duration: Scalars['String'];
|
|
1564
|
+
durationInMonths?: Maybe<Scalars['Int']>;
|
|
1565
|
+
/** The coupon's discount value, in percentage or in dollar amount */
|
|
1566
|
+
amount: Scalars['Int'];
|
|
1567
|
+
};
|
|
1568
|
+
export declare enum InvoiceDiscountType {
|
|
1569
|
+
Percentage = "PERCENTAGE",
|
|
1570
|
+
Amount = "AMOUNT"
|
|
1571
|
+
}
|
|
1554
1572
|
export declare type InvoiceLineItem = {
|
|
1555
1573
|
__typename?: 'InvoiceLineItem';
|
|
1556
1574
|
id: Scalars['ID'];
|
|
@@ -1818,6 +1836,7 @@ export declare type AccountMutationCancelSubscriptionArgs = {
|
|
|
1818
1836
|
export declare type AccountMutationChangePlanArgs = {
|
|
1819
1837
|
accountID: Scalars['ID'];
|
|
1820
1838
|
newPlanIdentifier: Scalars['String'];
|
|
1839
|
+
couponCode?: Maybe<Scalars['String']>;
|
|
1821
1840
|
};
|
|
1822
1841
|
export declare type AccountMutationCancelScheduledSubscriptionChangeArgs = {
|
|
1823
1842
|
accountID: Scalars['ID'];
|
|
@@ -2307,6 +2326,7 @@ export declare type BuildMetadataInput = {
|
|
|
2307
2326
|
credentialsSource?: Maybe<BuildCredentialsSource>;
|
|
2308
2327
|
sdkVersion?: Maybe<Scalars['String']>;
|
|
2309
2328
|
runtimeVersion?: Maybe<Scalars['String']>;
|
|
2329
|
+
reactNativeVersion?: Maybe<Scalars['String']>;
|
|
2310
2330
|
releaseChannel?: Maybe<Scalars['String']>;
|
|
2311
2331
|
channel?: Maybe<Scalars['String']>;
|
|
2312
2332
|
distribution?: Maybe<DistributionType>;
|
|
@@ -3060,16 +3080,6 @@ export declare type BranchesByAppQuery = ({
|
|
|
3060
3080
|
});
|
|
3061
3081
|
});
|
|
3062
3082
|
});
|
|
3063
|
-
export declare type GetUpdateGroupAsyncQueryVariables = Exact<{
|
|
3064
|
-
group: Scalars['ID'];
|
|
3065
|
-
}>;
|
|
3066
|
-
export declare type GetUpdateGroupAsyncQuery = ({
|
|
3067
|
-
__typename?: 'RootQuery';
|
|
3068
|
-
} & {
|
|
3069
|
-
updatesByGroup: Array<({
|
|
3070
|
-
__typename?: 'Update';
|
|
3071
|
-
} & Pick<Update, 'id' | 'group' | 'runtimeVersion' | 'manifestFragment' | 'platform' | 'message'>)>;
|
|
3072
|
-
});
|
|
3073
3083
|
export declare type EditUpdateBranchMutationVariables = Exact<{
|
|
3074
3084
|
input: EditUpdateBranchInput;
|
|
3075
3085
|
}>;
|
|
@@ -3277,6 +3287,16 @@ export declare type DeleteUpdateGroupMutation = ({
|
|
|
3277
3287
|
} & Pick<DeleteUpdateGroupResult, 'group'>);
|
|
3278
3288
|
});
|
|
3279
3289
|
});
|
|
3290
|
+
export declare type GetUpdateGroupAsyncQueryVariables = Exact<{
|
|
3291
|
+
group: Scalars['ID'];
|
|
3292
|
+
}>;
|
|
3293
|
+
export declare type GetUpdateGroupAsyncQuery = ({
|
|
3294
|
+
__typename?: 'RootQuery';
|
|
3295
|
+
} & {
|
|
3296
|
+
updatesByGroup: Array<({
|
|
3297
|
+
__typename?: 'Update';
|
|
3298
|
+
} & Pick<Update, 'id' | 'group' | 'runtimeVersion' | 'manifestFragment' | 'platform' | 'message'>)>;
|
|
3299
|
+
});
|
|
3280
3300
|
export declare type UpdatesByGroupQueryVariables = Exact<{
|
|
3281
3301
|
groupId: Scalars['ID'];
|
|
3282
3302
|
}>;
|
|
@@ -4585,7 +4605,7 @@ export declare type SubmissionFragment = ({
|
|
|
4585
4605
|
} & Pick<Submission, 'id' | 'status' | 'platform' | 'logsUrl'> & {
|
|
4586
4606
|
app: ({
|
|
4587
4607
|
__typename?: 'App';
|
|
4588
|
-
} & Pick<App, 'id' | 'name'> & {
|
|
4608
|
+
} & Pick<App, 'id' | 'name' | 'slug'> & {
|
|
4589
4609
|
ownerAccount: ({
|
|
4590
4610
|
__typename?: 'Account';
|
|
4591
4611
|
} & Pick<Account, 'id' | 'name'>);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* For more info and docs, visit https://graphql-code-generator.com/
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.CacheControlScope = exports.IosManagedBuildType = exports.IosSchemeBuildConfiguration = exports.StandardOffer = exports.MailchimpAudience = exports.MailchimpTag = exports.UploadSessionType = exports.IosBuildType = exports.EasBuildDeprecationInfoType = exports.BuildCredentialsSource = exports.AndroidBuildType = exports.ProjectArchiveSourceType = exports.BuildWorkflow = exports.Order = exports.AssetMetadataStatus = exports.AppSort = exports.AppsFilter = exports.WebhookType = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AppStoreConnectUserRole = exports.IosDistributionType = exports.AppleDeviceClass = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidArchiveType = exports.SubmissionStatus = exports.BuildIosEnterpriseProvisioning = exports.ActivityTimelineProjectActivityType = exports.Role = exports.Permission = exports.SecondFactorMethod = exports.DistributionType = exports.BuildStatus = exports.AppPlatform = exports.AppPrivacy = exports.Feature = exports.OfferType = void 0;
|
|
9
|
+
exports.CacheControlScope = exports.IosManagedBuildType = exports.IosSchemeBuildConfiguration = exports.StandardOffer = exports.MailchimpAudience = exports.MailchimpTag = exports.UploadSessionType = exports.IosBuildType = exports.EasBuildDeprecationInfoType = exports.BuildCredentialsSource = exports.AndroidBuildType = exports.ProjectArchiveSourceType = exports.BuildWorkflow = exports.InvoiceDiscountType = exports.Order = exports.AssetMetadataStatus = exports.AppSort = exports.AppsFilter = exports.WebhookType = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AppStoreConnectUserRole = exports.IosDistributionType = exports.AppleDeviceClass = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidArchiveType = exports.SubmissionStatus = exports.BuildIosEnterpriseProvisioning = exports.ActivityTimelineProjectActivityType = exports.Role = exports.Permission = exports.SecondFactorMethod = exports.DistributionType = exports.BuildStatus = exports.AppPlatform = exports.AppPrivacy = exports.Feature = exports.OfferType = void 0;
|
|
10
10
|
var OfferType;
|
|
11
11
|
(function (OfferType) {
|
|
12
12
|
/** Term subscription */
|
|
@@ -202,6 +202,11 @@ var Order;
|
|
|
202
202
|
Order["Desc"] = "DESC";
|
|
203
203
|
Order["Asc"] = "ASC";
|
|
204
204
|
})(Order = exports.Order || (exports.Order = {}));
|
|
205
|
+
var InvoiceDiscountType;
|
|
206
|
+
(function (InvoiceDiscountType) {
|
|
207
|
+
InvoiceDiscountType["Percentage"] = "PERCENTAGE";
|
|
208
|
+
InvoiceDiscountType["Amount"] = "AMOUNT";
|
|
209
|
+
})(InvoiceDiscountType = exports.InvoiceDiscountType || (exports.InvoiceDiscountType = {}));
|
|
205
210
|
var BuildWorkflow;
|
|
206
211
|
(function (BuildWorkflow) {
|
|
207
212
|
BuildWorkflow["Generic"] = "GENERIC";
|
package/build/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { run } from '@oclif/
|
|
1
|
+
export { run } from '@oclif/core';
|
package/build/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.run = void 0;
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "run", { enumerable: true, get: function () { return
|
|
4
|
+
var core_1 = require("@oclif/core");
|
|
5
|
+
Object.defineProperty(exports, "run", { enumerable: true, get: function () { return core_1.run; } });
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkExpoSdkIsSupportedAsync = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const assert_1 = (0, tslib_1.__importDefault)(require("assert"));
|
|
8
|
+
const semver_1 = (0, tslib_1.__importDefault)(require("semver"));
|
|
9
|
+
const log_1 = (0, tslib_1.__importDefault)(require("../log"));
|
|
10
|
+
const prompts_1 = require("../prompts");
|
|
11
|
+
const SUPPORTED_EXPO_SDK_VERSIONS = '>= 41.0.0';
|
|
12
|
+
(0, assert_1.default)(semver_1.default.validRange(SUPPORTED_EXPO_SDK_VERSIONS), 'Must be a valid version range');
|
|
13
|
+
async function checkExpoSdkIsSupportedAsync(ctx) {
|
|
14
|
+
(0, assert_1.default)(ctx.workflow === eas_build_job_1.Workflow.MANAGED, 'Must be a managed workflow project');
|
|
15
|
+
if (ctx.exp.sdkVersion && semver_1.default.satisfies(ctx.exp.sdkVersion, SUPPORTED_EXPO_SDK_VERSIONS)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const unsupportedSdkMessage = 'EAS Build does not officially support building managed project with Expo SDK < 41.';
|
|
19
|
+
if (ctx.nonInteractive) {
|
|
20
|
+
log_1.default.warn(`${unsupportedSdkMessage} Proceeding because you are running in non-interactive mode.`);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const proceed = await (0, prompts_1.confirmAsync)({
|
|
24
|
+
message: `${unsupportedSdkMessage} Do you want to proceed?`,
|
|
25
|
+
});
|
|
26
|
+
if (!proceed) {
|
|
27
|
+
core_1.Errors.exit(1);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.checkExpoSdkIsSupportedAsync = checkExpoSdkIsSupportedAsync;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateMetroConfigForManagedWorkflowAsync = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
6
|
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
7
7
|
const resolve_from_1 = (0, tslib_1.__importDefault)(require("resolve-from"));
|
|
8
8
|
const log_1 = (0, tslib_1.__importStar)(require("../log"));
|
|
@@ -32,7 +32,7 @@ async function validateMetroConfigForManagedWorkflowAsync(ctx) {
|
|
|
32
32
|
});
|
|
33
33
|
if (shouldAbort) {
|
|
34
34
|
log_1.default.error('Aborting...');
|
|
35
|
-
|
|
35
|
+
core_1.Errors.exit(1);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
package/build/project/publish.js
CHANGED
|
@@ -11,7 +11,6 @@ const path_1 = (0, tslib_1.__importDefault)(require("path"));
|
|
|
11
11
|
const generated_1 = require("../graphql/generated");
|
|
12
12
|
const PublishMutation_1 = require("../graphql/mutations/PublishMutation");
|
|
13
13
|
const PublishQuery_1 = require("../graphql/queries/PublishQuery");
|
|
14
|
-
const log_1 = (0, tslib_1.__importDefault)(require("../log"));
|
|
15
14
|
const uploads_1 = require("../uploads");
|
|
16
15
|
const expoCli_1 = require("../utils/expoCli");
|
|
17
16
|
const uniqBy_1 = (0, tslib_1.__importDefault)(require("../utils/expodash/uniqBy"));
|
|
@@ -107,8 +106,7 @@ async function buildBundlesAsync({ projectDir, inputDir, }) {
|
|
|
107
106
|
if (!packageJSON) {
|
|
108
107
|
throw new Error('Could not locate package.json');
|
|
109
108
|
}
|
|
110
|
-
|
|
111
|
-
await (0, expoCli_1.expoCommandAsync)(projectDir, ['export', '--output-dir', inputDir, '--experimental-bundle']);
|
|
109
|
+
await (0, expoCli_1.expoCommandAsync)(projectDir, ['export', '--output-dir', inputDir, '--experimental-bundle'], { silent: true });
|
|
112
110
|
}
|
|
113
111
|
exports.buildBundlesAsync = buildBundlesAsync;
|
|
114
112
|
async function resolveInputDirectoryAsync(customInputDirectory) {
|
package/build/prompts.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Answers, Choice, Options, PromptType, PromptObject as Question } from 'prompts';
|
|
2
2
|
export { PromptType, Question, Choice };
|
|
3
|
+
export interface ExpoChoice<T> extends Choice {
|
|
4
|
+
value: T;
|
|
5
|
+
}
|
|
3
6
|
declare type NamelessQuestion = Omit<Question<'value'>, 'name' | 'type'>;
|
|
4
7
|
export declare function promptAsync<T extends string = string>(questions: Question<T> | Question<T>[], options?: Options): Promise<Answers<T>>;
|
|
5
8
|
export declare function confirmAsync(question: NamelessQuestion, options?: Options): Promise<boolean>;
|
|
6
|
-
interface ExpoChoice<T> extends Choice {
|
|
7
|
-
value: T;
|
|
8
|
-
}
|
|
9
9
|
export declare function selectAsync<T>(message: string, choices: ExpoChoice<T>[], options?: Options): Promise<T>;
|
|
10
10
|
/**
|
|
11
11
|
* Create a more dynamic yes/no confirmation that can be cancelled.
|
package/build/submit/context.js
CHANGED
|
@@ -25,7 +25,6 @@ async function createSubmissionContextAsync(params) {
|
|
|
25
25
|
tracking_id: (0, uuid_1.v4)(),
|
|
26
26
|
platform: params.platform,
|
|
27
27
|
...(accountId && { account_id: accountId }),
|
|
28
|
-
account_name: accountName,
|
|
29
28
|
project_id: params.projectId,
|
|
30
29
|
};
|
|
31
30
|
events_1.Analytics.logEvent(events_1.SubmissionEvent.SUBMIT_COMMAND, trackingCtx);
|