eas-cli 3.18.2 → 4.0.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 (52) hide show
  1. package/README.md +76 -65
  2. package/build/channel/branch-mapping.d.ts +1 -0
  3. package/build/channel/branch-mapping.js +11 -1
  4. package/build/channel/print-utils.d.ts +2 -0
  5. package/build/channel/print-utils.js +39 -0
  6. package/build/channel/queries.js +3 -3
  7. package/build/channel/utils.d.ts +0 -11
  8. package/build/channel/utils.js +1 -93
  9. package/build/commands/channel/edit.js +6 -1
  10. package/build/commands/channel/rollout.d.ts +14 -2
  11. package/build/commands/channel/rollout.js +106 -270
  12. package/build/commands/update/republish.d.ts +2 -21
  13. package/build/commands/update/republish.js +15 -6
  14. package/build/devices/actions/create/action.d.ts +2 -1
  15. package/build/devices/actions/create/action.js +10 -1
  16. package/build/devices/actions/create/currentMachineMethod.d.ts +3 -0
  17. package/build/devices/actions/create/currentMachineMethod.js +100 -0
  18. package/build/devices/actions/create/developerPortalMethod.js +2 -1
  19. package/build/devices/actions/create/inputMethod.d.ts +0 -1
  20. package/build/devices/actions/create/inputMethod.js +6 -64
  21. package/build/devices/actions/create/utils.d.ts +10 -0
  22. package/build/devices/actions/create/utils.js +73 -0
  23. package/build/devices/manager.js +3 -3
  24. package/build/devices/utils/errors.d.ts +3 -0
  25. package/build/devices/utils/errors.js +7 -1
  26. package/build/devices/utils/formatDevice.js +1 -0
  27. package/build/graphql/generated.d.ts +5 -4
  28. package/build/graphql/generated.js +1 -0
  29. package/build/graphql/types/credentials/AppleDevice.js +1 -0
  30. package/build/rollout/actions/CreateRollout.d.ts +2 -0
  31. package/build/rollout/actions/CreateRollout.js +79 -5
  32. package/build/rollout/actions/EditRollout.js +5 -2
  33. package/build/rollout/actions/EndRollout.d.ts +6 -3
  34. package/build/rollout/actions/EndRollout.js +22 -21
  35. package/build/rollout/actions/ManageRollout.d.ts +3 -3
  36. package/build/rollout/actions/ManageRollout.js +1 -1
  37. package/build/rollout/actions/NonInteractiveRollout.d.ts +6 -4
  38. package/build/rollout/actions/NonInteractiveRollout.js +1 -1
  39. package/build/rollout/actions/RolloutMainMenu.d.ts +4 -4
  40. package/build/rollout/actions/RolloutMainMenu.js +14 -5
  41. package/build/rollout/actions/SelectRuntime.d.ts +4 -7
  42. package/build/rollout/actions/SelectRuntime.js +22 -39
  43. package/build/rollout/branch-mapping.js +2 -2
  44. package/build/rollout/utils.d.ts +1 -1
  45. package/build/rollout/utils.js +5 -5
  46. package/build/update/republish.d.ts +3 -1
  47. package/build/update/republish.js +38 -15
  48. package/build/utils/relay.js +3 -9
  49. package/oclif.manifest.json +1 -1
  50. package/package.json +3 -3
  51. package/build/commands/channel/rollout-preview.d.ts +0 -32
  52. package/build/commands/channel/rollout-preview.js +0 -109
@@ -4,7 +4,7 @@ import { Rollout } from './branch-mapping';
4
4
  export declare function printRollout(channel: UpdateChannelObject): void;
5
5
  export declare function displayRolloutDetails(channelName: string, rollout: Rollout): void;
6
6
  export declare function formatBranchWithUpdateGroup(maybeUpdateGroup: UpdateFragment[] | undefined | null, branch: UpdateBranchObject, percentRolledOut: number): string;
7
- export declare function formatRuntimeWithUpdateGroup(maybeUpdateGroup: UpdateFragment[] | undefined | null, runtime: RuntimeFragment): string;
7
+ export declare function formatRuntimeWithUpdateGroup(maybeUpdateGroup: UpdateFragment[] | undefined | null, runtime: RuntimeFragment, branchName: string): string;
8
8
  export declare function promptForRolloutPercentAsync({ promptMessage, }: {
9
9
  promptMessage: string;
10
10
  }): Promise<number>;
