eas-cli 0.52.0 → 0.54.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.
Files changed (119) hide show
  1. package/README.md +132 -44
  2. package/build/analytics/events.d.ts +5 -1
  3. package/build/analytics/events.js +6 -1
  4. package/build/build/android/version.js +1 -1
  5. package/build/build/build.js +38 -27
  6. package/build/build/local.js +1 -1
  7. package/build/build/runBuildAndSubmit.js +4 -2
  8. package/build/build/utils/url.d.ts +1 -0
  9. package/build/build/utils/url.js +5 -1
  10. package/build/commands/branch/create.js +2 -2
  11. package/build/commands/branch/delete.js +2 -2
  12. package/build/commands/branch/list.js +2 -2
  13. package/build/commands/branch/rename.js +2 -2
  14. package/build/commands/branch/view.js +2 -2
  15. package/build/commands/build/cancel.js +3 -3
  16. package/build/commands/build/configure.js +2 -2
  17. package/build/commands/build/index.d.ts +0 -1
  18. package/build/commands/build/index.js +1 -53
  19. package/build/commands/build/inspect.js +1 -1
  20. package/build/commands/build/list.js +2 -2
  21. package/build/commands/build/view.js +2 -2
  22. package/build/commands/channel/create.js +2 -2
  23. package/build/commands/channel/delete.js +2 -2
  24. package/build/commands/channel/edit.js +2 -2
  25. package/build/commands/channel/list.js +2 -2
  26. package/build/commands/channel/rollout.js +2 -2
  27. package/build/commands/channel/view.js +3 -3
  28. package/build/commands/config.js +0 -2
  29. package/build/commands/device/delete.js +2 -2
  30. package/build/commands/device/list.js +2 -2
  31. package/build/commands/device/view.js +2 -2
  32. package/build/commands/metadata/pull.d.ts +8 -0
  33. package/build/commands/metadata/pull.js +59 -0
  34. package/build/commands/metadata/push.d.ts +8 -0
  35. package/build/commands/metadata/push.js +51 -0
  36. package/build/commands/project/info.js +2 -2
  37. package/build/commands/project/init.js +2 -2
  38. package/build/commands/secret/create.js +2 -2
  39. package/build/commands/secret/delete.js +2 -2
  40. package/build/commands/secret/list.js +2 -2
  41. package/build/commands/submit.js +4 -3
  42. package/build/commands/update/configure.js +2 -3
  43. package/build/commands/update/index.d.ts +12 -0
  44. package/build/commands/update/index.js +81 -39
  45. package/build/commands/update/list.js +2 -2
  46. package/build/commands/webhook/create.js +2 -2
  47. package/build/commands/webhook/delete.js +2 -2
  48. package/build/commands/webhook/list.js +2 -2
  49. package/build/credentials/android/utils/googleServiceAccountKey.js +1 -1
  50. package/build/credentials/android/utils/keystore.js +1 -1
  51. package/build/credentials/android/utils/keystoreNew.js +2 -2
  52. package/build/credentials/context.js +2 -3
  53. package/build/credentials/credentialsJson/read.js +1 -1
  54. package/build/credentials/ios/utils/provisioningProfile.js +1 -1
  55. package/build/credentials/ios/validators/validateProvisioningProfile.js +1 -1
  56. package/build/graphql/generated.d.ts +90 -33
  57. package/build/graphql/generated.js +5 -0
  58. package/build/graphql/queries/UpdateQuery.d.ts +4 -1
  59. package/build/graphql/queries/UpdateQuery.js +8 -7
  60. package/build/metadata/apple/config/reader.d.ts +25 -0
  61. package/build/metadata/apple/config/reader.js +95 -0
  62. package/build/metadata/apple/config/writer.d.ts +23 -0
  63. package/build/metadata/apple/config/writer.js +85 -0
  64. package/build/metadata/apple/data.d.ts +20 -0
  65. package/build/metadata/apple/data.js +2 -0
  66. package/build/metadata/apple/task.d.ts +24 -0
  67. package/build/metadata/apple/task.js +6 -0
  68. package/build/metadata/apple/tasks/age-rating.d.ts +13 -0
  69. package/build/metadata/apple/tasks/age-rating.js +39 -0
  70. package/build/metadata/apple/tasks/app-info.d.ts +15 -0
  71. package/build/metadata/apple/tasks/app-info.js +73 -0
  72. package/build/metadata/apple/tasks/app-version.d.ts +27 -0
  73. package/build/metadata/apple/tasks/app-version.js +104 -0
  74. package/build/metadata/apple/tasks/index.d.ts +6 -0
  75. package/build/metadata/apple/tasks/index.js +13 -0
  76. package/build/metadata/apple/types.d.ts +50 -0
  77. package/build/metadata/apple/types.js +2 -0
  78. package/build/metadata/config.d.ts +22 -0
  79. package/build/metadata/config.js +32 -0
  80. package/build/metadata/context.d.ts +46 -0
  81. package/build/metadata/context.js +48 -0
  82. package/build/metadata/download.d.ts +6 -0
  83. package/build/metadata/download.js +65 -0
  84. package/build/metadata/errors.d.ts +37 -0
  85. package/build/metadata/errors.js +69 -0
  86. package/build/metadata/upload.d.ts +6 -0
  87. package/build/metadata/upload.js +57 -0
  88. package/build/metadata/utils/asc.d.ts +4 -0
  89. package/build/metadata/utils/asc.js +2 -0
  90. package/build/metadata/utils/date.d.ts +12 -0
  91. package/build/metadata/utils/date.js +30 -0
  92. package/build/metadata/utils/log.d.ts +16 -0
  93. package/build/metadata/utils/log.js +23 -0
  94. package/build/metadata/utils/retry.d.ts +8 -0
  95. package/build/metadata/utils/retry.js +22 -0
  96. package/build/metadata/utils/telemetry.d.ts +20 -0
  97. package/build/metadata/utils/telemetry.js +87 -0
  98. package/build/project/android/applicationId.js +1 -1
  99. package/build/project/ensureProjectExists.js +4 -1
  100. package/build/project/ios/bundleIdentifier.js +1 -1
  101. package/build/project/publish.d.ts +6 -1
  102. package/build/project/publish.js +16 -3
  103. package/build/submit/ArchiveSource.js +1 -1
  104. package/build/submit/submit.js +1 -1
  105. package/build/submit/utils/errors.js +2 -0
  106. package/build/submit/utils/files.js +1 -1
  107. package/build/submit/utils/logs.js +1 -1
  108. package/build/update/android/UpdatesModule.js +2 -2
  109. package/build/update/ios/UpdatesModule.js +2 -2
  110. package/build/user/actions.js +1 -1
  111. package/build/utils/expodash/uniq.d.ts +1 -0
  112. package/build/utils/expodash/uniq.js +7 -0
  113. package/build/utils/profiles.d.ts +3 -3
  114. package/build/utils/profiles.js +5 -93
  115. package/build/vcs/clients/git.js +5 -5
  116. package/build/vcs/git.js +1 -1
  117. package/build/webhooks/input.js +1 -1
  118. package/oclif.manifest.json +1 -1
  119. package/package.json +43 -38
