eas-cli 0.29.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -26
- package/build/analytics.js +6 -9
- package/build/build/android/build.js +6 -8
- package/build/build/android/configure.d.ts +6 -1
- package/build/build/android/configure.js +31 -5
- package/build/build/android/prepareJob.js +3 -3
- package/build/build/android/version.d.ts +15 -0
- package/build/build/android/version.js +75 -1
- package/build/build/context.d.ts +2 -0
- package/build/build/context.js +8 -0
- package/build/build/ios/UpdatesModule.js +3 -1
- package/build/build/ios/configure.js +1 -1
- package/build/build/ios/credentials.js +2 -7
- package/build/build/ios/prepareJob.js +3 -14
- package/build/build/ios/version.d.ts +1 -1
- package/build/build/ios/version.js +5 -23
- package/build/build/utils/printBuildInfo.js +1 -1
- package/build/build/utils/updates.js +1 -1
- package/build/build/utils/version.d.ts +7 -0
- package/build/build/utils/version.js +37 -0
- package/build/commands/branch/create.js +1 -4
- package/build/commands/branch/delete.js +1 -4
- package/build/commands/branch/list.js +1 -4
- package/build/commands/branch/publish.js +2 -5
- package/build/commands/branch/rename.js +1 -4
- package/build/commands/branch/view.js +1 -4
- package/build/commands/build/cancel.js +1 -2
- package/build/commands/build/configure.js +2 -2
- package/build/commands/build/index.js +15 -6
- package/build/commands/build/list.js +1 -2
- package/build/commands/build/view.js +1 -2
- package/build/commands/channel/create.js +1 -4
- package/build/commands/channel/edit.js +1 -4
- package/build/commands/channel/list.js +1 -4
- package/build/commands/channel/rollout.js +1 -4
- package/build/commands/channel/view.js +1 -4
- package/build/commands/config.js +1 -2
- package/build/commands/credentials.js +5 -1
- package/build/commands/device/list.js +1 -2
- package/build/commands/device/view.js +1 -2
- package/build/commands/project/info.js +1 -4
- package/build/commands/project/init.js +1 -4
- package/build/commands/secret/create.js +1 -2
- package/build/commands/secret/delete.js +1 -2
- package/build/commands/secret/list.js +1 -2
- package/build/commands/submit.js +2 -3
- package/build/commands/webhook/create.js +1 -4
- package/build/commands/webhook/delete.js +1 -4
- package/build/commands/webhook/list.js +1 -4
- package/build/credentials/android/AndroidCredentialsProvider.d.ts +2 -2
- package/build/credentials/android/actions/AssignFcm.d.ts +2 -2
- package/build/credentials/android/actions/AssignGoogleServiceAccountKey.d.ts +8 -0
- package/build/credentials/android/actions/AssignGoogleServiceAccountKey.js +19 -0
- package/build/credentials/android/actions/BuildCredentialsUtils.d.ts +5 -5
- package/build/credentials/android/actions/CreateFcm.d.ts +2 -2
- package/build/credentials/android/actions/CreateGoogleServiceAccountKey.d.ts +3 -2
- package/build/credentials/android/actions/CreateGoogleServiceAccountKey.js +19 -11
- package/build/credentials/android/actions/CreateKeystore.d.ts +2 -2
- package/build/credentials/android/actions/DownloadKeystore.d.ts +3 -3
- package/build/credentials/android/actions/RemoveFcm.d.ts +2 -2
- package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.d.ts +13 -0
- package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.js +48 -0
- package/build/credentials/android/actions/RemoveKeystore.d.ts +2 -2
- package/build/credentials/android/actions/SetupBuildCredentials.d.ts +5 -5
- package/build/credentials/android/actions/SetupBuildCredentialsFromCredentialsJson.d.ts +2 -2
- package/build/credentials/android/actions/SetupGoogleServiceAccountKey.d.ts +10 -0
- package/build/credentials/android/actions/SetupGoogleServiceAccountKey.js +59 -0
- package/build/credentials/android/actions/UpdateCredentialsJson.d.ts +2 -2
- package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.d.ts +8 -0
- package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.js +23 -0
- package/build/credentials/android/api/GraphqlClient.d.ts +5 -2
- package/build/credentials/android/api/GraphqlClient.js +20 -3
- package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.d.ts +1 -0
- package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.js +26 -0
- package/build/credentials/android/api/graphql/mutations/GoogleServiceAccountKeyMutation.d.ts +1 -0
- package/build/credentials/android/api/graphql/mutations/GoogleServiceAccountKeyMutation.js +17 -0
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.d.ts +4 -0
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +31 -0
- package/build/credentials/android/credentials.d.ts +2 -0
- package/build/credentials/android/utils/googleServiceAccountKey.d.ts +3 -0
- package/build/credentials/android/utils/googleServiceAccountKey.js +90 -1
- package/build/credentials/android/utils/printCredentials.js +67 -28
- package/build/credentials/context.d.ts +17 -21
- package/build/credentials/context.js +21 -26
- package/build/credentials/credentialsJson/update.d.ts +3 -3
- package/build/credentials/ios/IosCredentialsProvider.d.ts +2 -2
- package/build/credentials/ios/actions/AppleTeamUtils.d.ts +2 -2
- package/build/credentials/ios/actions/AssignPushKey.d.ts +2 -2
- package/build/credentials/ios/actions/BuildCredentialsUtils.d.ts +8 -8
- package/build/credentials/ios/actions/ConfigureProvisioningProfile.d.ts +2 -2
- package/build/credentials/ios/actions/CreateDistributionCertificate.d.ts +2 -2
- package/build/credentials/ios/actions/CreateProvisioningProfile.d.ts +2 -2
- package/build/credentials/ios/actions/CreatePushKey.d.ts +2 -2
- package/build/credentials/ios/actions/DistributionCertificateUtils.d.ts +4 -4
- package/build/credentials/ios/actions/DistributionCertificateUtils.js +3 -3
- package/build/credentials/ios/actions/ProvisioningProfileUtils.d.ts +2 -2
- package/build/credentials/ios/actions/PushKeyUtils.d.ts +4 -4
- package/build/credentials/ios/actions/RemoveDistributionCertificate.d.ts +3 -3
- package/build/credentials/ios/actions/RemoveProvisioningProfile.d.ts +2 -2
- package/build/credentials/ios/actions/RemovePushKey.d.ts +3 -3
- package/build/credentials/ios/actions/SetupAdhocProvisioningProfile.d.ts +4 -3
- package/build/credentials/ios/actions/SetupAdhocProvisioningProfile.js +48 -4
- package/build/credentials/ios/actions/SetupBuildCredentials.d.ts +2 -2
- package/build/credentials/ios/actions/SetupBuildCredentialsFromCredentialsJson.d.ts +2 -2
- package/build/credentials/ios/actions/SetupDistributionCertificate.d.ts +3 -3
- package/build/credentials/ios/actions/SetupInternalProvisioningProfile.d.ts +2 -2
- package/build/credentials/ios/actions/SetupProvisioningProfile.d.ts +6 -6
- package/build/credentials/ios/actions/SetupPushKey.d.ts +3 -3
- package/build/credentials/ios/actions/SetupTargetBuildCredentials.d.ts +4 -4
- package/build/credentials/ios/actions/SetupTargetBuildCredentialsFromCredentialsJson.d.ts +5 -5
- package/build/credentials/ios/actions/UpdateCredentialsJson.d.ts +2 -2
- package/build/credentials/ios/appstore/AppStoreApi.d.ts +4 -15
- package/build/credentials/ios/appstore/AppStoreApi.js +4 -12
- package/build/credentials/ios/appstore/entitlements.js +14 -13
- package/build/credentials/ios/utils/printCredentials.js +83 -51
- package/build/credentials/ios/validators/validateDistributionCertificate.d.ts +2 -2
- package/build/credentials/ios/validators/validateProvisioningProfile.d.ts +2 -2
- package/build/credentials/ios/validators/validatePushKey.d.ts +2 -2
- package/build/credentials/manager/HelperActions.d.ts +4 -0
- package/build/credentials/manager/ManageAndroid.d.ts +18 -12
- package/build/credentials/manager/ManageAndroid.js +72 -10
- package/build/credentials/manager/ManageIos.d.ts +3 -2
- package/build/credentials/manager/SelectAndroidBuildCredentials.d.ts +3 -3
- package/build/credentials/manager/SelectBuildProfileFromEasJson.d.ts +3 -4
- package/build/credentials/manager/SelectBuildProfileFromEasJson.js +0 -1
- package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.d.ts +3 -3
- package/build/credentials/manager/SelectPlatform.d.ts +3 -3
- package/build/devices/context.js +1 -1
- package/build/graphql/generated.d.ts +60 -1
- package/build/graphql/types/credentials/AndroidAppCredentials.js +6 -0
- package/build/project/android/applicationId.js +2 -2
- package/build/project/projectUtils.d.ts +4 -1
- package/build/project/projectUtils.js +13 -3
- package/build/project/publish.d.ts +3 -3
- package/build/project/publish.js +10 -10
- package/build/submit/android/AndroidSubmitCommand.js +3 -8
- package/build/submit/android/AndroidSubmitter.js +31 -9
- package/build/submit/android/ServiceAccountSource.d.ts +24 -5
- package/build/submit/android/ServiceAccountSource.js +54 -75
- package/build/submit/context.d.ts +14 -7
- package/build/submit/context.js +18 -4
- package/build/submit/ios/AppProduce.js +3 -3
- package/build/submit/ios/AppSpecificPasswordSource.js +1 -1
- package/build/submit/ios/IosSubmitCommand.js +1 -1
- package/build/utils/json.js +2 -6
- package/build/vcs/local.js +7 -7
- package/oclif.manifest.json +1 -1
- package/package.json +9 -8
|
@@ -6,17 +6,16 @@ const config_1 = require("@expo/config");
|
|
|
6
6
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
7
7
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
8
8
|
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
9
|
-
const nullthrows_1 = (0, tslib_1.__importDefault)(require("nullthrows"));
|
|
10
9
|
const path_1 = (0, tslib_1.__importDefault)(require("path"));
|
|
11
|
-
const semver_1 = (0, tslib_1.__importDefault)(require("semver"));
|
|
12
10
|
const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
|
|
13
11
|
const workflow_1 = require("../../project/workflow");
|
|
14
12
|
const prompts_1 = require("../../prompts");
|
|
15
13
|
const appJson_1 = require("../utils/appJson");
|
|
14
|
+
const version_1 = require("../utils/version");
|
|
16
15
|
const plist_1 = require("./plist");
|
|
17
16
|
var BumpStrategy;
|
|
18
17
|
(function (BumpStrategy) {
|
|
19
|
-
BumpStrategy[BumpStrategy["
|
|
18
|
+
BumpStrategy[BumpStrategy["APP_VERSION"] = 0] = "APP_VERSION";
|
|
20
19
|
BumpStrategy[BumpStrategy["BUILD_NUMBER"] = 1] = "BUILD_NUMBER";
|
|
21
20
|
BumpStrategy[BumpStrategy["NOOP"] = 2] = "NOOP";
|
|
22
21
|
})(BumpStrategy = exports.BumpStrategy || (exports.BumpStrategy = {}));
|
|
@@ -38,26 +37,9 @@ async function bumpVersionInAppJsonAsync({ bumpStrategy, projectDir, exp, }) {
|
|
|
38
37
|
}
|
|
39
38
|
ensureStaticConfigExists(projectDir);
|
|
40
39
|
log_1.default.addNewLineIfNone();
|
|
41
|
-
if (bumpStrategy === BumpStrategy.
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
const bumpedShortVersion = (0, nullthrows_1.default)(semver_1.default.inc(shortVersion, 'patch'));
|
|
45
|
-
log_1.default.log(`Bumping ${chalk_1.default.bold('expo.version')} from ${chalk_1.default.bold(shortVersion)} to ${chalk_1.default.bold(bumpedShortVersion)}`);
|
|
46
|
-
await (0, appJson_1.updateAppJsonConfigAsync)({ projectDir, exp }, config => {
|
|
47
|
-
config.version = bumpedShortVersion;
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
log_1.default.log(`${chalk_1.default.bold('expo.version')} = ${chalk_1.default.bold(shortVersion)} is not a valid semver`);
|
|
52
|
-
const { bumpedShortVersion } = await (0, prompts_1.promptAsync)({
|
|
53
|
-
type: 'text',
|
|
54
|
-
name: 'bumpedShortVersion',
|
|
55
|
-
message: 'What is the next version?',
|
|
56
|
-
});
|
|
57
|
-
await (0, appJson_1.updateAppJsonConfigAsync)({ projectDir, exp }, config => {
|
|
58
|
-
config.version = bumpedShortVersion;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
40
|
+
if (bumpStrategy === BumpStrategy.APP_VERSION) {
|
|
41
|
+
const appVersion = config_plugins_1.IOSConfig.Version.getVersion(exp);
|
|
42
|
+
await (0, version_1.bumpAppVersionAsync)({ appVersion, projectDir, exp });
|
|
61
43
|
}
|
|
62
44
|
else {
|
|
63
45
|
const buildNumber = config_plugins_1.IOSConfig.Version.getBuildNumber(exp);
|
|
@@ -18,7 +18,7 @@ function printLogsUrls(builds) {
|
|
|
18
18
|
else {
|
|
19
19
|
builds.forEach(build => {
|
|
20
20
|
const logsUrl = (0, url_1.getBuildLogsUrl)(build);
|
|
21
|
-
log_1.default.log(`${platform_1.appPlatformDisplayNames[build.platform]} build details: ${chalk_1.default.underline(logsUrl)}`);
|
|
21
|
+
log_1.default.log(`${platform_1.appPlatformEmojis[build.platform]} ${platform_1.appPlatformDisplayNames[build.platform]} build details: ${chalk_1.default.underline(logsUrl)}`);
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -4,7 +4,7 @@ exports.ensureValidVersions = exports.isExpoUpdatesInstalled = void 0;
|
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
5
|
function isExpoUpdatesInstalled(projectDir) {
|
|
6
6
|
const packageJson = (0, config_1.getPackageJson)(projectDir);
|
|
7
|
-
return packageJson.dependencies && 'expo-updates' in packageJson.dependencies;
|
|
7
|
+
return !!(packageJson.dependencies && 'expo-updates' in packageJson.dependencies);
|
|
8
8
|
}
|
|
9
9
|
exports.isExpoUpdatesInstalled = isExpoUpdatesInstalled;
|
|
10
10
|
function ensureValidVersions(exp) {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExpoConfig } from '@expo/config';
|
|
2
|
+
export declare function ensureStaticConfigExists(projectDir: string): void;
|
|
3
|
+
export declare function bumpAppVersionAsync({ appVersion, projectDir, exp, }: {
|
|
4
|
+
appVersion: string;
|
|
5
|
+
projectDir: string;
|
|
6
|
+
exp: ExpoConfig;
|
|
7
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bumpAppVersionAsync = exports.ensureStaticConfigExists = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const config_1 = require("@expo/config");
|
|
6
|
+
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
7
|
+
const nullthrows_1 = (0, tslib_1.__importDefault)(require("nullthrows"));
|
|
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 appJson_1 = require("./appJson");
|
|
12
|
+
function ensureStaticConfigExists(projectDir) {
|
|
13
|
+
const paths = (0, config_1.getConfigFilePaths)(projectDir);
|
|
14
|
+
if (!paths.staticConfigPath) {
|
|
15
|
+
throw new Error('autoIncrement option is not supported when using app.config.js');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ensureStaticConfigExists = ensureStaticConfigExists;
|
|
19
|
+
async function bumpAppVersionAsync({ appVersion, projectDir, exp, }) {
|
|
20
|
+
let bumpedAppVersion;
|
|
21
|
+
if (semver_1.default.valid(appVersion)) {
|
|
22
|
+
bumpedAppVersion = (0, nullthrows_1.default)(semver_1.default.inc(appVersion, 'patch'));
|
|
23
|
+
log_1.default.log(`Bumping ${chalk_1.default.bold('expo.version')} from ${chalk_1.default.bold(appVersion)} to ${chalk_1.default.bold(bumpedAppVersion)}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
log_1.default.log(`${chalk_1.default.bold('expo.version')} = ${chalk_1.default.bold(appVersion)} is not a valid semver`);
|
|
27
|
+
bumpedAppVersion = (await (0, prompts_1.promptAsync)({
|
|
28
|
+
type: 'text',
|
|
29
|
+
name: 'bumpedAppVersion',
|
|
30
|
+
message: 'What is the next version?',
|
|
31
|
+
})).bumpedAppVersion;
|
|
32
|
+
}
|
|
33
|
+
await (0, appJson_1.updateAppJsonConfigAsync)({ projectDir, exp }, config => {
|
|
34
|
+
config.version = bumpedAppVersion;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
exports.bumpAppVersionAsync = bumpAppVersionAsync;
|
|
@@ -38,10 +38,7 @@ exports.createUpdateBranchOnAppAsync = createUpdateBranchOnAppAsync;
|
|
|
38
38
|
class BranchCreate extends EasCommand_1.default {
|
|
39
39
|
async runAsync() {
|
|
40
40
|
let { args: { name }, flags, } = this.parse(BranchCreate);
|
|
41
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
42
|
-
if (!projectDir) {
|
|
43
|
-
throw new Error('Please run this command inside a project directory.');
|
|
44
|
-
}
|
|
41
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
45
42
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
46
43
|
const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
47
44
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
@@ -51,10 +51,7 @@ class BranchDelete extends EasCommand_1.default {
|
|
|
51
51
|
async runAsync() {
|
|
52
52
|
var _a, _b;
|
|
53
53
|
let { args: { name }, flags: { json: jsonFlag }, } = this.parse(BranchDelete);
|
|
54
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
55
|
-
if (!projectDir) {
|
|
56
|
-
throw new Error('Please run this command inside a project directory.');
|
|
57
|
-
}
|
|
54
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
58
55
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
59
56
|
const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
60
57
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
@@ -42,10 +42,7 @@ exports.listBranchesAsync = listBranchesAsync;
|
|
|
42
42
|
class BranchList extends EasCommand_1.default {
|
|
43
43
|
async runAsync() {
|
|
44
44
|
const { flags } = this.parse(BranchList);
|
|
45
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
46
|
-
if (!projectDir) {
|
|
47
|
-
throw new Error('Please run this command inside a project directory.');
|
|
48
|
-
}
|
|
45
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
49
46
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
50
47
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
51
48
|
const branches = await listBranchesAsync({ projectId });
|
|
@@ -64,10 +64,7 @@ class BranchPublish extends EasCommand_1.default {
|
|
|
64
64
|
const platformFlag = this.parse(BranchPublish).flags.platform;
|
|
65
65
|
// If a group was specified, that means we are republishing it.
|
|
66
66
|
republish = group ? true : republish;
|
|
67
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
68
|
-
if (!projectDir) {
|
|
69
|
-
throw new Error('Please run this command inside a project directory.');
|
|
70
|
-
}
|
|
67
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
71
68
|
const { exp } = (0, config_1.getConfig)(projectDir, {
|
|
72
69
|
skipSDKVersionRequirement: true,
|
|
73
70
|
isPublicConfig: true,
|
|
@@ -162,7 +159,7 @@ class BranchPublish extends EasCommand_1.default {
|
|
|
162
159
|
const assetSpinner = (0, ora_1.ora)('Uploading assets...').start();
|
|
163
160
|
try {
|
|
164
161
|
const platforms = platformFlag === 'all' ? exports.defaultPublishPlatforms : [platformFlag];
|
|
165
|
-
const assets = (0, publish_1.
|
|
162
|
+
const assets = await (0, publish_1.collectAssetsAsync)({ inputDir: inputDir, platforms });
|
|
166
163
|
await (0, publish_1.uploadAssetsAsync)(assets);
|
|
167
164
|
unsortedUpdateInfoGroups = await (0, publish_1.buildUnsortedUpdateInfoGroupAsync)(assets, exp);
|
|
168
165
|
assetSpinner.succeed('Uploaded assets!');
|
|
@@ -34,10 +34,7 @@ async function renameUpdateBranchOnAppAsync({ appId, name, newName, }) {
|
|
|
34
34
|
class BranchRename extends EasCommand_1.default {
|
|
35
35
|
async runAsync() {
|
|
36
36
|
let { flags: { json: jsonFlag, from: currentName, to: newName }, } = this.parse(BranchRename);
|
|
37
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
38
|
-
if (!projectDir) {
|
|
39
|
-
throw new Error('Please run this command inside a project directory.');
|
|
40
|
-
}
|
|
37
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
41
38
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
42
39
|
const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
43
40
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
@@ -60,10 +60,7 @@ exports.viewUpdateBranchAsync = viewUpdateBranchAsync;
|
|
|
60
60
|
class BranchView extends EasCommand_1.default {
|
|
61
61
|
async runAsync() {
|
|
62
62
|
let { args: { name }, flags: { json: jsonFlag }, } = this.parse(BranchView);
|
|
63
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
64
|
-
if (!projectDir) {
|
|
65
|
-
throw new Error('Please run this command inside a project directory.');
|
|
66
|
-
}
|
|
63
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
67
64
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
68
65
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
69
66
|
if (!name) {
|
|
@@ -90,9 +90,8 @@ async function ensureBuildExistsAsync(buildId) {
|
|
|
90
90
|
}
|
|
91
91
|
class BuildCancel extends EasCommand_1.default {
|
|
92
92
|
async runAsync() {
|
|
93
|
-
var _a;
|
|
94
93
|
const { BUILD_ID: buildIdFromArg } = this.parse(BuildCancel).args;
|
|
95
|
-
const projectDir =
|
|
94
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
96
95
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
97
96
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
98
97
|
const projectFullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
@@ -11,14 +11,14 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
11
11
|
const prompts_1 = require("../../prompts");
|
|
12
12
|
class BuildConfigure extends EasCommand_1.default {
|
|
13
13
|
async runAsync() {
|
|
14
|
-
var _a
|
|
14
|
+
var _a;
|
|
15
15
|
const { flags } = this.parse(BuildConfigure);
|
|
16
16
|
log_1.default.log('💡 The following process will configure your iOS and/or Android project to be compatible with EAS Build. These changes only apply to your local project files and you can safely revert them at any time.');
|
|
17
17
|
log_1.default.newLine();
|
|
18
18
|
const platform = (_a = flags.platform) !== null && _a !== void 0 ? _a : (await promptForPlatformAsync());
|
|
19
19
|
await (0, configure_1.configureAsync)({
|
|
20
20
|
platform,
|
|
21
|
-
projectDir:
|
|
21
|
+
projectDir: await (0, projectUtils_1.findProjectRootAsync)(),
|
|
22
22
|
});
|
|
23
23
|
log_1.default.newLine();
|
|
24
24
|
logSuccess(platform);
|
|
@@ -7,6 +7,7 @@ const eas_json_1 = require("@expo/eas-json");
|
|
|
7
7
|
const command_1 = require("@oclif/command");
|
|
8
8
|
const errors_1 = require("@oclif/errors");
|
|
9
9
|
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
10
|
+
const nullthrows_1 = (0, tslib_1.__importDefault)(require("nullthrows"));
|
|
10
11
|
const build_1 = require("../../build/android/build");
|
|
11
12
|
const build_2 = require("../../build/build");
|
|
12
13
|
const configure_1 = require("../../build/configure");
|
|
@@ -42,7 +43,7 @@ class Build extends EasCommand_1.default {
|
|
|
42
43
|
}
|
|
43
44
|
const flags = await this.sanitizeFlagsAsync(rawFlags);
|
|
44
45
|
const { requestedPlatform } = flags;
|
|
45
|
-
const projectDir =
|
|
46
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
46
47
|
await handleDeprecatedEasJsonAsync(projectDir, flags.nonInteractive);
|
|
47
48
|
await vcs_1.default.ensureRepoExistsAsync();
|
|
48
49
|
await (0, repository_1.ensureRepoIsCleanAsync)(flags.nonInteractive);
|
|
@@ -55,8 +56,9 @@ class Build extends EasCommand_1.default {
|
|
|
55
56
|
nonInteractive: flags.nonInteractive,
|
|
56
57
|
});
|
|
57
58
|
const startedBuilds = [];
|
|
59
|
+
const buildCtxByPlatform = {};
|
|
58
60
|
for (const platform of platforms) {
|
|
59
|
-
const maybeBuild = await this.prepareAndStartBuildAsync({
|
|
61
|
+
const { build: maybeBuild, buildCtx } = await this.prepareAndStartBuildAsync({
|
|
60
62
|
projectDir,
|
|
61
63
|
platform,
|
|
62
64
|
flags,
|
|
@@ -65,6 +67,7 @@ class Build extends EasCommand_1.default {
|
|
|
65
67
|
if (maybeBuild) {
|
|
66
68
|
startedBuilds.push(maybeBuild);
|
|
67
69
|
}
|
|
70
|
+
buildCtxByPlatform[(0, AppPlatform_1.toAppPlatform)(platform)] = buildCtx;
|
|
68
71
|
}
|
|
69
72
|
if (flags.local) {
|
|
70
73
|
return;
|
|
@@ -76,10 +79,11 @@ class Build extends EasCommand_1.default {
|
|
|
76
79
|
if (flags.autoSubmit) {
|
|
77
80
|
for (const build of startedBuilds) {
|
|
78
81
|
const submission = await this.prepareAndStartSubmissionAsync({
|
|
79
|
-
projectDir,
|
|
80
82
|
build,
|
|
83
|
+
credentialsCtx: (0, nullthrows_1.default)((_a = buildCtxByPlatform[build.platform]) === null || _a === void 0 ? void 0 : _a.credentialsCtx),
|
|
81
84
|
flags,
|
|
82
85
|
moreBuilds: startedBuilds.length > 1,
|
|
86
|
+
projectDir,
|
|
83
87
|
});
|
|
84
88
|
submissions.push(submission);
|
|
85
89
|
}
|
|
@@ -166,7 +170,11 @@ class Build extends EasCommand_1.default {
|
|
|
166
170
|
if (!buildCtx.local && !(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(buildCtx.projectId))) {
|
|
167
171
|
(0, errors_1.error)(isEasEnabledForProject_1.EAS_UNAVAILABLE_MESSAGE, { exit: 1 });
|
|
168
172
|
}
|
|
169
|
-
|
|
173
|
+
const build = await this.startBuildAsync(buildCtx);
|
|
174
|
+
return {
|
|
175
|
+
build,
|
|
176
|
+
buildCtx,
|
|
177
|
+
};
|
|
170
178
|
}
|
|
171
179
|
async startBuildAsync(ctx) {
|
|
172
180
|
let sendBuildRequestAsync;
|
|
@@ -178,12 +186,12 @@ class Build extends EasCommand_1.default {
|
|
|
178
186
|
}
|
|
179
187
|
return await sendBuildRequestAsync();
|
|
180
188
|
}
|
|
181
|
-
async prepareAndStartSubmissionAsync({
|
|
189
|
+
async prepareAndStartSubmissionAsync({ build, credentialsCtx, flags, moreBuilds, projectDir, }) {
|
|
182
190
|
const easJsonReader = new eas_json_1.EasJsonReader(projectDir);
|
|
183
191
|
const platform = (0, AppPlatform_1.toPlatform)(build.platform);
|
|
184
192
|
const buildProfile = await easJsonReader.readBuildProfileAsync(platform, flags.profile);
|
|
185
193
|
const submitProfile = await easJsonReader.readSubmitProfileAsync(platform, flags.submitProfile);
|
|
186
|
-
const submissionCtx = (0, context_2.
|
|
194
|
+
const submissionCtx = await (0, context_2.createSubmissionContextAsync)({
|
|
187
195
|
platform,
|
|
188
196
|
projectDir,
|
|
189
197
|
projectId: build.project.id,
|
|
@@ -191,6 +199,7 @@ class Build extends EasCommand_1.default {
|
|
|
191
199
|
archiveFlags: { id: build.id },
|
|
192
200
|
nonInteractive: flags.nonInteractive,
|
|
193
201
|
env: buildProfile.env,
|
|
202
|
+
credentialsCtx,
|
|
194
203
|
});
|
|
195
204
|
if (moreBuilds) {
|
|
196
205
|
log_1.default.newLine();
|
|
@@ -16,7 +16,6 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
16
16
|
const json_1 = require("../../utils/json");
|
|
17
17
|
class BuildList extends EasCommand_1.default {
|
|
18
18
|
async runAsync() {
|
|
19
|
-
var _a;
|
|
20
19
|
const { flags } = this.parse(BuildList);
|
|
21
20
|
const { json, platform: requestedPlatform, status: buildStatus, distribution: buildDistribution, limit = 10, } = flags;
|
|
22
21
|
if (json) {
|
|
@@ -25,7 +24,7 @@ class BuildList extends EasCommand_1.default {
|
|
|
25
24
|
const platform = toAppPlatform(requestedPlatform);
|
|
26
25
|
const graphqlBuildStatus = toGraphQLBuildStatus(buildStatus);
|
|
27
26
|
const graphqlBuildDistribution = toGraphQLBuildDistribution(buildDistribution);
|
|
28
|
-
const projectDir =
|
|
27
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
29
28
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
30
29
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
31
30
|
const projectName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
@@ -12,12 +12,11 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
12
12
|
const json_1 = require("../../utils/json");
|
|
13
13
|
class BuildView extends EasCommand_1.default {
|
|
14
14
|
async runAsync() {
|
|
15
|
-
var _a;
|
|
16
15
|
const { args: { BUILD_ID: buildId }, flags, } = this.parse(BuildView);
|
|
17
16
|
if (flags.json) {
|
|
18
17
|
(0, json_1.enableJsonOutput)();
|
|
19
18
|
}
|
|
20
|
-
const projectDir =
|
|
19
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
21
20
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
22
21
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
23
22
|
const projectName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
@@ -39,10 +39,7 @@ async function createUpdateChannelOnAppAsync({ appId, channelName, branchId, })
|
|
|
39
39
|
class ChannelCreate extends EasCommand_1.default {
|
|
40
40
|
async runAsync() {
|
|
41
41
|
let { args: { name: channelName }, flags: { json: jsonFlag }, } = this.parse(ChannelCreate);
|
|
42
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
43
|
-
if (!projectDir) {
|
|
44
|
-
throw new Error('Please run this command inside a project directory.');
|
|
45
|
-
}
|
|
42
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
46
43
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
47
44
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
48
45
|
if (!channelName) {
|
|
@@ -62,10 +62,7 @@ exports.updateChannelBranchMappingAsync = updateChannelBranchMappingAsync;
|
|
|
62
62
|
class ChannelEdit extends EasCommand_1.default {
|
|
63
63
|
async runAsync() {
|
|
64
64
|
let { args: { name: channelName }, flags: { branch: branchName, json: jsonFlag }, } = this.parse(ChannelEdit);
|
|
65
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
66
|
-
if (!projectDir) {
|
|
67
|
-
throw new Error('Please run this command inside a project directory.');
|
|
68
|
-
}
|
|
65
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
69
66
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
70
67
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
71
68
|
if (!channelName) {
|
|
@@ -54,10 +54,7 @@ class ChannelList extends EasCommand_1.default {
|
|
|
54
54
|
async runAsync() {
|
|
55
55
|
var _a;
|
|
56
56
|
const { flags: { json: jsonFlag }, } = this.parse(ChannelList);
|
|
57
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
58
|
-
if (!projectDir) {
|
|
59
|
-
throw new Error('Please run this command inside a project directory.');
|
|
60
|
-
}
|
|
57
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
61
58
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
62
59
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
63
60
|
const getAllUpdateChannelForAppResult = await getAllUpdateChannelForAppAsync({
|
|
@@ -167,10 +167,7 @@ class ChannelRollout extends EasCommand_1.default {
|
|
|
167
167
|
var _a, _b;
|
|
168
168
|
const { args: { channel: channelName }, flags: { json: jsonFlag, end: endFlag }, } = this.parse(ChannelRollout);
|
|
169
169
|
const { flags: { branch: branchName, percent }, } = this.parse(ChannelRollout);
|
|
170
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
171
|
-
if (!projectDir) {
|
|
172
|
-
throw new Error('Please run this command inside a project directory.');
|
|
173
|
-
}
|
|
170
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
174
171
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
175
172
|
const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
176
173
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
@@ -147,10 +147,7 @@ class ChannelView extends EasCommand_1.default {
|
|
|
147
147
|
async runAsync() {
|
|
148
148
|
var _a;
|
|
149
149
|
let { args: { name: channelName }, flags: { json: jsonFlag }, } = this.parse(ChannelView);
|
|
150
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
151
|
-
if (!projectDir) {
|
|
152
|
-
throw new Error('Please run this command inside a project directory.');
|
|
153
|
-
}
|
|
150
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
154
151
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
155
152
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
156
153
|
if (!channelName) {
|
package/build/commands/config.js
CHANGED
|
@@ -17,10 +17,9 @@ class Config extends EasCommand_1.default {
|
|
|
17
17
|
this.requiresAuthentication = false;
|
|
18
18
|
}
|
|
19
19
|
async runAsync() {
|
|
20
|
-
var _a;
|
|
21
20
|
const { flags } = this.parse(Config);
|
|
22
21
|
const { platform: maybePlatform, profile: maybeProfile } = flags;
|
|
23
|
-
const projectDir =
|
|
22
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
24
23
|
await (0, build_1.handleDeprecatedEasJsonAsync)(projectDir, false);
|
|
25
24
|
const reader = new eas_json_1.EasJsonReader(projectDir);
|
|
26
25
|
const profileName = maybeProfile !== null && maybeProfile !== void 0 ? maybeProfile : (await (0, prompts_1.selectAsync)('Select build profile', (await reader.getBuildProfileNamesAsync()).map(profileName => ({
|
|
@@ -4,9 +4,13 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const EasCommand_1 = (0, tslib_1.__importDefault)(require("../commandUtils/EasCommand"));
|
|
5
5
|
const context_1 = require("../credentials/context");
|
|
6
6
|
const SelectPlatform_1 = require("../credentials/manager/SelectPlatform");
|
|
7
|
+
const actions_1 = require("../user/actions");
|
|
7
8
|
class Credentials extends EasCommand_1.default {
|
|
8
9
|
async runAsync() {
|
|
9
|
-
const ctx =
|
|
10
|
+
const ctx = new context_1.CredentialsContext({
|
|
11
|
+
projectDir: process.cwd(),
|
|
12
|
+
user: await (0, actions_1.ensureLoggedInAsync)(),
|
|
13
|
+
});
|
|
10
14
|
await new SelectPlatform_1.SelectPlatform().runAsync(ctx);
|
|
11
15
|
}
|
|
12
16
|
}
|
|
@@ -15,9 +15,8 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
15
15
|
const prompts_1 = require("../../prompts");
|
|
16
16
|
class BuildList extends EasCommand_1.default {
|
|
17
17
|
async runAsync() {
|
|
18
|
-
var _a;
|
|
19
18
|
let appleTeamIdentifier = this.parse(BuildList).flags['apple-team-id'];
|
|
20
|
-
const projectDir =
|
|
19
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
21
20
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
22
21
|
const accountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
23
22
|
let spinner;
|
|
@@ -10,7 +10,6 @@ const ora_1 = require("../../ora");
|
|
|
10
10
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
11
11
|
class DeviceView extends EasCommand_1.default {
|
|
12
12
|
async runAsync() {
|
|
13
|
-
var _a;
|
|
14
13
|
const { UDID } = this.parse(DeviceView).args;
|
|
15
14
|
if (!UDID) {
|
|
16
15
|
log_1.default.log(`The device UDID is required to view a specific device. For example:
|
|
@@ -23,7 +22,7 @@ If you are not sure what is the UDID of the device you are looking for, run:
|
|
|
23
22
|
`);
|
|
24
23
|
throw new Error('Device UDID is missing');
|
|
25
24
|
}
|
|
26
|
-
const projectDir =
|
|
25
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
27
26
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
28
27
|
const accountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
29
28
|
const spinner = (0, ora_1.ora)().start(`Fetching device details for ${UDID}…`);
|
|
@@ -25,10 +25,7 @@ async function projectInfoByIdAsync(appId) {
|
|
|
25
25
|
}
|
|
26
26
|
class ProjectInfo extends EasCommand_1.default {
|
|
27
27
|
async runAsync() {
|
|
28
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
29
|
-
if (!projectDir) {
|
|
30
|
-
throw new Error('Please run this command inside a project directory.');
|
|
31
|
-
}
|
|
28
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
32
29
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
33
30
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
34
31
|
const { app } = await projectInfoByIdAsync(projectId);
|
|
@@ -9,10 +9,7 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
9
9
|
class ProjectInit extends EasCommand_1.default {
|
|
10
10
|
async runAsync() {
|
|
11
11
|
var _a, _b, _c, _d;
|
|
12
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
13
|
-
if (!projectDir) {
|
|
14
|
-
throw new Error('Please run this command inside a project directory.');
|
|
15
|
-
}
|
|
12
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
16
13
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
17
14
|
if ((_b = (_a = exp.extra) === null || _a === void 0 ? void 0 : _a.eas) === null || _b === void 0 ? void 0 : _b.projectId) {
|
|
18
15
|
log_1.default.error(`app.json is already linked to project with ID: ${chalk_1.default.bold((_d = (_c = exp.extra) === null || _c === void 0 ? void 0 : _c.eas) === null || _d === void 0 ? void 0 : _d.projectId)}`);
|
|
@@ -16,10 +16,9 @@ const User_1 = require("../../user/User");
|
|
|
16
16
|
const actions_1 = require("../../user/actions");
|
|
17
17
|
class EnvironmentSecretCreate extends EasCommand_1.default {
|
|
18
18
|
async runAsync() {
|
|
19
|
-
var _a;
|
|
20
19
|
const actor = await (0, actions_1.ensureLoggedInAsync)();
|
|
21
20
|
let { flags: { name, value: secretValue, scope, force }, } = this.parse(EnvironmentSecretCreate);
|
|
22
|
-
const projectDir =
|
|
21
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
23
22
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
24
23
|
const accountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
25
24
|
const { slug } = exp;
|
|
@@ -13,8 +13,7 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
13
13
|
const prompts_1 = require("../../prompts");
|
|
14
14
|
class EnvironmentSecretDelete extends EasCommand_1.default {
|
|
15
15
|
async runAsync() {
|
|
16
|
-
|
|
17
|
-
const projectDir = (_a = (await (0, projectUtils_1.findProjectRootAsync)())) !== null && _a !== void 0 ? _a : process.cwd();
|
|
16
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
18
17
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
19
18
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
20
19
|
const projectAccountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
|
@@ -12,8 +12,7 @@ const isEasEnabledForProject_1 = require("../../project/isEasEnabledForProject")
|
|
|
12
12
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
13
13
|
class EnvironmentSecretList extends EasCommand_1.default {
|
|
14
14
|
async runAsync() {
|
|
15
|
-
|
|
16
|
-
const projectDir = (_a = (await (0, projectUtils_1.findProjectRootAsync)())) !== null && _a !== void 0 ? _a : process.cwd();
|
|
15
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
17
16
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
18
17
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
19
18
|
const projectAccountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
|
package/build/commands/submit.js
CHANGED
|
@@ -17,10 +17,9 @@ const submit_1 = require("../submit/submit");
|
|
|
17
17
|
const urls_1 = require("../submit/utils/urls");
|
|
18
18
|
class Submit extends EasCommand_1.default {
|
|
19
19
|
async runAsync() {
|
|
20
|
-
var _a;
|
|
21
20
|
const { flags: rawFlags } = this.parse(Submit);
|
|
22
21
|
const flags = await this.sanitizeFlagsAsync(rawFlags);
|
|
23
|
-
const projectDir =
|
|
22
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
24
23
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
25
24
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
26
25
|
if (!(await (0, isEasEnabledForProject_1.isEasEnabledForProjectAsync)(projectId))) {
|
|
@@ -33,7 +32,7 @@ class Submit extends EasCommand_1.default {
|
|
|
33
32
|
const submissions = [];
|
|
34
33
|
for (const platform of platforms) {
|
|
35
34
|
const profile = await easJsonReader.readSubmitProfileAsync(platform, flags.profile);
|
|
36
|
-
const ctx = (0, context_1.
|
|
35
|
+
const ctx = await (0, context_1.createSubmissionContextAsync)({
|
|
37
36
|
platform,
|
|
38
37
|
projectDir,
|
|
39
38
|
projectId,
|
|
@@ -13,10 +13,7 @@ class WebhookCreate extends EasCommand_1.default {
|
|
|
13
13
|
async runAsync() {
|
|
14
14
|
const { flags } = this.parse(WebhookCreate);
|
|
15
15
|
const webhookInputParams = await (0, input_1.prepareInputParamsAsync)(flags);
|
|
16
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
17
|
-
if (!projectDir) {
|
|
18
|
-
throw new Error('Please run this command inside a project directory.');
|
|
19
|
-
}
|
|
16
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
20
17
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
21
18
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
22
19
|
const spinner = (0, ora_1.ora)('Creating a webhook').start();
|
|
@@ -16,10 +16,7 @@ const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
|
16
16
|
class WebhookDelete extends EasCommand_1.default {
|
|
17
17
|
async runAsync() {
|
|
18
18
|
let { args: { ID: webhookId }, } = this.parse(WebhookDelete);
|
|
19
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
20
|
-
if (!projectDir) {
|
|
21
|
-
throw new Error('Please run this command inside a project directory.');
|
|
22
|
-
}
|
|
19
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
23
20
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
24
21
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
25
22
|
let webhook = webhookId && (await WebhookQuery_1.WebhookQuery.byIdAsync(webhookId));
|
|
@@ -14,10 +14,7 @@ const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
|
14
14
|
class WebhookList extends EasCommand_1.default {
|
|
15
15
|
async runAsync() {
|
|
16
16
|
const { flags: { event }, } = this.parse(WebhookList);
|
|
17
|
-
const projectDir = await (0, projectUtils_1.findProjectRootAsync)(
|
|
18
|
-
if (!projectDir) {
|
|
19
|
-
throw new Error('Please run this command inside a project directory.');
|
|
20
|
-
}
|
|
17
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
21
18
|
const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
|
|
22
19
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
23
20
|
const projectFullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Platform } from '@expo/eas-build-job';
|
|
2
2
|
import { CredentialsSource } from '@expo/eas-json';
|
|
3
|
-
import {
|
|
3
|
+
import { CredentialsContext } from '../context';
|
|
4
4
|
import { AppLookupParams } from './api/GraphqlClient';
|
|
5
5
|
import { Keystore } from './credentials';
|
|
6
6
|
export interface AndroidCredentials {
|
|
@@ -13,7 +13,7 @@ export default class AndroidCredentialsProvider {
|
|
|
13
13
|
private ctx;
|
|
14
14
|
private options;
|
|
15
15
|
readonly platform = Platform.ANDROID;
|
|
16
|
-
constructor(ctx:
|
|
16
|
+
constructor(ctx: CredentialsContext, options: Options);
|
|
17
17
|
getCredentialsAsync(src: CredentialsSource.LOCAL | CredentialsSource.REMOTE): Promise<AndroidCredentials>;
|
|
18
18
|
private getRemoteAsync;
|
|
19
19
|
private toAndroidCredentials;
|