@@ -20,7 +20,7 @@ function displayRolloutDetails(channelName, rollout) {
20
20
  log_1.default.log((0, formatFields_1.default)([
21
21
  { label: 'Channel', value: channelName },
22
22
  ...((0, branch_mapping_1.isConstrainedRollout)(rollout)
23
- ? [{ label: 'Runtime Version', value: rollout.runtimeVersion }]
23
+ ? [{ label: 'Runtime version', value: rollout.runtimeVersion }]
24
24
  : []),
25
25
  {
26
26
  label: 'Branches',
@@ -32,7 +32,7 @@ function displayRolloutDetails(channelName, rollout) {
32
32
  exports.displayRolloutDetails = displayRolloutDetails;
33
33
  function formatBranchWithUpdateGroup(maybeUpdateGroup, branch, percentRolledOut) {
34
34
  const lines = [];
35
- lines.push(chalk_1.default.bold(`🍽️ Served by branch ${chalk_1.default.bold(branch.name)} (${percentRolledOut}%)`));
35
+ lines.push(chalk_1.default.bold(`➡️ 📱 Latest update on the ${chalk_1.default.bold(branch.name)} branch (${percentRolledOut}%)`));
36
36
  if (!maybeUpdateGroup) {
37
37
  lines.push(`No updates for target runtime`);
38
38
  }
@@ -43,9 +43,9 @@ function formatBranchWithUpdateGroup(maybeUpdateGroup, branch, percentRolledOut)
43
43
  return lines.join('\n ');
44
44
  }
45
45
  exports.formatBranchWithUpdateGroup = formatBranchWithUpdateGroup;
46
- function formatRuntimeWithUpdateGroup(maybeUpdateGroup, runtime) {
46
+ function formatRuntimeWithUpdateGroup(maybeUpdateGroup, runtime, branchName) {
47
47
  const lines = [];
48
- lines.push(chalk_1.default.bold(`🍽️ Served by runtime ${chalk_1.default.bold(runtime.version)}:`));
48
+ lines.push(chalk_1.default.bold(`➡️ 📱 Latest update on the ${chalk_1.default.bold(branchName)} branch served to runtime ${chalk_1.default.bold(runtime.version)}:`));
49
49
  if (!maybeUpdateGroup) {
50
50
  lines.push(`No updates published for this runtime`);
51
51
  }
@@ -61,7 +61,7 @@ function formatUpdateGroup(updateGroup) {
61
61
  const lines = [];
62
62
  const formattedLines = (0, formatFields_1.default)([
63
63
  { label: 'Message', value: (_a = updateGroup.message) !== null && _a !== void 0 ? _a : 'N/A' },
64
- { label: 'Runtime Version', value: (_b = updateGroup.runtimeVersion) !== null && _b !== void 0 ? _b : 'N/A' },
64
+ { label: 'Runtime version', value: (_b = updateGroup.runtimeVersion) !== null && _b !== void 0 ? _b : 'N/A' },
65
65
  { label: 'Platforms', value: (_c = updateGroup.platforms) !== null && _c !== void 0 ? _c : 'N/A' },
66
66
  { label: 'Group ID', value: (_d = updateGroup.group) !== null && _d !== void 0 ? _d : 'N/A' },
67
67
  ]).split('\n');
@@ -1,6 +1,7 @@
1
1
  import { ExpoConfig } from '@expo/config';
2
2
  import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient';
3
3
  import { Update } from '../graphql/generated';
4
+ import { CodeSigningInfo } from '../utils/code-signing';
4
5
  export type UpdateToRepublish = {
5
6
  groupId: string;
6
7
  branchId: string;
@@ -10,7 +11,7 @@ export type UpdateToRepublish = {
10
11
  * @param updatesToPublish The update group to republish
11
12
  * @param targetBranch The branch to repubish the update group on
12
13
  */
13
- export declare function republishAsync({ graphqlClient, app, updatesToPublish, targetBranch, updateMessage, json, }: {
14
+ export declare function republishAsync({ graphqlClient, app, updatesToPublish, targetBranch, updateMessage, codeSigningInfo, json, }: {
14
15
  graphqlClient: ExpoGraphqlClient;
15
16
  app: {
16
17
  exp: ExpoConfig;
@@ -22,5 +23,6 @@ export declare function republishAsync({ graphqlClient, app, updatesToPublish, t
22
23
  branchId: string;
23
24
  };
24
25
  updateMessage: string;
26
+ codeSigningInfo?: CodeSigningInfo;
25
27
  json?: boolean;
26
28
  }): Promise<void>;
@@ -3,18 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.republishAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const assert_1 = tslib_1.__importDefault(require("assert"));
6
+ const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
6
7
  const url_1 = require("../build/utils/url");
8
+ const fetch_1 = tslib_1.__importDefault(require("../fetch"));
7
9
  const PublishMutation_1 = require("../graphql/mutations/PublishMutation");
8
10
  const log_1 = tslib_1.__importStar(require("../log"));
9
11
  const ora_1 = require("../ora");
10
12
  const projectUtils_1 = require("../project/projectUtils");
13
+ const code_signing_1 = require("../utils/code-signing");
11
14
  const formatFields_1 = tslib_1.__importDefault(require("../utils/formatFields"));
12
15
  const json_1 = require("../utils/json");
13
16
  /**
14
17
  * @param updatesToPublish The update group to republish
15
18
  * @param targetBranch The branch to repubish the update group on
16
19
  */
17
- async function republishAsync({ graphqlClient, app, updatesToPublish, targetBranch, updateMessage, json, }) {
20
+ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBranch, updateMessage, codeSigningInfo, json, }) {
18
21
  const { branchName: targetBranchName, branchId: targetBranchId } = targetBranch;
19
22
  // The update group properties are the same for all updates
20
23
  (0, assert_1.default)(updatesToPublish.length > 0, 'Updates to republish must be provided');
@@ -25,37 +28,57 @@ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBran
25
28
  update.runtimeVersion === arbitraryUpdate.runtimeVersion;
26
29
  (0, assert_1.default)(updatesToPublish.every(isSameGroup), 'All updates must belong to the same update group');
27
30
  const { runtimeVersion } = arbitraryUpdate;
28
- // If codesigning was created for the original update, we need to add it to the republish
31
+ // If codesigning was created for the original update, we need to add it to the republish.
32
+ // If one wishes to not sign the republish or sign with a different key, a normal publish should
33
+ // be performed.
29
34
  const shouldRepublishWithCodesigning = updatesToPublish.some(update => update.codeSigningInfo);
30
35
  if (shouldRepublishWithCodesigning) {
31
- log_1.default.withTick(`The republished update will be signed with the same codesigning as the original update.`);
36
+ if (!codeSigningInfo) {
37
+ throw new Error('Must specify --private-key-path argument to sign republished update group for code signing');
38
+ }
39
+ for (const update of updatesToPublish) {
40
+ if ((0, nullthrows_1.default)(update.codeSigningInfo).alg !== codeSigningInfo.codeSigningMetadata.alg ||
41
+ (0, nullthrows_1.default)(update.codeSigningInfo).keyid !== codeSigningInfo.codeSigningMetadata.keyid) {
42
+ throw new Error('Republished updates must use the same code signing key and algorithm as original update');
43
+ }
44
+ }
45
+ log_1.default.withTick(`The republished update group will be signed`);
32
46
  }
33
47
  const publishIndicator = (0, ora_1.ora)('Republishing...').start();
34
48
  let updatesRepublished;
35
49
  try {
50
+ const updateInfoGroup = Object.fromEntries(updatesToPublish.map(update => [update.platform, JSON.parse(update.manifestFragment)]));
36
51
  updatesRepublished = await PublishMutation_1.PublishMutation.publishUpdateGroupAsync(graphqlClient, [
37
52
  {
38
53
  branchId: targetBranchId,
39
54
  runtimeVersion,
40
55
  message: updateMessage,
41
- updateInfoGroup: Object.fromEntries(updatesToPublish.map(update => [update.platform, JSON.parse(update.manifestFragment)])),
56
+ updateInfoGroup,
42
57
  gitCommitHash: updatesToPublish[0].gitCommitHash,
43
- awaitingCodeSigningInfo: shouldRepublishWithCodesigning,
58
+ awaitingCodeSigningInfo: !!codeSigningInfo,
44
59
  },
45
60
  ]);
46
- if (shouldRepublishWithCodesigning) {
47
- const codeSigningByPlatform = Object.fromEntries(updatesToPublish.map(update => [update.platform, update.codeSigningInfo]));
48
- await Promise.all(updatesRepublished.map(async (update) => {
49
- const codeSigning = codeSigningByPlatform[update.platform];
50
- if (codeSigning) {
51
- await PublishMutation_1.PublishMutation.setCodeSigningInfoAsync(graphqlClient, update.id, codeSigning);
52
- }
61
+ if (codeSigningInfo) {
62
+ log_1.default.log('🔒 Signing republished update group');
63
+ await Promise.all(updatesRepublished.map(async (newUpdate) => {
64
+ const response = await (0, fetch_1.default)(newUpdate.manifestPermalink, {
65
+ method: 'GET',
66
+ headers: { accept: 'multipart/mixed' },
67
+ });
68
+ const manifestBody = (0, nullthrows_1.default)(await (0, code_signing_1.getManifestBodyAsync)(response));
69
+ (0, code_signing_1.checkManifestBodyAgainstUpdateInfoGroup)(manifestBody, (0, nullthrows_1.default)((0, nullthrows_1.default)(updateInfoGroup)[newUpdate.platform]));
70
+ const manifestSignature = (0, code_signing_1.signBody)(manifestBody, codeSigningInfo);
71
+ await PublishMutation_1.PublishMutation.setCodeSigningInfoAsync(graphqlClient, newUpdate.id, {
72
+ alg: codeSigningInfo.codeSigningMetadata.alg,
73
+ keyid: codeSigningInfo.codeSigningMetadata.keyid,
74
+ sig: manifestSignature,
75
+ });
53
76
  }));
54
77
  }
55
- publishIndicator.succeed('Republished update');
78
+ publishIndicator.succeed('Republished update group');
56
79
  }
57
80
  catch (error) {
58
- publishIndicator.fail('Failed to republish update');
81
+ publishIndicator.fail('Failed to republish update group');
59
82
  throw error;
60
83
  }
61
84
  if (json) {
@@ -69,7 +92,7 @@ async function republishAsync({ graphqlClient, app, updatesToPublish, targetBran
69
92
  { label: 'Branch', value: targetBranchName },
70
93
  { label: 'Runtime version', value: arbitraryRepublishedUpdate.runtimeVersion },
71
94
  { label: 'Platform', value: updatesRepublished.map(update => update.platform).join(', ') },
72
- { label: 'Update Group ID', value: arbitraryRepublishedUpdate.group },
95
+ { label: 'Update group ID', value: arbitraryRepublishedUpdate.group },
73
96
  ...(updatesRepublishedByPlatform.android
74
97
  ? [{ label: 'Android update ID', value: updatesRepublishedByPlatform.android.id }]
75
98
  : []),
@@ -137,15 +137,6 @@ class FilterPagination {
137
137
  }
138
138
  exports.FilterPagination = FilterPagination;
139
139
  async function selectPaginatedAsync({ queryAsync, getTitleAsync, printedType, pageSize, }) {
140
- // Dont bother prompting if there are 0 or 1 items
141
- const connectionPreflight = await queryAsync({ first: pageSize });
142
- const { edges } = connectionPreflight;
143
- if (edges.length === 0) {
144
- return null;
145
- }
146
- else if (edges.length === 1) {
147
- return edges[0].node;
148
- }
149
140
  return await selectPaginatedInternalAsync({
150
141
  queryAsync,
151
142
  getTitleAsync,
@@ -168,6 +159,9 @@ async function selectPaginatedInternalAsync({ queryAsync, getTitleAsync, printed
168
159
  (0, assert_1.default)(limit, 'queryParams must have either first or last');
169
160
  const connection = await queryAsync(queryParams);
170
161
  const { edges, pageInfo } = connection;
162
+ if (edges.length === 0) {
163
+ return null;
164
+ }
171
165
  /*
172
166
  * The Relay spec has a weird definition on hasNextPage and hasPreviousPage:
173
167
  * 'If the client is paginating with last/before, then the server must return true if prior edges
@@ -1 +1 @@
1
- {"version":"3.18.2","commands":{"analytics":{"id":"analytics","description":"display or change analytics settings","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"display project configuration (app.json + eas.json)","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"eas-json-only":{"name":"eas-json-only","type":"boolean","hidden":true,"allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}},"credentials":{"id":"credentials","description":"manage credentials","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"analytics":{}}},"diagnostics":{"id":"diagnostics","description":"display environment info","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectDir":{}}},"open":{"id":"open","description":"open the project page in a web browser","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"submit":{"id":"submit","description":"submit app binary to App Store and/or Play Store","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"id":{"name":"id","type":"option","description":"ID of the build to submit","multiple":false,"exclusive":["latest, path, url"]},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file","multiple":false,"exclusive":["latest","id","url"]},"url":{"name":"url","type":"option","description":"App archive url","multiple":false,"exclusive":["latest","id","path"]},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from EAS Submit","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"projectDir":{},"analytics":{}}},"account:login":{"id":"account:login","description":"log in with your Expo account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["login"],"flags":{"sso":{"name":"sso","type":"boolean","char":"s","description":"Login with SSO","hidden":true,"allowNo":false}},"args":[],"contextDefinition":{"sessionManager":{}}},"account:logout":{"id":"account:logout","description":"log out","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:view":{"id":"account:view","description":"show the username you are logged in as","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[],"contextDefinition":{"maybeLoggedIn":{}}},"branch:create":{"id":"branch:create","description":"create a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:delete":{"id":"branch:delete","description":"delete a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:list":{"id":"branch:list","description":"list all branches","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:publish":{"id":"branch:publish","description":"deprecated, use \"eas update\"","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[]},"branch:rename":{"id":"branch:rename","description":"rename a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false,"multiple":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:view":{"id":"branch:view","description":"view a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build:cancel":{"id":"build:cancel","description":"cancel a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build:configure":{"id":"build:configure","description":"configure the project to support EAS Build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build":{"id":"build","description":"start a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","hidden":true,"allowNo":false},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"output":{"name":"output","type":"option","description":"Output path for local build","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false,"exclusive":["auto-submit-with-profile"]},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME","multiple":false,"exclusive":["auto-submit"]},"resource-class":{"name":"resource-class","type":"option","description":"The instance type that will be used to run this build [experimental]","hidden":true,"helpValue":"(default|large|m1-experimental|m1-medium|m1-large|intel-medium|medium|m-medium|m-large)","multiple":false,"options":["default","large","m1-experimental","m1-medium","m1-large","intel-medium","medium","m-medium","m-large"],"deprecated":{"message":"The --resource-class flag has been deprecated. Define the resource class in eas.json.\nLearn more: https://docs.expo.dev/build-reference/eas-json/"}},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the build","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:inspect":{"id":"build:inspect","description":"inspect the state of the project at specific build stages, useful for troubleshooting","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"stage":{"name":"stage","type":"option","char":"s","description":"Stage of the build you want to inspect.\n archive - builds the project archive that would be uploaded to EAS when building\n pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.\n post-build - builds the native project and leaves the output directory for inspection","required":true,"helpValue":"(archive|pre-build|post-build)","multiple":false,"options":["archive","pre-build","post-build"]},"output":{"name":"output","type":"option","char":"o","description":"Output directory.","required":true,"helpValue":"OUTPUT_DIRECTORY","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete OUTPUT_DIRECTORY if it already exists.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:internal":{"id":"build:internal","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:list":{"id":"build:list","description":"list all builds for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","multiple":false,"options":["all","android","ios"]},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|pending-cancel|errored|finished|canceled)","multiple":false,"options":["new","in-queue","in-progress","pending-cancel","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","multiple":false,"options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option","multiple":false},"appVersion":{"name":"appVersion","type":"option","multiple":false},"appBuildVersion":{"name":"appBuildVersion","type":"option","multiple":false},"sdkVersion":{"name":"sdkVersion","type":"option","multiple":false},"runtimeVersion":{"name":"runtimeVersion","type":"option","multiple":false},"appIdentifier":{"name":"appIdentifier","type":"option","multiple":false},"buildProfile":{"name":"buildProfile","type":"option","multiple":false},"gitCommitHash":{"name":"gitCommitHash","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build:resign":{"id":"build:resign","description":"re-sign a build archive","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete.","allowNo":true},"id":{"name":"id","type":"option","description":"ID of the build to re-sign.","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:run":{"id":"build:run","description":"run simulator/emulator builds from eas-cli","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"latest":{"name":"latest","type":"boolean","description":"Run the latest simulator/emulator build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"url":{"name":"url","type":"option","description":"Simulator/Emulator build archive url","multiple":false,"exclusive":["latest","id","path"]},"path":{"name":"path","type":"option","description":"Path to the simulator/emulator build archive or app","multiple":false,"exclusive":["latest","id","url"]},"id":{"name":"id","type":"option","description":"ID of the simulator/emulator build to run","multiple":false,"exclusive":["latest, path, url"]},"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"projectDir":{}}},"build:view":{"id":"build:view","description":"view a build for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:create":{"id":"channel:create","description":"create a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:delete":{"id":"channel:delete","description":"Delete a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to delete","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:edit":{"id":"channel:edit","description":"point a channel at a new branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:list":{"id":"channel:list","description":"list all channels","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 25.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:rollout-preview":{"id":"channel:rollout-preview","description":"Roll a new branch out on a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"action":{"name":"action","type":"option","description":"Rollout action to perform","required":false,"helpValue":"(create|edit|end)","multiple":false,"options":["create","edit","end"]},"percent":{"name":"percent","type":"option","description":"Percent of users to send to the new branch. Use with --action=edit or --action=create","required":false,"multiple":false},"outcome":{"name":"outcome","type":"option","description":"End outcome of rollout. Use with --action=end","required":false,"helpValue":"(republish-and-route-back|route-back)","multiple":false,"options":["republish-and-route-back","route-back"]},"branch":{"name":"branch","type":"option","description":"Branch to rollout. Use with --action=create","required":false,"multiple":false},"runtime-version":{"name":"runtime-version","type":"option","description":"Runtime version to target. Use with --action=create","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"channel on which the rollout should be done"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:rollout":{"id":"channel:rollout","description":"Roll a new branch out on a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false,"multiple":false},"percent":{"name":"percent","type":"option","description":"percent of users to send to the new branch","required":false,"multiple":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"channel on which the rollout should be done"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:view":{"id":"channel:view","description":"view a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:delete":{"id":"device:delete","description":"remove a registered device from your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to disable","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:list":{"id":"device:list","description":"list all registered devices for your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:rename":{"id":"device:rename","description":"rename a registered device","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to rename","multiple":false},"name":{"name":"name","type":"option","description":"The new name for the device","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:view":{"id":"device:view","description":"view a device for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"metadata:lint":{"id":"metadata:lint","description":"validate the local store configuration","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectDir":{}}},"metadata:pull":{"id":"metadata:pull","description":"generate the local store configuration from the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"analytics":{}}},"metadata:push":{"id":"metadata:push","description":"sync the local store configuration to the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"analytics":{}}},"project:info":{"id":"project:info","description":"information about the current project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"project:init":{"id":"project:init","description":"create or link an EAS project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["init"],"flags":{"id":{"name":"id","type":"option","description":"ID of the EAS project to link","multiple":false},"force":{"name":"force","type":"boolean","description":"Whether to overwrite any existing project ID","allowNo":false,"dependsOn":["id"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false,"dependsOn":["id"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectDir":{}}},"secret:create":{"id":"secret:create","description":"create an environment secret on the current project or owner account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret","multiple":false},"value":{"name":"value","type":"option","description":"Text value or path to a file to store in the secret","multiple":false},"type":{"name":"type","type":"option","description":"The type of secret","helpValue":"(string|file)","multiple":false,"options":["string","file"]},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"secret:delete":{"id":"secret:delete","description":"delete an environment secret by ID","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"secret:list":{"id":"secret:list","description":"list environment secrets available for your current app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"secret:push":{"id":"secret:push","description":"read environment secrets from env file and store on the server","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secrets","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"env-file":{"name":"env-file","type":"option","description":"Env file with secrets","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:configure":{"id":"update:configure","description":"configure the project to support EAS Update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:delete":{"id":"update:delete","description":"delete all the updates in an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}],"contextDefinition":{"loggedIn":{}}},"update":{"id":"update","description":"publish an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the update group on","required":false,"multiple":false},"channel":{"name":"channel","type":"option","description":"Channel that the published update should affect","required":false,"multiple":false},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the update","required":false,"multiple":false},"republish":{"name":"republish","type":"boolean","description":"Republish an update group (deprecated, see republish command)","allowNo":false,"exclusive":["input-dir","skip-bundler"]},"group":{"name":"group","type":"option","description":"Update group to republish (deprecated, see republish command)","multiple":false,"exclusive":["input-dir","skip-bundler"]},"input-dir":{"name":"input-dir","type":"option","description":"Location of the bundle","required":false,"multiple":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"Skip running Expo CLI to bundle the app before publishing","allowNo":false},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear the bundler cache before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"loggedIn":{}}},"update:list":{"id":"update:list","description":"view the recent updates","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"List updates only on this branch","multiple":false,"exclusive":["all"]},"all":{"name":"all","type":"boolean","description":"List updates on all branches","allowNo":false,"exclusive":["branch"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:republish":{"id":"update:republish","description":"roll back to an existing update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"channel":{"name":"channel","type":"option","description":"Channel name to select an update to republish from","multiple":false,"exclusive":["branch","group"]},"branch":{"name":"branch","type":"option","description":"Branch name to select an update to republish from","multiple":false,"exclusive":["channel","group"]},"group":{"name":"group","type":"option","description":"Update group ID to republish","multiple":false,"exclusive":["branch","channel"]},"message":{"name":"message","type":"option","char":"m","description":"Short message describing the republished update","required":false,"multiple":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:roll-back-to-embedded":{"id":"update:roll-back-to-embedded","description":"roll back to the embedded update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the rollback to embedded update group on","required":false,"multiple":false},"channel":{"name":"channel","type":"option","description":"Channel that the published rollback to embedded update should affect","required":false,"multiple":false},"message":{"name":"message","type":"option","description":"A short message describing the rollback to embedded update","required":false,"multiple":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"loggedIn":{}}},"update:view":{"id":"update:view","description":"update group details","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}],"contextDefinition":{"loggedIn":{}}},"webhook:create":{"id":"webhook:create","description":"create a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"webhook:delete":{"id":"webhook:delete","description":"delete a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"webhook:list":{"id":"webhook:list","description":"list webhooks","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"webhook:update":{"id":"webhook:update","description":"update a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true,"multiple":false},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{}}},"webhook:view":{"id":"webhook:view","description":"view a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}],"contextDefinition":{"loggedIn":{}}},"build:version:get":{"id":"build:version:get","description":"get the latest version from EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}},"build:version:set":{"id":"build:version:set","description":"update version of an app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}},"build:version:sync":{"id":"build:version:sync","description":"update a version in native code with a value stored on EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}}}}
1
+ {"version":"4.0.0","commands":{"analytics":{"id":"analytics","description":"display or change analytics settings","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"display project configuration (app.json + eas.json)","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"eas-json-only":{"name":"eas-json-only","type":"boolean","hidden":true,"allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}},"credentials":{"id":"credentials","description":"manage credentials","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"analytics":{}}},"diagnostics":{"id":"diagnostics","description":"display environment info","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectDir":{}}},"open":{"id":"open","description":"open the project page in a web browser","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"submit":{"id":"submit","description":"submit app binary to App Store and/or Play Store","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"id":{"name":"id","type":"option","description":"ID of the build to submit","multiple":false,"exclusive":["latest, path, url"]},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file","multiple":false,"exclusive":["latest","id","url"]},"url":{"name":"url","type":"option","description":"App archive url","multiple":false,"exclusive":["latest","id","path"]},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from EAS Submit","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"projectDir":{},"analytics":{}}},"account:login":{"id":"account:login","description":"log in with your Expo account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["login"],"flags":{"sso":{"name":"sso","type":"boolean","char":"s","description":"Login with SSO","hidden":true,"allowNo":false}},"args":[],"contextDefinition":{"sessionManager":{}}},"account:logout":{"id":"account:logout","description":"log out","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:view":{"id":"account:view","description":"show the username you are logged in as","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[],"contextDefinition":{"maybeLoggedIn":{}}},"branch:create":{"id":"branch:create","description":"create a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:delete":{"id":"branch:delete","description":"delete a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:list":{"id":"branch:list","description":"list all branches","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:publish":{"id":"branch:publish","description":"deprecated, use \"eas update\"","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[]},"branch:rename":{"id":"branch:rename","description":"rename a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false,"multiple":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"branch:view":{"id":"branch:view","description":"view a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build:cancel":{"id":"build:cancel","description":"cancel a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build:configure":{"id":"build:configure","description":"configure the project to support EAS Build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build":{"id":"build","description":"start a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","hidden":true,"allowNo":false},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"output":{"name":"output","type":"option","description":"Output path for local build","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false,"exclusive":["auto-submit-with-profile"]},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME","multiple":false,"exclusive":["auto-submit"]},"resource-class":{"name":"resource-class","type":"option","description":"The instance type that will be used to run this build [experimental]","hidden":true,"helpValue":"(default|large|m1-experimental|m1-medium|m1-large|intel-medium|medium|m-medium|m-large)","multiple":false,"options":["default","large","m1-experimental","m1-medium","m1-large","intel-medium","medium","m-medium","m-large"],"deprecated":{"message":"The --resource-class flag has been deprecated. Define the resource class in eas.json.\nLearn more: https://docs.expo.dev/build-reference/eas-json/"}},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the build","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:inspect":{"id":"build:inspect","description":"inspect the state of the project at specific build stages, useful for troubleshooting","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"stage":{"name":"stage","type":"option","char":"s","description":"Stage of the build you want to inspect.\n archive - builds the project archive that would be uploaded to EAS when building\n pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.\n post-build - builds the native project and leaves the output directory for inspection","required":true,"helpValue":"(archive|pre-build|post-build)","multiple":false,"options":["archive","pre-build","post-build"]},"output":{"name":"output","type":"option","char":"o","description":"Output directory.","required":true,"helpValue":"OUTPUT_DIRECTORY","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete OUTPUT_DIRECTORY if it already exists.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:internal":{"id":"build:internal","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:list":{"id":"build:list","description":"list all builds for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","multiple":false,"options":["all","android","ios"]},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|pending-cancel|errored|finished|canceled)","multiple":false,"options":["new","in-queue","in-progress","pending-cancel","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","multiple":false,"options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option","multiple":false},"appVersion":{"name":"appVersion","type":"option","multiple":false},"appBuildVersion":{"name":"appBuildVersion","type":"option","multiple":false},"sdkVersion":{"name":"sdkVersion","type":"option","multiple":false},"runtimeVersion":{"name":"runtimeVersion","type":"option","multiple":false},"appIdentifier":{"name":"appIdentifier","type":"option","multiple":false},"buildProfile":{"name":"buildProfile","type":"option","multiple":false},"gitCommitHash":{"name":"gitCommitHash","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"build:resign":{"id":"build:resign","description":"re-sign a build archive","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete.","allowNo":true},"id":{"name":"id","type":"option","description":"ID of the build to re-sign.","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{},"analytics":{}}},"build:run":{"id":"build:run","description":"run simulator/emulator builds from eas-cli","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"latest":{"name":"latest","type":"boolean","description":"Run the latest simulator/emulator build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"url":{"name":"url","type":"option","description":"Simulator/Emulator build archive url","multiple":false,"exclusive":["latest","id","path"]},"path":{"name":"path","type":"option","description":"Path to the simulator/emulator build archive or app","multiple":false,"exclusive":["latest","id","url"]},"id":{"name":"id","type":"option","description":"ID of the simulator/emulator build to run","multiple":false,"exclusive":["latest, path, url"]},"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"projectDir":{}}},"build:view":{"id":"build:view","description":"view a build for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:create":{"id":"channel:create","description":"create a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:delete":{"id":"channel:delete","description":"Delete a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to delete","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:edit":{"id":"channel:edit","description":"point a channel at a new branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:list":{"id":"channel:list","description":"list all channels","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 25.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:rollout":{"id":"channel:rollout","description":"Roll a new branch out on a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"action":{"name":"action","type":"option","description":"Rollout action to perform","required":false,"helpValue":"(create|edit|end)","multiple":false,"options":["create","edit","end"],"relationships":[{"type":"all","flags":[{"name":"percent"},{"name":"outcome"},{"name":"branch"},{"name":"runtime-version"}]}]},"percent":{"name":"percent","type":"option","description":"Percent of users to send to the new branch. Use with --action=edit or --action=create","required":false,"multiple":false},"outcome":{"name":"outcome","type":"option","description":"End outcome of rollout. Use with --action=end","required":false,"helpValue":"(republish-and-revert|revert)","multiple":false,"options":["republish-and-revert","revert"]},"branch":{"name":"branch","type":"option","description":"Branch to roll out. Use with --action=create","required":false,"multiple":false},"runtime-version":{"name":"runtime-version","type":"option","description":"Runtime version to target. Use with --action=create","required":false,"multiple":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"channel on which the rollout should be done"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"channel:view":{"id":"channel:view","description":"view a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:delete":{"id":"device:delete","description":"remove a registered device from your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to disable","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:list":{"id":"device:list","description":"list all registered devices for your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:rename":{"id":"device:rename","description":"rename a registered device","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to rename","multiple":false},"name":{"name":"name","type":"option","description":"The new name for the device","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"device:view":{"id":"device:view","description":"view a device for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"metadata:lint":{"id":"metadata:lint","description":"validate the local store configuration","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectDir":{}}},"metadata:pull":{"id":"metadata:pull","description":"generate the local store configuration from the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"analytics":{}}},"metadata:push":{"id":"metadata:push","description":"sync the local store configuration to the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{},"analytics":{}}},"project:info":{"id":"project:info","description":"information about the current project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"project:init":{"id":"project:init","description":"create or link an EAS project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["init"],"flags":{"id":{"name":"id","type":"option","description":"ID of the EAS project to link","multiple":false},"force":{"name":"force","type":"boolean","description":"Whether to overwrite any existing project ID","allowNo":false,"dependsOn":["id"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false,"dependsOn":["id"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectDir":{}}},"secret:create":{"id":"secret:create","description":"create an environment secret on the current project or owner account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret","multiple":false},"value":{"name":"value","type":"option","description":"Text value or path to a file to store in the secret","multiple":false},"type":{"name":"type","type":"option","description":"The type of secret","helpValue":"(string|file)","multiple":false,"options":["string","file"]},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"secret:delete":{"id":"secret:delete","description":"delete an environment secret by ID","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"secret:list":{"id":"secret:list","description":"list environment secrets available for your current app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"secret:push":{"id":"secret:push","description":"read environment secrets from env file and store on the server","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secrets","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"env-file":{"name":"env-file","type":"option","description":"Env file with secrets","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:configure":{"id":"update:configure","description":"configure the project to support EAS Update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:delete":{"id":"update:delete","description":"delete all the updates in an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}],"contextDefinition":{"loggedIn":{}}},"update":{"id":"update","description":"publish an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the update group on","required":false,"multiple":false},"channel":{"name":"channel","type":"option","description":"Channel that the published update should affect","required":false,"multiple":false},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the update","required":false,"multiple":false},"republish":{"name":"republish","type":"boolean","description":"Republish an update group (deprecated, see republish command)","allowNo":false,"exclusive":["input-dir","skip-bundler"]},"group":{"name":"group","type":"option","description":"Update group to republish (deprecated, see republish command)","multiple":false,"exclusive":["input-dir","skip-bundler"]},"input-dir":{"name":"input-dir","type":"option","description":"Location of the bundle","required":false,"multiple":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"Skip running Expo CLI to bundle the app before publishing","allowNo":false},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear the bundler cache before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"loggedIn":{}}},"update:list":{"id":"update:list","description":"view the recent updates","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"List updates only on this branch","multiple":false,"exclusive":["all"]},"all":{"name":"all","type":"boolean","description":"List updates on all branches","allowNo":false,"exclusive":["branch"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:republish":{"id":"update:republish","description":"roll back to an existing update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"channel":{"name":"channel","type":"option","description":"Channel name to select an update group to republish from","multiple":false,"exclusive":["branch","group"]},"branch":{"name":"branch","type":"option","description":"Branch name to select an update group to republish from","multiple":false,"exclusive":["channel","group"]},"group":{"name":"group","type":"option","description":"Update group ID to republish","multiple":false,"exclusive":["branch","channel"]},"message":{"name":"message","type":"option","char":"m","description":"Short message describing the republished update group","required":false,"multiple":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"update:roll-back-to-embedded":{"id":"update:roll-back-to-embedded","description":"roll back to the embedded update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the rollback to embedded update group on","required":false,"multiple":false},"channel":{"name":"channel","type":"option","description":"Channel that the published rollback to embedded update should affect","required":false,"multiple":false},"message":{"name":"message","type":"option","description":"A short message describing the rollback to embedded update","required":false,"multiple":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named \"private-key.pem\" in the certificate's directory.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"loggedIn":{}}},"update:view":{"id":"update:view","description":"update group details","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}],"contextDefinition":{"loggedIn":{}}},"webhook:create":{"id":"webhook:create","description":"create a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"webhook:delete":{"id":"webhook:delete","description":"delete a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"webhook:list":{"id":"webhook:list","description":"list webhooks","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"privateProjectConfig":{}}},"webhook:update":{"id":"webhook:update","description":"update a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true,"multiple":false},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{}}},"webhook:view":{"id":"webhook:view","description":"view a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}],"contextDefinition":{"loggedIn":{}}},"build:version:get":{"id":"build:version:get","description":"get the latest version from EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}},"build:version:set":{"id":"build:version:set","description":"update version of an app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}},"build:version:sync":{"id":"build:version:sync","description":"update a version in native code with a value stored on EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicPublicProjectConfigAsync":{},"getDynamicPrivateProjectConfigAsync":{},"projectDir":{}}}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eas-cli",
3
3
  "description": "EAS command line tool",
4
- "version": "3.18.2",
4
+ "version": "4.0.0",
5
5
  "author": "Expo <support@expo.dev>",
6
6
  "bin": {
7
7
  "eas": "./bin/run"
@@ -14,7 +14,7 @@
14
14
  "@expo/config-plugins": "7.2.4",
15
15
  "@expo/config-types": "49.0.0",
16
16
  "@expo/eas-build-job": "1.0.30",
17
- "@expo/eas-json": "3.18.0",
17
+ "@expo/eas-json": "4.0.0",
18
18
  "@expo/json-file": "8.2.37",
19
19
  "@expo/multipart-body-parser": "1.1.0",
20
20
  "@expo/osascript": "2.0.33",
@@ -219,5 +219,5 @@
219
219
  "node": "18.6.0",
220
220
  "yarn": "1.22.19"
221
221
  },
222
- "gitHead": "601101844ce7e1a9a572aa81b8ae30459a453c80"
222
+ "gitHead": "7f7f1c6a9afe1857bf00566f0ae83aff531f924a"
223
223
  }