eas-cli 18.0.6 → 18.2.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 (184) hide show
  1. package/README.md +521 -507
  2. package/bin/dev +6 -13
  3. package/bin/run +4 -4
  4. package/build/commandUtils/flags.d.ts +16 -6
  5. package/build/commandUtils/flags.js +21 -9
  6. package/build/commandUtils/pagination.d.ts +4 -4
  7. package/build/commandUtils/pagination.js +4 -2
  8. package/build/commandUtils/workflow/inputs.js +2 -2
  9. package/build/commandUtils/workflow/parse.d.ts +3 -0
  10. package/build/commandUtils/workflow/parse.js +12 -0
  11. package/build/commandUtils/workflow/validation.d.ts +0 -3
  12. package/build/commandUtils/workflow/validation.js +2 -6
  13. package/build/commands/account/usage.d.ts +2 -3
  14. package/build/commands/account/usage.js +5 -5
  15. package/build/commands/analytics.d.ts +2 -3
  16. package/build/commands/analytics.js +6 -1
  17. package/build/commands/branch/create.d.ts +2 -4
  18. package/build/commands/branch/create.js +10 -6
  19. package/build/commands/branch/delete.d.ts +2 -4
  20. package/build/commands/branch/delete.js +6 -6
  21. package/build/commands/branch/list.d.ts +1 -1
  22. package/build/commands/branch/list.js +2 -1
  23. package/build/commands/branch/rename.d.ts +2 -2
  24. package/build/commands/branch/rename.js +2 -1
  25. package/build/commands/branch/view.d.ts +3 -5
  26. package/build/commands/branch/view.js +6 -6
  27. package/build/commands/build/cancel.d.ts +4 -4
  28. package/build/commands/build/cancel.js +6 -4
  29. package/build/commands/build/configure.d.ts +1 -1
  30. package/build/commands/build/configure.js +2 -2
  31. package/build/commands/build/delete.d.ts +4 -4
  32. package/build/commands/build/delete.js +6 -4
  33. package/build/commands/build/dev.d.ts +2 -2
  34. package/build/commands/build/dev.js +2 -2
  35. package/build/commands/build/download.d.ts +2 -2
  36. package/build/commands/build/download.js +4 -3
  37. package/build/commands/build/index.d.ts +8 -8
  38. package/build/commands/build/index.js +8 -11
  39. package/build/commands/build/inspect.d.ts +4 -4
  40. package/build/commands/build/inspect.js +4 -4
  41. package/build/commands/build/internal.d.ts +3 -3
  42. package/build/commands/build/internal.js +2 -2
  43. package/build/commands/build/list.d.ts +13 -13
  44. package/build/commands/build/list.js +8 -7
  45. package/build/commands/build/resign.d.ts +5 -5
  46. package/build/commands/build/resign.js +4 -4
  47. package/build/commands/build/run.d.ts +6 -6
  48. package/build/commands/build/run.js +2 -2
  49. package/build/commands/build/version/get.d.ts +2 -2
  50. package/build/commands/build/version/get.js +8 -7
  51. package/build/commands/build/version/set.d.ts +2 -2
  52. package/build/commands/build/version/set.js +2 -2
  53. package/build/commands/build/version/sync.d.ts +2 -2
  54. package/build/commands/build/version/sync.js +2 -2
  55. package/build/commands/build/view.d.ts +2 -2
  56. package/build/commands/build/view.js +4 -1
  57. package/build/commands/channel/create.d.ts +2 -4
  58. package/build/commands/channel/create.js +10 -6
  59. package/build/commands/channel/delete.d.ts +2 -4
  60. package/build/commands/channel/delete.js +7 -6
  61. package/build/commands/channel/edit.d.ts +3 -5
  62. package/build/commands/channel/edit.js +6 -6
  63. package/build/commands/channel/list.d.ts +1 -1
  64. package/build/commands/channel/list.js +1 -1
  65. package/build/commands/channel/pause.d.ts +3 -5
  66. package/build/commands/channel/pause.js +6 -6
  67. package/build/commands/channel/resume.d.ts +3 -5
  68. package/build/commands/channel/resume.js +6 -6
  69. package/build/commands/channel/rollout.d.ts +8 -9
  70. package/build/commands/channel/rollout.js +9 -11
  71. package/build/commands/channel/view.d.ts +3 -5
  72. package/build/commands/channel/view.js +6 -6
  73. package/build/commands/config.d.ts +2 -2
  74. package/build/commands/config.js +6 -5
  75. package/build/commands/credentials/configure-build.d.ts +2 -2
  76. package/build/commands/credentials/configure-build.js +2 -2
  77. package/build/commands/credentials/index.d.ts +1 -1
  78. package/build/commands/credentials/index.js +1 -1
  79. package/build/commands/deploy/alias/delete.d.ts +2 -2
  80. package/build/commands/deploy/alias/delete.js +7 -3
  81. package/build/commands/deploy/alias/index.d.ts +2 -2
  82. package/build/commands/deploy/alias/index.js +3 -2
  83. package/build/commands/deploy/delete.d.ts +2 -2
  84. package/build/commands/deploy/delete.js +7 -3
  85. package/build/commands/deploy/index.d.ts +5 -4
  86. package/build/commands/deploy/index.js +12 -3
  87. package/build/commands/device/delete.d.ts +2 -2
  88. package/build/commands/device/list.d.ts +2 -2
  89. package/build/commands/device/rename.d.ts +3 -3
  90. package/build/commands/device/view.d.ts +2 -2
  91. package/build/commands/device/view.js +4 -1
  92. package/build/commands/env/create.d.ts +8 -11
  93. package/build/commands/env/create.js +6 -7
  94. package/build/commands/env/delete.d.ts +5 -8
  95. package/build/commands/env/delete.js +4 -5
  96. package/build/commands/env/exec.d.ts +3 -4
  97. package/build/commands/env/exec.js +7 -8
  98. package/build/commands/env/get.d.ts +6 -9
  99. package/build/commands/env/get.js +4 -5
  100. package/build/commands/env/list.d.ts +5 -8
  101. package/build/commands/env/list.js +4 -5
  102. package/build/commands/env/pull.d.ts +4 -6
  103. package/build/commands/env/pull.js +4 -5
  104. package/build/commands/env/push.d.ts +7 -7
  105. package/build/commands/env/push.js +4 -5
  106. package/build/commands/env/update.d.ts +10 -13
  107. package/build/commands/env/update.js +6 -7
  108. package/build/commands/fingerprint/compare.d.ts +6 -7
  109. package/build/commands/fingerprint/compare.js +10 -11
  110. package/build/commands/fingerprint/generate.d.ts +3 -3
  111. package/build/commands/fingerprint/generate.js +4 -3
  112. package/build/commands/go.d.ts +2 -2
  113. package/build/commands/go.js +1 -2
  114. package/build/commands/metadata/lint.d.ts +1 -1
  115. package/build/commands/metadata/pull.d.ts +1 -1
  116. package/build/commands/metadata/push.d.ts +1 -1
  117. package/build/commands/project/init.d.ts +1 -1
  118. package/build/commands/project/new.d.ts +3 -5
  119. package/build/commands/project/new.js +6 -7
  120. package/build/commands/project/onboarding.d.ts +2 -2
  121. package/build/commands/project/onboarding.js +4 -1
  122. package/build/commands/secret/create.d.ts +4 -4
  123. package/build/commands/secret/create.js +7 -6
  124. package/build/commands/secret/delete.d.ts +1 -1
  125. package/build/commands/secret/push.d.ts +2 -2
  126. package/build/commands/secret/push.js +2 -2
  127. package/build/commands/submit/internal.d.ts +3 -3
  128. package/build/commands/submit/internal.js +2 -2
  129. package/build/commands/submit.d.ts +7 -7
  130. package/build/commands/submit.js +2 -2
  131. package/build/commands/update/configure.d.ts +2 -2
  132. package/build/commands/update/configure.js +2 -7
  133. package/build/commands/update/delete.d.ts +2 -4
  134. package/build/commands/update/delete.js +7 -6
  135. package/build/commands/update/edit.d.ts +4 -5
  136. package/build/commands/update/edit.js +7 -6
  137. package/build/commands/update/index.d.ts +9 -9
  138. package/build/commands/update/index.js +30 -14
  139. package/build/commands/update/list.d.ts +4 -4
  140. package/build/commands/update/list.js +4 -3
  141. package/build/commands/update/republish.d.ts +9 -9
  142. package/build/commands/update/republish.js +4 -4
  143. package/build/commands/update/revert-update-rollout.d.ts +5 -5
  144. package/build/commands/update/revert-update-rollout.js +2 -2
  145. package/build/commands/update/roll-back-to-embedded.d.ts +6 -6
  146. package/build/commands/update/roll-back-to-embedded.js +4 -4
  147. package/build/commands/update/rollback.d.ts +1 -1
  148. package/build/commands/update/view.d.ts +2 -4
  149. package/build/commands/update/view.js +5 -5
  150. package/build/commands/upload.d.ts +3 -3
  151. package/build/commands/upload.js +4 -3
  152. package/build/commands/webhook/create.d.ts +3 -3
  153. package/build/commands/webhook/create.js +2 -2
  154. package/build/commands/webhook/delete.d.ts +2 -4
  155. package/build/commands/webhook/delete.js +8 -6
  156. package/build/commands/webhook/list.d.ts +1 -1
  157. package/build/commands/webhook/list.js +2 -2
  158. package/build/commands/webhook/update.d.ts +4 -4
  159. package/build/commands/webhook/update.js +2 -2
  160. package/build/commands/webhook/view.d.ts +2 -4
  161. package/build/commands/webhook/view.js +5 -5
  162. package/build/commands/workflow/create.d.ts +2 -4
  163. package/build/commands/workflow/create.js +4 -5
  164. package/build/commands/workflow/logs.d.ts +2 -3
  165. package/build/commands/workflow/logs.js +5 -3
  166. package/build/commands/workflow/run.d.ts +4 -5
  167. package/build/commands/workflow/run.js +6 -1
  168. package/build/commands/workflow/runs.d.ts +2 -2
  169. package/build/commands/workflow/runs.js +2 -2
  170. package/build/commands/workflow/status.d.ts +2 -3
  171. package/build/commands/workflow/status.js +7 -5
  172. package/build/commands/workflow/validate.d.ts +2 -4
  173. package/build/commands/workflow/validate.js +5 -5
  174. package/build/commands/workflow/view.d.ts +2 -3
  175. package/build/commands/workflow/view.js +6 -1
  176. package/build/credentials/android/actions/BuildCredentialsUtils.js +0 -1
  177. package/build/credentials/android/actions/CreateKeystore.js +9 -10
  178. package/build/credentials/android/actions/SetUpBuildCredentials.js +0 -4
  179. package/build/update/utils.d.ts +2 -2
  180. package/build/update/utils.js +21 -10
  181. package/build/worker/assets.d.ts +3 -1
  182. package/build/worker/assets.js +4 -1
  183. package/oclif.manifest.json +7133 -2227
  184. package/package.json +7 -7