@@ -6,7 +6,7 @@ const spawn_async_1 = tslib_1.__importDefault(require("@expo/spawn-async"));
6
6
  const semver_1 = tslib_1.__importDefault(require("semver"));
7
7
  const ora_1 = require("../ora");
8
8
  const PLUGIN_PACKAGE_NAME = 'eas-cli-local-build-plugin';
9
- const PLUGIN_PACKAGE_VERSION = '0.0.78';
9
+ const PLUGIN_PACKAGE_VERSION = '0.0.85';
10
10
  async function runLocalBuildAsync(job, options) {
11
11
  var _a;
12
12
  const { command, args } = await getCommandAndArgsAsync(job);
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runBuildAndSubmitAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const eas_build_job_1 = require("@expo/eas-build-job");
6
+ const eas_json_1 = require("@expo/eas-json");
6
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
8
  const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
8
9
  const generated_1 = require("../graphql/generated");
@@ -35,10 +36,11 @@ async function runBuildAndSubmitAsync(projectDir, flags) {
35
36
  projectDir,
36
37
  nonInteractive: flags.nonInteractive,
37
38
  });
39
+ const easJsonReader = new eas_json_1.EasJsonReader(projectDir);
38
40
  const platforms = (0, platform_1.toPlatforms)(flags.requestedPlatform);