@@ -7,9 +7,8 @@ export default class WorkflowLogView extends EasCommand {
7
7
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
8
  };
9
9
  static args: {
10
- name: string;
11
- description: string;
12
- }[];
10
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
+ };
13
12
  static contextDefinition: {
14
13
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
15
14
  projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
@@ -29,9 +29,11 @@ class WorkflowLogView extends EasCommand_1.default {
29
29
  default: false,
30
30
  }),
31
31
  };
32
- static args = [
33
- { name: 'id', description: 'ID of the workflow run or workflow job to view logs for' },
34
- ];
32
+ static args = {
33
+ id: core_1.Args.string({
34
+ description: 'ID of the workflow run or workflow job to view logs for',
35
+ }),
36
+ };
35
37
  static contextDefinition = {
36
38
  ...this.ContextOptions.ProjectId,
37
39
  ...this.ContextOptions.LoggedIn,
@@ -43,14 +43,13 @@ import EasCommand from '../../commandUtils/EasCommand';
43
43
  export default class WorkflowRun extends EasCommand {
44
44
  static description: string;
45
45
  static args: {
46
- name: string;
47
- description: string;
48
- }[];
46
+ file: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
47
+ };
49
48
  static flags: {
50
49
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
51
50
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
52
- input: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined>;
53
- ref: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
51
+ input: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
52
+ ref: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
54
53
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
55
54
  };
56
55
  static contextDefinition: {
@@ -66,7 +66,12 @@ const json_1 = require("../../utils/json");
66
66
  const workflowFile_1 = require("../../utils/workflowFile");
67
67
  class WorkflowRun extends EasCommand_1.default {
68
68
  static description = 'run an EAS workflow. The entire local project directory will be packaged and uploaded to EAS servers for the workflow run, unless the --ref flag is used.';
69
- static args = [{ name: 'file', description: 'Path to the workflow file to run' }];
69
+ static args = {
70
+ file: core_1.Args.string({
71
+ description: 'Path to the workflow file to run',
72
+ required: true,
73
+ }),
74
+ };
70
75
  static flags = {
71
76
  ...flags_1.EASNonInteractiveFlag,
72
77
  wait: core_1.Flags.boolean({
@@ -5,8 +5,8 @@ export default class WorkflowRunList extends EasCommand {
5
5
  static flags: {
6
6
  limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
7
7
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- workflow: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- status: import("@oclif/core/lib/interfaces").OptionFlag<WorkflowRunStatus | undefined>;
8
+ workflow: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ status: import("@oclif/core/lib/interfaces").OptionFlag<WorkflowRunStatus | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
10
  };
11
11
  static contextDefinition: {
12
12
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -19,11 +19,11 @@ class WorkflowRunList extends EasCommand_1.default {
19
19
  description: 'If present, the query will only return runs for the specified workflow file name',
20
20
  required: false,
21
21
  }),
22
- status: core_1.Flags.enum({
22
+ status: core_1.Flags.option({
23
23
  description: 'If present, filter the returned runs to select those with the specified status',
24
24
  required: false,
25
25
  options: Object.values(generated_1.WorkflowRunStatus),
26
- }),
26
+ })(),
27
27
  ...flags_1.EasJsonOnlyFlag,
28
28
  limit: (0, pagination_1.getLimitFlagWithCustomValues)({ defaultTo: 10, limit: 100 }),
29
29
  };
@@ -13,9 +13,8 @@ import EasCommand from '../../commandUtils/EasCommand';
13
13
  export default class WorkflowStatus extends EasCommand {
14
14
  static description: string;
15
15
  static args: {
16
- name: string;
17
- description: string;
18
- }[];
16
+ WORKFLOW_RUN_ID: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
17
+ };
19
18
  static flags: {
20
19
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
21
20
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -27,12 +27,11 @@ const prompts_1 = require("../../prompts");
27
27
  const json_1 = require("../../utils/json");
28
28
  class WorkflowStatus extends EasCommand_1.default {
29
29
  static description = 'show the status of an existing workflow run. If no run ID is provided, you will be prompted to select from recent workflow runs for the current project.';
30
- static args = [
31
- {
32
- name: 'WORKFLOW_RUN_ID',
30
+ static args = {
31
+ WORKFLOW_RUN_ID: core_1.Args.string({
33
32
  description: 'A workflow run ID.',
34
- },
35
- ];
33
+ }),
34
+ };
36
35
  static flags = {
37
36
  ...flags_1.EASNonInteractiveFlag,
38
37
  wait: core_1.Flags.boolean({
@@ -78,6 +77,9 @@ class WorkflowStatus extends EasCommand_1.default {
78
77
  choices: runs.map(run => (0, utils_1.choiceFromWorkflowRun)(run)),
79
78
  });
80
79
  workflowRunId = answers.selectedRun;
80
+ if (!workflowRunId) {
81
+ throw new Error('No workflow run selected');
82
+ }
81
83
  }
82
84
  log_1.default.addNewLineIfNone();
83
85
  log_1.default.log(`See logs: ${(0, log_1.link)((0, url_1.getWorkflowRunUrl)(account.name, projectName, workflowRunId))}`);
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export declare class WorkflowValidate extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- description: string;
7
- required: boolean;
8
- }[];
5
+ path: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorkflowValidate = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
5
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
6
7
  const flags_1 = require("../../commandUtils/flags");
7
8
  const validation_1 = require("../../commandUtils/workflow/validation");
@@ -10,13 +11,12 @@ const ora_1 = require("../../ora");
10
11
  const workflowFile_1 = require("../../utils/workflowFile");
11
12
  class WorkflowValidate extends EasCommand_1.default {
12
13
  static description = 'validate a workflow configuration yaml file';
13
- static args = [
14
- {
15
- name: 'path',
14
+ static args = {
15
+ path: core_1.Args.string({
16
16
  description: 'Path to the workflow configuration YAML file (must end with .yml or .yaml)',
17
17
  required: true,
18
- },
19
- ];
18
+ }),
19
+ };
20
20
  static flags = {
21
21
  ...flags_1.EASNonInteractiveFlag,
22
22
  };
@@ -6,9 +6,8 @@ export default class WorkflowView extends EasCommand {
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
7
  };
8
8
  static args: {
9
- name: string;
10
- description: string;
11
- }[];
9
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
+ };
12
11
  static contextDefinition: {
13
12
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
14
13
  projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
4
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
5
6
  const formatBuild_1 = require("../../build/utils/formatBuild");
6
7
  const url_1 = require("../../build/utils/url");
@@ -33,7 +34,11 @@ class WorkflowView extends EasCommand_1.default {
33
34
  ...flags_1.EasJsonOnlyFlag,
34
35
  ...flags_1.EASNonInteractiveFlag,
35
36
  };
36
- static args = [{ name: 'id', description: 'ID of the workflow run to view' }];
37
+ static args = {
38
+ id: core_1.Args.string({
39
+ description: 'ID of the workflow run to view',
40
+ }),
41
+ };
37
42
  static contextDefinition = {
38
43
  ...this.ContextOptions.ProjectId,
39
44
  ...this.ContextOptions.LoggedIn,
@@ -75,7 +75,6 @@ async function getAppLookupParamsFromContextAsync(ctx, gradleContext) {
75
75
  return { account, projectName, androidApplicationIdentifier };
76
76
  }
77
77
  async function createOrUpdateDefaultAndroidAppBuildCredentialsAsync(ctx, appLookupParams, { androidKeystoreId, }) {
78
- (0, assert_1.default)(!ctx.nonInteractive, 'createOrUpdateDefaultAndroidAppBuildCredentialsAsync must be run in interactive mode');
79
78
  const existingDefaultBuildCredentials = await ctx.android.getDefaultAndroidAppBuildCredentialsAsync(ctx.graphqlClient, appLookupParams);
80
79
  if (existingDefaultBuildCredentials) {
81
80
  return await ctx.android.updateAndroidAppBuildCredentialsAsync(ctx.graphqlClient, existingDefaultBuildCredentials, { androidKeystoreId });
@@ -13,21 +13,20 @@ class CreateKeystore {
13
13
  this.account = account;
14
14
  }
15
15
  async runAsync(ctx) {
16
- if (ctx.nonInteractive) {
17
- throw new Error(`New keystore cannot be created in non-interactive mode.`);
18
- }
19
16
  const projectId = await ctx.getProjectIdAsync();
20
- const keystore = await this.provideOrGenerateAsync(ctx.graphqlClient, ctx.analytics, projectId);
17
+ const keystore = await this.provideOrGenerateAsync(ctx.graphqlClient, ctx.analytics, projectId, ctx.nonInteractive);
21
18
  const keystoreFragment = await ctx.android.createKeystoreAsync(ctx.graphqlClient, this.account, keystore);
22
19
  log_1.default.succeed('Created keystore');
23
20
  return keystoreFragment;
24
21
  }
25
- async provideOrGenerateAsync(graphqlClient, analytics, projectId) {
26
- const providedKeystore = await (0, promptForCredentials_1.askForUserProvidedAsync)(credentials_1.keystoreSchema);
27
- if (providedKeystore) {
28
- const providedKeystoreWithType = (0, keystoreNew_1.getKeystoreWithType)(providedKeystore);
29
- (0, keystoreNew_1.validateKeystore)(providedKeystoreWithType);
30
- return providedKeystoreWithType;
22
+ async provideOrGenerateAsync(graphqlClient, analytics, projectId, nonInteractive = false) {
23
+ if (!nonInteractive) {
24
+ const providedKeystore = await (0, promptForCredentials_1.askForUserProvidedAsync)(credentials_1.keystoreSchema);
25
+ if (providedKeystore) {
26
+ const providedKeystoreWithType = (0, keystoreNew_1.getKeystoreWithType)(providedKeystore);
27
+ (0, keystoreNew_1.validateKeystore)(providedKeystoreWithType);
28
+ return providedKeystoreWithType;
29
+ }
31
30
  }
32
31
  return await (0, keystore_1.generateRandomKeystoreAsync)(graphqlClient, analytics, projectId);
33
32
  }
@@ -7,7 +7,6 @@ const BuildCredentialsUtils_1 = require("./BuildCredentialsUtils");
7
7
  const CreateKeystore_1 = require("./CreateKeystore");
8
8
  const log_1 = tslib_1.__importDefault(require("../../../log"));
9
9
  const ora_1 = require("../../../ora");
10
- const errors_1 = require("../../errors");
11
10
  /**
12
11
  * Sets up Build Credentials for Android
13
12
  * @name: sets up build credentials for the specified configuration. If no name is specified, the default configuration is setup
@@ -33,9 +32,6 @@ class SetUpBuildCredentials {
33
32
  if (alreadySetupBuildCredentials) {
34
33
  return alreadySetupBuildCredentials;
35
34
  }
36
- if (ctx.nonInteractive) {
37
- throw new errors_1.MissingCredentialsNonInteractiveError('Generating a new Keystore is not supported in --non-interactive mode');
38
- }
39
35
  const keystore = await new CreateKeystore_1.CreateKeystore(app.account).runAsync(ctx);
40
36
  return await this.assignBuildCredentialsAsync({ ctx, app, name: maybeName, keystore });
41
37
  }
@@ -58,7 +58,7 @@ export declare function isBundleDiffingEnabled(exp: ExpoConfig): boolean;
58
58
  export declare function prewarmDiffingAsync(graphqlClient: ExpoGraphqlClient, appId: string, newUpdates: UpdatePublishMutation['updateBranch']['publishUpdateGroups']): Promise<void>;
59
59
  export type UpdatePublishPlatform = 'ios' | 'android';
60
60
  export declare const updatePublishPlatformToAppPlatform: Record<UpdatePublishPlatform, AppPlatform>;
61
- export declare function assertEnvironmentFlagForSdk55OrGreater({ sdkVersion, environment, }: {
61
+ export declare function environmentFlagNeededForSdk550OrGreater({ sdkVersion, environment, }: {
62
62
  sdkVersion: string | undefined;
63
63
  environment: string | undefined;
64
- }): void;
64
+ }): boolean;
@@ -15,9 +15,8 @@ exports.getUpdateGroupDescriptionsWithBranch = getUpdateGroupDescriptionsWithBra
15
15
  exports.getBranchDescription = getBranchDescription;
16
16
  exports.isBundleDiffingEnabled = isBundleDiffingEnabled;
17
17
  exports.prewarmDiffingAsync = prewarmDiffingAsync;
18
- exports.assertEnvironmentFlagForSdk55OrGreater = assertEnvironmentFlagForSdk55OrGreater;
18
+ exports.environmentFlagNeededForSdk550OrGreater = environmentFlagNeededForSdk550OrGreater;
19
19
  const tslib_1 = require("tslib");
20
- const core_1 = require("@oclif/core");
21
20
  const timeago_js_1 = require("@expo/timeago.js");
22
21
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
23
22
  const dateformat_1 = tslib_1.__importDefault(require("dateformat"));
@@ -30,6 +29,7 @@ const platform_1 = require("../platform");
30
29
  const User_1 = require("../user/User");
31
30
  const groupBy_1 = tslib_1.__importDefault(require("../utils/expodash/groupBy"));
32
31
  const formatFields_1 = tslib_1.__importDefault(require("../utils/formatFields"));
32
+ const getenv_1 = require("getenv");
33
33
  exports.UPDATE_COLUMNS = [
34
34
  'Update message',
35
35
  'Update runtime version',
@@ -43,7 +43,10 @@ function formatUpdateGroup(update) {
43
43
  { label: 'Runtime Version', value: update.runtimeVersion },
44
44
  { label: 'Message', value: update.message },
45
45
  { label: 'Code Signing Key', value: update.codeSigningKey ?? 'N/A' },
46
- { label: 'Is Roll Back to Embedded', value: update.isRollBackToEmbedded ? 'Yes' : 'No' },
46
+ {
47
+ label: 'Is Roll Back to Embedded',
48
+ value: update.isRollBackToEmbedded ? 'Yes' : 'No',
49
+ },
47
50
  {
48
51
  label: 'Rollout Percentage',
49
52
  value: update.rolloutPercentage !== undefined ? `${update.rolloutPercentage}%` : 'N/A',
@@ -243,13 +246,21 @@ exports.updatePublishPlatformToAppPlatform = {
243
246
  android: generated_1.AppPlatform.Android,
244
247
  ios: generated_1.AppPlatform.Ios,
245
248
  };
246
- function assertEnvironmentFlagForSdk55OrGreater({ sdkVersion, environment, }) {
247
- if (process.env.EAS_BUILD) {
248
- return;
249
+ const environmentFlagOverride = 'EAS_UPDATE_SKIP_ENVIRONMENT_CHECK';
250
+ const ciEnvironmentFlags = ['EAS_BUILD', 'CI'];
251
+ function environmentFlagNeededForSdk550OrGreater({ sdkVersion, environment, }) {
252
+ // Skip check if we are in a CI environment
253
+ for (let flag of ciEnvironmentFlags) {
254
+ if (process.env[flag]) {
255
+ return false;
256
+ }
249
257
  }
250
- if (sdkVersion && semver_1.default.gte(sdkVersion, '55.0.0') && !environment) {
251
- core_1.Errors.error('--environment flag is required for projects using Expo SDK 55 or greater', {
252
- exit: 1,
253
- });
258
+ // Skip check if the env override is set
259
+ if ((0, getenv_1.boolish)(environmentFlagOverride, false)) {
260
+ return false;
261
+ }
262
+ if (sdkVersion === undefined || semver_1.default.lt(sdkVersion, '55.0.0')) {
263
+ return false;
254
264
  }
265
+ return environment === undefined;
255
266
  }
@@ -44,7 +44,9 @@ interface WorkerFileEntry {
44
44
  data: Buffer | string;
45
45
  }
46
46
  /** Reads worker files while normalizing sourcemaps and providing normalized paths */
47
- export declare function listWorkerFilesAsync(workerPath: string): AsyncGenerator<WorkerFileEntry>;
47
+ export declare function listWorkerFilesAsync(workerPath: string, options?: {
48
+ skipSourceMaps?: boolean;
49
+ }): AsyncGenerator<WorkerFileEntry>;
48
50
  /** Entry of a normalized (gzip-safe) path and file data */
49
51
  export type FileEntry = readonly [normalizedPath: string, data: Buffer | string];
50
52
  /** Packs file entries into a tar.gz file (path to tgz returned) */
@@ -165,8 +165,11 @@ async function createManifestAsync(params, graphqlClient) {
165
165
  return { conflictingVariableNames, manifest };
166
166
  }
167
167
  /** Reads worker files while normalizing sourcemaps and providing normalized paths */
168
- async function* listWorkerFilesAsync(workerPath) {
168
+ async function* listWorkerFilesAsync(workerPath, options) {
169
169
  for await (const file of listFilesRecursively(workerPath)) {
170
+ if (options?.skipSourceMaps && file.normalizedPath.endsWith('.map')) {
171
+ continue;
172
+ }
170
173
  yield {
171
174
  normalizedPath: file.normalizedPath,
172
175
  path: file.path,