39
41
  const buildProfiles = await (0, profiles_1.getProfilesAsync)({
40
42
  type: 'build',
41
- projectDir,
43
+ easJsonReader,
42
44
  platforms,
43
45
  profileName: (_a = flags.profile) !== null && _a !== void 0 ? _a : undefined,
44
46
  });
@@ -70,7 +72,7 @@ async function runBuildAndSubmitAsync(projectDir, flags) {
70
72
  const submissions = [];
71
73
  if (flags.autoSubmit) {
72
74
  const submitProfiles = await (0, profiles_1.getProfilesAsync)({
73
- projectDir,
75
+ easJsonReader,
74
76
  platforms,
75
77
  profileName: flags.submitProfile,
76
78
  type: 'submit',
@@ -3,3 +3,4 @@ export declare function getProjectDashboardUrl(accountName: string, projectName:
3
3
  export declare function getBuildLogsUrl(build: BuildFragment): string;
4
4
  export declare function getArtifactUrl(artifactId: string): string;
5
5
  export declare function getInternalDistributionInstallUrl(build: BuildFragment): string;
6
+ export declare function getUpdateGroupUrl(accountName: string, projectName: string, updateGroupId: string): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInternalDistributionInstallUrl = exports.getArtifactUrl = exports.getBuildLogsUrl = exports.getProjectDashboardUrl = void 0;
3
+ exports.getUpdateGroupUrl = exports.getInternalDistributionInstallUrl = exports.getArtifactUrl = exports.getBuildLogsUrl = exports.getProjectDashboardUrl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const assert_1 = tslib_1.__importDefault(require("assert"));
6
6
  const api_1 = require("../../api");
@@ -30,3 +30,7 @@ function getInternalDistributionInstallUrl(build) {
30
30
  return build.artifacts.buildUrl;
31
31
  }
32
32
  exports.getInternalDistributionInstallUrl = getInternalDistributionInstallUrl;
33
+ function getUpdateGroupUrl(accountName, projectName, updateGroupId) {
34
+ return new URL(`/accounts/${encodeURIComponent(accountName)}/projects/${encodeURIComponent(projectName)}/updates/${encodeURIComponent(updateGroupId)}`, (0, api_1.getExpoWebsiteBaseUrl)()).toString();
35
+ }
36
+ exports.getUpdateGroupUrl = getUpdateGroupUrl;
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUpdateBranchOnAppAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const config_1 = require("@expo/config");
6
5
  const core_1 = require("@oclif/core");
7
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
7
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
9
8
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
10
9
  const client_1 = require("../../graphql/client");
11
10
  const log_1 = tslib_1.__importDefault(require("../../log"));
11
+ const expoConfig_1 = require("../../project/expoConfig");
12
12
  const projectUtils_1 = require("../../project/projectUtils");
13
13
  const prompts_1 = require("../../prompts");
14
14
  const json_1 = require("../../utils/json");
@@ -43,7 +43,7 @@ class BranchCreate extends EasCommand_1.default {
43
43
  (0, json_1.enableJsonOutput)();
44
44
  }
45
45
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
46
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
46
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
47
47
  const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
48
48
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
49
49
  if (!name) {
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
6
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
8
7
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
9
8
  const client_1 = require("../../graphql/client");
10
9
  const log_1 = tslib_1.__importDefault(require("../../log"));
10
+ const expoConfig_1 = require("../../project/expoConfig");
11
11
  const projectUtils_1 = require("../../project/projectUtils");
12
12
  const prompts_1 = require("../../prompts");
13
13
  const json_1 = require("../../utils/json");
@@ -56,7 +56,7 @@ class BranchDelete extends EasCommand_1.default {
56
56
  (0, json_1.enableJsonOutput)();
57
57
  }
58
58
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
59
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
59
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
60
60
  const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
61
61
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
62
62
  if (!name) {
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.listBranchesAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const config_1 = require("@expo/config");
6
5
  const core_1 = require("@oclif/core");
7
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
7
  const cli_table3_1 = tslib_1.__importDefault(require("cli-table3"));
@@ -12,6 +11,7 @@ const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasComm
12
11
  const client_1 = require("../../graphql/client");
13
12
  const UpdateBranch_1 = require("../../graphql/types/UpdateBranch");
14
13
  const log_1 = tslib_1.__importDefault(require("../../log"));
14
+ const expoConfig_1 = require("../../project/expoConfig");
15
15
  const projectUtils_1 = require("../../project/projectUtils");
16
16
  const utils_1 = require("../../update/utils");
17
17
  const json_1 = require("../../utils/json");
@@ -47,7 +47,7 @@ class BranchList extends EasCommand_1.default {
47
47
  (0, json_1.enableJsonOutput)();
48
48
  }
49
49
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
50
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
50
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
51
51
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
52
52
  const branches = await listBranchesAsync({ projectId });
53
53
  if (flags.json) {
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
6
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
8
7
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
9
8
  const client_1 = require("../../graphql/client");
10
9
  const log_1 = tslib_1.__importDefault(require("../../log"));
10
+ const expoConfig_1 = require("../../project/expoConfig");
11
11
  const projectUtils_1 = require("../../project/projectUtils");
12
12
  const prompts_1 = require("../../prompts");
13
13
  const json_1 = require("../../utils/json");
@@ -39,7 +39,7 @@ class BranchRename extends EasCommand_1.default {
39
39
  (0, json_1.enableJsonOutput)();
40
40
  }
41
41
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
42
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
42
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
43
43
  const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
44
44
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
45
45
  if (!currentName) {
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
6
  const cli_table3_1 = tslib_1.__importDefault(require("cli-table3"));
8
7
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
9
8
  const UpdateQuery_1 = require("../../graphql/queries/UpdateQuery");
10
9
  const log_1 = tslib_1.__importDefault(require("../../log"));
10
+ const expoConfig_1 = require("../../project/expoConfig");
11
11
  const projectUtils_1 = require("../../project/projectUtils");
12
12
  const prompts_1 = require("../../prompts");
13
13
  const utils_1 = require("../../update/utils");
@@ -21,7 +21,7 @@ class BranchView extends EasCommand_1.default {
21
21
  (0, json_1.enableJsonOutput)();
22
22
  }
23
23
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
24
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
24
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
25
25
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
26
26
  if (!name) {
27
27
  const validationMessage = 'Branch name may not be empty.';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
5
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
@@ -11,6 +10,7 @@ const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
11
10
  const log_1 = tslib_1.__importDefault(require("../../log"));
12
11
  const ora_1 = require("../../ora");
13
12
  const platform_1 = require("../../platform");
13
+ const expoConfig_1 = require("../../project/expoConfig");
14
14
  const projectUtils_1 = require("../../project/projectUtils");
15
15
  const prompts_1 = require("../../prompts");
16
16
  async function cancelBuildAsync(buildId) {
@@ -84,7 +84,7 @@ async function ensureBuildExistsAsync(buildId) {
84
84
  try {
85
85
  await BuildQuery_1.BuildQuery.byIdAsync(buildId);
86
86
  }
87
- catch (err) {
87
+ catch {
88
88
  throw new Error(`Couldn't find a build matching the id ${buildId}`);
89
89
  }
90
90
  }
@@ -92,7 +92,7 @@ class BuildCancel extends EasCommand_1.default {
92
92
  async runAsync() {
93
93
  const { BUILD_ID: buildIdFromArg } = (await this.parse(BuildCancel)).args;
94
94
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
95
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
95
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
96
96
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
97
97
  const projectFullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
98
98
  if (buildIdFromArg) {
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const eas_build_job_1 = require("@expo/eas-build-job");
6
5
  const core_1 = require("@oclif/core");
7
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -10,6 +9,7 @@ const configure_1 = require("../../build/configure");
10
9
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
11
10
  const log_1 = tslib_1.__importStar(require("../../log"));
12
11
  const platform_1 = require("../../platform");
12
+ const expoConfig_1 = require("../../project/expoConfig");
13
13
  const projectUtils_1 = require("../../project/projectUtils");
14
14
  const workflow_1 = require("../../project/workflow");
15
15
  const prompts_1 = require("../../prompts");
@@ -37,7 +37,7 @@ class BuildConfigure extends EasCommand_1.default {
37
37
  });
38
38
  // configure expo-updates
39
39
  if (expoUpdatesIsInstalled) {
40
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
40
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
41
41
  if ([platform_1.RequestedPlatform.Android, platform_1.RequestedPlatform.All].includes(platform)) {
42
42
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID);
43
43
  if (workflow === eas_build_job_1.Workflow.GENERIC) {
@@ -18,4 +18,3 @@ export default class Build extends EasCommand {
18
18
  runAsync(): Promise<void>;
19
19
  private sanitizeFlagsAsync;
20
20
  }
21
- export declare function handleDeprecatedEasJsonAsync(projectDir: string, nonInteractive: boolean): Promise<void>;
@@ -1,24 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleDeprecatedEasJsonAsync = void 0;
4
3
  const tslib_1 = require("tslib");
5
- const eas_json_1 = require("@expo/eas-json");
6
4
  const core_1 = require("@oclif/core");
7
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
- const figures_1 = tslib_1.__importDefault(require("figures"));
9
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
10
5
  const path_1 = tslib_1.__importDefault(require("path"));
11
6
  const runBuildAndSubmit_1 = require("../../build/runBuildAndSubmit");
12
- const repository_1 = require("../../build/utils/repository");
13
7
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
14
- const log_1 = tslib_1.__importStar(require("../../log"));
8
+ const log_1 = tslib_1.__importDefault(require("../../log"));
15
9
  const platform_1 = require("../../platform");
16
10
  const projectUtils_1 = require("../../project/projectUtils");
17
- const prompts_1 = require("../../prompts");
18
- const easCli_1 = require("../../utils/easCli");
19
11
  const json_1 = require("../../utils/json");
20
- const vcs_1 = require("../../vcs");
21
- const git_1 = tslib_1.__importDefault(require("../../vcs/clients/git"));
22
12
  class Build extends EasCommand_1.default {
23
13
  async runAsync() {
24
14
  const { flags: rawFlags } = await this.parse(Build);
@@ -27,7 +17,6 @@ class Build extends EasCommand_1.default {
27
17
  }
28
18
  const flags = await this.sanitizeFlagsAsync(rawFlags);
29
19
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
30
- await handleDeprecatedEasJsonAsync(projectDir, flags.nonInteractive);
31
20
  await (0, runBuildAndSubmit_1.runBuildAndSubmitAsync)(projectDir, flags);
32
21
  }
33
22
  async sanitizeFlagsAsync(flags) {
@@ -141,44 +130,3 @@ Build.flags = {
141
130
  exclusive: ['auto-submit'],
142
131
  }),
143
132
  };
144
- async function handleDeprecatedEasJsonAsync(projectDir, nonInteractive) {
145
- const easJsonPath = eas_json_1.EasJsonReader.formatEasJsonPath(projectDir);
146
- if (!(await fs_extra_1.default.pathExists(easJsonPath))) {
147
- return;
148
- }
149
- const easJsonReader = new eas_json_1.EasJsonReader(projectDir);
150
- const rawEasJson = await easJsonReader.readAsync();
151
- if (rawEasJson === null || rawEasJson === void 0 ? void 0 : rawEasJson.cli) {
152
- return;
153
- }
154
- if (nonInteractive) {
155
- log_1.default.warn(`${figures_1.default.warning} Action required: the default behavior of EAS CLI has changed and your eas.json must be updated to remove ambiguity around which Git integration workflow to use. Refer to ${(0, log_1.link)('https://expo.fyi/eas-vcs-workflow')} for more information.`);
156
- log_1.default.warn('This warning will become an error in an upcoming EAS CLI release. For now, we will proceed with the old default behavior to avoid disruption of your builds.');
157
- (0, vcs_1.setVcsClient)(new git_1.default());
158
- return;
159
- }
160
- log_1.default.log(`${chalk_1.default.bold('eas-cli@>=0.34.0 no longer requires that you commit changes to Git before starting a build.')} ${(0, log_1.learnMore)('https://expo.fyi/eas-vcs-workflow')}`);
161
- log_1.default.log(`If you want to continue using the Git integration, you can opt in with ${chalk_1.default.bold('cli.requireCommit')} in ${chalk_1.default.bold('eas.json')} or with the following prompt.`);
162
- log_1.default.newLine();
163
- const mode = await (0, prompts_1.selectAsync)('Select your preferred Git integration', [
164
- { title: 'Require changes to be committed in Git (old default)', value: 'requireCommit' },
165
- { title: 'Allow builds with dirty Git working tree (new default)', value: 'noCommit' },
166
- ]);
167
- if (mode === 'requireCommit') {
168
- (0, vcs_1.setVcsClient)(new git_1.default());
169
- await (0, repository_1.ensureRepoIsCleanAsync)(nonInteractive);
170
- }
171
- rawEasJson.cli =
172
- mode === 'requireCommit'
173
- ? { version: `>= ${easCli_1.easCliVersion}`, requireCommit: true }
174
- : { version: `>= ${easCli_1.easCliVersion}` };
175
- await fs_extra_1.default.writeJSON(easJsonPath, rawEasJson, { spaces: 2 });
176
- log_1.default.withTick('Updated eas.json');
177
- if (mode === 'requireCommit') {
178
- await (0, vcs_1.getVcsClient)().trackFileAsync(easJsonPath);
179
- await (0, repository_1.reviewAndCommitChangesAsync)('Set cli.requireCommit to true in eas.json', {
180
- nonInteractive,
181
- });
182
- }
183
- }
184
- exports.handleDeprecatedEasJsonAsync = handleDeprecatedEasJsonAsync;
@@ -63,7 +63,7 @@ class BuildInspect extends EasCommand_1.default {
63
63
  log_1.default.log(chalk_1.default.green('Build successful'));
64
64
  }
65
65
  }
66
- catch (err) {
66
+ catch {
67
67
  if (!flags.verbose) {
68
68
  log_1.default.error('Build failed');
69
69
  log_1.default.error(`Re-run this command with ${chalk_1.default.bold('--verbose')} flag to see the logs`);
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
6
  const types_1 = require("../../build/types");
@@ -12,6 +11,7 @@ const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
12
11
  const log_1 = tslib_1.__importDefault(require("../../log"));
13
12
  const ora_1 = require("../../ora");
14
13
  const platform_1 = require("../../platform");
14
+ const expoConfig_1 = require("../../project/expoConfig");
15
15
  const projectUtils_1 = require("../../project/projectUtils");
16
16
  const json_1 = require("../../utils/json");
17
17
  class BuildList extends EasCommand_1.default {
@@ -25,7 +25,7 @@ class BuildList extends EasCommand_1.default {
25
25
  const graphqlBuildStatus = toGraphQLBuildStatus(buildStatus);
26
26
  const graphqlBuildDistribution = toGraphQLBuildDistribution(buildDistribution);
27
27
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
28
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
28
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
29
29
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
30
30
  const projectName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
31
31
  const spinner = (0, ora_1.ora)().start('Fetching the build list for the project…');
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const formatBuild_1 = require("../../build/utils/formatBuild");
7
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
8
7
  const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
9
8
  const log_1 = tslib_1.__importDefault(require("../../log"));
10
9
  const ora_1 = require("../../ora");
10
+ const expoConfig_1 = require("../../project/expoConfig");
11
11
  const projectUtils_1 = require("../../project/projectUtils");
12
12
  const json_1 = require("../../utils/json");
13
13
  class BuildView extends EasCommand_1.default {
@@ -17,7 +17,7 @@ class BuildView extends EasCommand_1.default {
17
17
  (0, json_1.enableJsonOutput)();
18
18
  }
19
19
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
20
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
20
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
21
21
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
22
22
  const projectName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
23
23
  const spinner = (0, ora_1.ora)().start('Fetching the build…');
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUpdateChannelOnAppAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const config_1 = require("@expo/config");
6
5
  const core_1 = require("@oclif/core");
7
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
7
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
@@ -10,6 +9,7 @@ const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasComm
10
9
  const client_1 = require("../../graphql/client");
11
10
  const BranchQuery_1 = require("../../graphql/queries/BranchQuery");
12
11
  const log_1 = tslib_1.__importDefault(require("../../log"));
12
+ const expoConfig_1 = require("../../project/expoConfig");
13
13
  const projectUtils_1 = require("../../project/projectUtils");
14
14
  const prompts_1 = require("../../prompts");
15
15
  const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields"));
@@ -47,7 +47,7 @@ class ChannelCreate extends EasCommand_1.default {
47
47
  (0, json_1.enableJsonOutput)();
48
48
  }
49
49
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
50
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
50
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
51
51
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
52
52
  if (!channelName) {
53
53
  const validationMessage = 'Channel name may not be empty.';
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
8
7
  const client_1 = require("../../graphql/client");
9
8
  const log_1 = tslib_1.__importDefault(require("../../log"));
9
+ const expoConfig_1 = require("../../project/expoConfig");
10
10
  const projectUtils_1 = require("../../project/projectUtils");
11
11
  const prompts_1 = require("../../prompts");
12
12
  const json_1 = require("../../utils/json");
@@ -21,7 +21,7 @@ class ChannelDelete extends EasCommand_1.default {
21
21
  (0, json_1.enableJsonOutput)();
22
22
  }
23
23
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
24
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
24
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
25
25
  const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
26
26
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
27
27
  let name;
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateChannelBranchMappingAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const config_1 = require("@expo/config");
6
5
  const core_1 = require("@oclif/core");
7
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
7
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
@@ -10,6 +9,7 @@ const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasComm
10
9
  const client_1 = require("../../graphql/client");
11
10
  const BranchQuery_1 = require("../../graphql/queries/BranchQuery");
12
11
  const log_1 = tslib_1.__importDefault(require("../../log"));
12
+ const expoConfig_1 = require("../../project/expoConfig");
13
13
  const projectUtils_1 = require("../../project/projectUtils");
14
14
  const prompts_1 = require("../../prompts");
15
15
  const json_1 = require("../../utils/json");
@@ -69,7 +69,7 @@ class ChannelEdit extends EasCommand_1.default {
69
69
  (0, json_1.enableJsonOutput)();
70
70
  }
71
71
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
72
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
72
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
73
73
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
74
74
  const channelName = (_a = args.name) !== null && _a !== void 0 ? _a : (await promptForChannelAsync());
75
75
  const existingChannel = await getChannelByNameForAppAsync({ appId: projectId, channelName });
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
8
7
  const client_1 = require("../../graphql/client");
9
8
  const log_1 = tslib_1.__importDefault(require("../../log"));
9
+ const expoConfig_1 = require("../../project/expoConfig");
10
10
  const projectUtils_1 = require("../../project/projectUtils");
11
11
  const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields"));
12
12
  const json_1 = require("../../utils/json");
@@ -59,7 +59,7 @@ class ChannelList extends EasCommand_1.default {
59
59
  (0, json_1.enableJsonOutput)();
60
60
  }
61
61
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
62
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
62
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
63
63
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
64
64
  const getAllUpdateChannelForAppResult = await getAllUpdateChannelForAppAsync({
65
65
  appId: projectId,
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
8
7
  const BranchQuery_1 = require("../../graphql/queries/BranchQuery");
9
8
  const ChannelQuery_1 = require("../../graphql/queries/ChannelQuery");
10
9
  const log_1 = tslib_1.__importDefault(require("../../log"));
10
+ const expoConfig_1 = require("../../project/expoConfig");
11
11
  const projectUtils_1 = require("../../project/projectUtils");
12
12
  const prompts_1 = require("../../prompts");
13
13
  const json_1 = require("../../utils/json");
@@ -168,7 +168,7 @@ class ChannelRollout extends EasCommand_1.default {
168
168
  (0, json_1.enableJsonOutput)();
169
169
  }
170
170
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
171
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
171
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
172
172
  const fullName = await (0, projectUtils_1.getProjectFullNameAsync)(exp);
173
173
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
174
174
  const channel = await ChannelQuery_1.ChannelQuery.getUpdateChannelByNameForAppAsync({
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.logChannelDetails = exports.getBranchMapping = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const config_1 = require("@expo/config");
6
5
  const core_1 = require("@oclif/core");
7
6
  const assert_1 = tslib_1.__importDefault(require("assert"));
8
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -10,6 +9,7 @@ const cli_table3_1 = tslib_1.__importDefault(require("cli-table3"));
10
9
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
11
10
  const ChannelQuery_1 = require("../../graphql/queries/ChannelQuery");
12
11
  const log_1 = tslib_1.__importDefault(require("../../log"));
12
+ const expoConfig_1 = require("../../project/expoConfig");
13
13
  const projectUtils_1 = require("../../project/projectUtils");
14
14
  const prompts_1 = require("../../prompts");
15
15
  const utils_1 = require("../../update/utils");
@@ -27,7 +27,7 @@ function getBranchMapping(branchMappingString) {
27
27
  try {
28
28
  branchMapping = JSON.parse(branchMappingString);
29
29
  }
30
- catch (e) {
30
+ catch {
31
31
  throw new Error(`Could not parse branchMapping string into a JSON: "${branchMappingString}"`);
32
32
  }
33
33
  (0, assert_1.default)(branchMapping, 'Branch Mapping must be defined.');
@@ -109,7 +109,7 @@ class ChannelView extends EasCommand_1.default {
109
109
  (0, json_1.enableJsonOutput)();
110
110
  }
111
111
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
112
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
112
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
113
113
  const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
114
114
  if (!channelName) {
115
115
  const validationMessage = 'A channel name is required to view a specific channel.';
@@ -13,7 +13,6 @@ const platform_1 = require("../platform");
13
13
  const expoConfig_1 = require("../project/expoConfig");
14
14
  const projectUtils_1 = require("../project/projectUtils");
15
15
  const prompts_1 = require("../prompts");
16
- const build_1 = require("./build");
17
16
  class Config extends EasCommand_1.default {
18
17
  constructor() {
19
18
  super(...arguments);
@@ -23,7 +22,6 @@ class Config extends EasCommand_1.default {
23
22
  const { flags } = await this.parse(Config);
24
23
  const { platform: maybePlatform, profile: maybeProfile } = flags;
25
24
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
26
- await (0, build_1.handleDeprecatedEasJsonAsync)(projectDir, false);
27
25
  const reader = new eas_json_1.EasJsonReader(projectDir);
28
26
  const profileName = maybeProfile !== null && maybeProfile !== void 0 ? maybeProfile : (await (0, prompts_1.selectAsync)('Select build profile', (await reader.getBuildProfileNamesAsync()).map(profileName => ({
29
27
  title: profileName,
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const apple_utils_1 = require("@expo/apple-utils");
5
- const config_1 = require("@expo/config");
6
5
  const core_1 = require("@oclif/core");
7
6
  const assert_1 = tslib_1.__importDefault(require("assert"));
8
7
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
@@ -14,13 +13,14 @@ const authenticate_1 = require("../../credentials/ios/appstore/authenticate");
14
13
  const formatDevice_1 = tslib_1.__importDefault(require("../../devices/utils/formatDevice"));
15
14
  const log_1 = tslib_1.__importDefault(require("../../log"));
16
15
  const ora_1 = require("../../ora");
16
+ const expoConfig_1 = require("../../project/expoConfig");
17
17
  const projectUtils_1 = require("../../project/projectUtils");
18
18
  const prompts_1 = require("../../prompts");
19
19
  class DeviceDelete extends EasCommand_1.default {
20
20
  async runAsync() {
21
21
  let { flags: { 'apple-team-id': appleTeamIdentifier, udid: udids }, } = await this.parse(DeviceDelete);
22
22
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
23
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
23
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
24
24
  const accountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
25
25
  if (!appleTeamIdentifier) {
26
26
  appleTeamIdentifier = await this.askForAppleTeamAsync(accountName);
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const config_1 = require("@expo/config");
5
4
  const core_1 = require("@oclif/core");
6
5
  const assert_1 = tslib_1.__importDefault(require("assert"));
7
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -11,13 +10,14 @@ const AppleTeamQuery_1 = require("../../credentials/ios/api/graphql/queries/Appl
11
10
  const formatDevice_1 = tslib_1.__importDefault(require("../../devices/utils/formatDevice"));
12
11
  const log_1 = tslib_1.__importDefault(require("../../log"));
13
12
  const ora_1 = require("../../ora");
13
+ const expoConfig_1 = require("../../project/expoConfig");
14
14
  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
18
  let appleTeamIdentifier = (await this.parse(BuildList)).flags['apple-team-id'];
19
19
  const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
20
- const { exp } = (0, config_1.getConfig)(projectDir, { skipSDKVersionRequirement: true });
20
+ const exp = (0, expoConfig_1.getExpoConfig)(projectDir);
21
21
  const accountName = await (0, projectUtils_1.getProjectAccountNameAsync)(exp);
22
22
  let spinner;
23
23
  if (!appleTeamIdentifier) {