eas-cli 0.33.1 → 0.34.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 (90) hide show
  1. package/README.md +26 -26
  2. package/build/analytics.js +3 -9
  3. package/build/build/android/configure.js +2 -2
  4. package/build/build/android/graphql.js +2 -4
  5. package/build/build/android/prepareJob.js +4 -3
  6. package/build/build/build.js +2 -2
  7. package/build/build/configure.js +14 -7
  8. package/build/build/ios/UpdatesModule.js +2 -2
  9. package/build/build/ios/graphql.js +2 -23
  10. package/build/build/ios/prepareJob.js +4 -6
  11. package/build/build/metadata.js +5 -10
  12. package/build/build/utils/devClient.js +2 -2
  13. package/build/build/utils/repository.js +10 -7
  14. package/build/build/validate.js +4 -4
  15. package/build/commandUtils/EasCommand.d.ts +1 -0
  16. package/build/commandUtils/EasCommand.js +21 -0
  17. package/build/commands/branch/create.js +3 -2
  18. package/build/commands/branch/delete.js +1 -1
  19. package/build/commands/branch/list.js +1 -1
  20. package/build/commands/branch/publish.js +6 -5
  21. package/build/commands/branch/view.js +1 -1
  22. package/build/commands/build/index.js +35 -25
  23. package/build/commands/channel/edit.js +1 -1
  24. package/build/commands/channel/list.js +1 -1
  25. package/build/commands/channel/view.js +1 -1
  26. package/build/commands/diagnostics.js +2 -2
  27. package/build/commands/project/info.js +1 -1
  28. package/build/commands/update/view.js +1 -1
  29. package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +2 -0
  30. package/build/credentials/credentialsJson/update.js +5 -4
  31. package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
  32. package/build/credentials/ios/actions/CreatePushKey.js +1 -1
  33. package/build/credentials/ios/actions/DistributionCertificateUtils.d.ts +1 -1
  34. package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -7
  35. package/build/credentials/ios/actions/PushKeyUtils.d.ts +1 -1
  36. package/build/credentials/ios/actions/PushKeyUtils.js +5 -5
  37. package/build/credentials/ios/api/graphql/queries/AppQuery.js +3 -1
  38. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +6 -2
  39. package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +7 -1
  40. package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +5 -1
  41. package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +2 -0
  42. package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +5 -1
  43. package/build/credentials/manager/Actions.d.ts +47 -0
  44. package/build/credentials/manager/Actions.js +48 -0
  45. package/build/credentials/manager/AndroidActions.d.ts +6 -0
  46. package/build/credentials/manager/AndroidActions.js +114 -0
  47. package/build/credentials/manager/IosActions.d.ts +6 -0
  48. package/build/credentials/manager/IosActions.js +110 -0
  49. package/build/credentials/manager/ManageAndroid.d.ts +1 -29
  50. package/build/credentials/manager/ManageAndroid.js +26 -159
  51. package/build/credentials/manager/ManageIos.d.ts +1 -29
  52. package/build/credentials/manager/ManageIos.js +28 -155
  53. package/build/graphql/client.d.ts +8 -2
  54. package/build/graphql/generated.d.ts +85 -8
  55. package/build/graphql/generated.js +23 -1
  56. package/build/graphql/queries/BuildQuery.js +4 -1
  57. package/build/graphql/queries/EnvironmentSecretsQuery.js +4 -2
  58. package/build/graphql/queries/ProjectQuery.js +3 -1
  59. package/build/graphql/queries/PublishQuery.js +4 -1
  60. package/build/graphql/queries/SubmissionQuery.js +5 -2
  61. package/build/graphql/queries/UserQuery.js +4 -1
  62. package/build/graphql/queries/WebhookQuery.js +6 -2
  63. package/build/log.d.ts +0 -2
  64. package/build/log.js +2 -12
  65. package/build/project/projectUtils.js +1 -1
  66. package/build/project/publish.js +2 -2
  67. package/build/project/workflow.js +2 -2
  68. package/build/submit/ios/IosSubmitter.js +1 -1
  69. package/build/user/User.js +1 -0
  70. package/build/utils/easCli.d.ts +1 -0
  71. package/build/utils/easCli.js +5 -0
  72. package/build/utils/{expoCommand.d.ts → expoCli.d.ts} +0 -0
  73. package/build/utils/{expoCommand.js → expoCli.js} +0 -0
  74. package/build/utils/profiles.js +9 -2
  75. package/build/vcs/clients/git.d.ts +26 -0
  76. package/build/vcs/clients/git.js +184 -0
  77. package/build/vcs/clients/gitNoCommit.d.ts +7 -0
  78. package/build/vcs/clients/gitNoCommit.js +27 -0
  79. package/build/vcs/clients/noVcs.d.ts +6 -0
  80. package/build/vcs/clients/noVcs.js +19 -0
  81. package/build/vcs/git.d.ts +10 -17
  82. package/build/vcs/git.js +7 -175
  83. package/build/vcs/index.d.ts +2 -2
  84. package/build/vcs/index.js +15 -6
  85. package/build/vcs/local.d.ts +18 -5
  86. package/build/vcs/local.js +61 -32
  87. package/build/vcs/vcs.d.ts +2 -1
  88. package/build/vcs/vcs.js +8 -4
  89. package/oclif.manifest.json +1 -1
  90. package/package.json +4 -4
package/build/vcs/git.js CHANGED
@@ -1,141 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gitDiffAsync = exports.getGitDiffOutputAsync = exports.gitStatusAsync = exports.doesGitRepoExistAsync = exports.isGitInstalledAsync = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const spawn_async_1 = (0, tslib_1.__importDefault)(require("@expo/spawn-async"));
5
- const log_1 = (0, tslib_1.__importStar)(require("../log"));
6
- const prompts_1 = require("../prompts");
7
- const vcs_1 = require("./vcs");
8
- class GitClient extends vcs_1.Client {
9
- async ensureRepoExistsAsync() {
10
- if (!(await isGitInstalledAsync())) {
11
- throw new Error('git command not found, install it before proceeding');
12
- }
13
- if (await doesGitRepoExistAsync()) {
14
- return;
15
- }
16
- log_1.default.warn("It looks like you haven't initialized the git repository yet.");
17
- log_1.default.warn('EAS Build requires you to use a git repository for your project.');
18
- const confirmInit = await (0, prompts_1.confirmAsync)({
19
- message: `Would you like to run 'git init' in the current directory?`,
20
- });
21
- if (!confirmInit) {
22
- throw new Error('A git repository is required for building your project. Initialize it and run this command again.');
23
- }
24
- await (0, spawn_async_1.default)('git', ['init']);
25
- log_1.default.log("We're going to make an initial commit for you repository.");
26
- const { message } = await (0, prompts_1.promptAsync)({
27
- type: 'text',
28
- name: 'message',
29
- message: 'Commit message:',
30
- initial: 'Initial commit',
31
- validate: (input) => input !== '',
32
- });
33
- await this.commitAsync({ commitAllFiles: true, commitMessage: message });
34
- }
35
- async commitAsync({ commitMessage, commitAllFiles, }) {
36
- if (commitAllFiles) {
37
- await (0, spawn_async_1.default)('git', ['add', '-A']);
38
- }
39
- await (0, spawn_async_1.default)('git', ['add', '-u']);
40
- await (0, spawn_async_1.default)('git', ['commit', '-m', commitMessage]);
41
- }
42
- async hasUncommittedChangesAsync() {
43
- const changes = await gitStatusAsync({ showUntracked: true });
44
- return changes.length > 0;
45
- }
46
- async getRootPathAsync() {
47
- return (await (0, spawn_async_1.default)('git', ['rev-parse', '--show-toplevel'])).stdout.trim();
48
- }
49
- async makeShallowCopyAsync(destinationPath) {
50
- if (await this.hasUncommittedChangesAsync()) {
51
- // it should not happen, we need that to make sure that check before clone
52
- // is always caused by case sensitivity
53
- throw new Error('You have some uncommitted changes in your repository.');
54
- }
55
- let gitRepoUri;
56
- if (process.platform === 'win32') {
57
- // getRootDirectoryAsync() will return C:/path/to/repo on Windows and path
58
- // prefix should be file:///
59
- gitRepoUri = `file:///${await this.getRootPathAsync()}`;
60
- }
61
- else {
62
- // getRootDirectoryAsync() will /path/to/repo, and path prefix should be
63
- // file:/// so only file:// needs to be prepended
64
- gitRepoUri = `file://${await this.getRootPathAsync()}`;
65
- }
66
- const isCaseSensitive = await isGitCaseSensitiveAsync();
67
- await setGitCaseSensitivityAsync(true);
68
- try {
69
- if (await this.hasUncommittedChangesAsync()) {
70
- log_1.default.error('Detected inconsistent filename casing between your local filesystem and git.');
71
- log_1.default.error('This will likely cause your build to fail. Impacted files:');
72
- await (0, spawn_async_1.default)('git', ['status', '--short'], { stdio: 'inherit' });
73
- log_1.default.newLine();
74
- log_1.default.error(`Error: Resolve filename casing inconsistencies before proceeding. ${(0, log_1.learnMore)('https://expo.fyi/macos-ignorecase')}`);
75
- throw new Error('You have some uncommitted changes in your repository.');
76
- }
77
- await (0, spawn_async_1.default)('git', [
78
- 'clone',
79
- '--no-hardlinks',
80
- '--depth',
81
- '1',
82
- gitRepoUri,
83
- destinationPath,
84
- ]);
85
- }
86
- finally {
87
- await setGitCaseSensitivityAsync(isCaseSensitive);
88
- }
89
- }
90
- async getCommitHashAsync() {
91
- try {
92
- return (await (0, spawn_async_1.default)('git', ['rev-parse', 'HEAD'])).stdout.trim();
93
- }
94
- catch (err) {
95
- return undefined;
96
- }
97
- }
98
- async trackFileAsync(file) {
99
- await (0, spawn_async_1.default)('git', ['add', '--intent-to-add', file]);
100
- }
101
- async getBranchNameAsync() {
102
- try {
103
- return (await (0, spawn_async_1.default)('git', ['rev-parse', '--abbrev-ref', 'HEAD'])).stdout.trim();
104
- }
105
- catch (e) {
106
- return null;
107
- }
108
- }
109
- async getLastCommitMessageAsync() {
110
- try {
111
- return (await (0, spawn_async_1.default)('git', ['--no-pager', 'log', '-1', '--pretty=%B'])).stdout.trim();
112
- }
113
- catch (e) {
114
- return null;
115
- }
116
- }
117
- async showDiffAsync() {
118
- const outputTooLarge = (await getGitDiffOutputAsync()).split(/\r\n|\r|\n/).length > 100;
119
- await gitDiffAsync({ withPager: outputTooLarge });
120
- }
121
- async isFileUntrackedAsync(path) {
122
- const withUntrackedFiles = await gitStatusAsync({ showUntracked: true });
123
- const trackedFiles = await gitStatusAsync({ showUntracked: false });
124
- const pathWithoutLeadingDot = path.replace(/^\.\//, ''); // remove leading './' from path
125
- return (withUntrackedFiles.includes(pathWithoutLeadingDot) &&
126
- !trackedFiles.includes(pathWithoutLeadingDot));
127
- }
128
- async isFileIgnoredAsync(filePath) {
129
- try {
130
- await (0, spawn_async_1.default)('git', ['check-ignore', '-q', filePath]);
131
- return true;
132
- }
133
- catch (e) {
134
- return false;
135
- }
136
- }
137
- }
138
- exports.default = GitClient;
139
6
  async function isGitInstalledAsync() {
140
7
  try {
141
8
  await (0, spawn_async_1.default)('git', ['--help']);
@@ -148,6 +15,7 @@ async function isGitInstalledAsync() {
148
15
  }
149
16
  return true;
150
17
  }
18
+ exports.isGitInstalledAsync = isGitInstalledAsync;
151
19
  async function doesGitRepoExistAsync() {
152
20
  try {
153
21
  await (0, spawn_async_1.default)('git', ['rev-parse', '--git-dir']);
@@ -157,53 +25,17 @@ async function doesGitRepoExistAsync() {
157
25
  return false;
158
26
  }
159
27
  }
28
+ exports.doesGitRepoExistAsync = doesGitRepoExistAsync;
160
29
  async function gitStatusAsync({ showUntracked } = {}) {
161
30
  return (await (0, spawn_async_1.default)('git', ['status', '-s', showUntracked ? '-uall' : '-uno'])).stdout;
162
31
  }
32
+ exports.gitStatusAsync = gitStatusAsync;
163
33
  async function getGitDiffOutputAsync() {
164
34
  return (await (0, spawn_async_1.default)('git', ['--no-pager', 'diff'])).stdout;
165
35
  }
166
- async function gitDiffAsync({ withPager = false } = {}) {
36
+ exports.getGitDiffOutputAsync = getGitDiffOutputAsync;
37
+ async function gitDiffAsync({ withPager = false, } = {}) {
167
38
  const options = withPager ? [] : ['--no-pager'];
168
39
  await (0, spawn_async_1.default)('git', [...options, 'diff'], { stdio: ['ignore', 'inherit', 'inherit'] });
169
40
  }
170
- /**
171
- * Checks if git is configured to be case sensitive
172
- * @returns {boolean | undefined}
173
- * - boolean - is git case senstive
174
- * - undefined - case sensitivity is not configured and git is using default behavior
175
- */
176
- async function isGitCaseSensitiveAsync() {
177
- if (process.platform !== 'darwin') {
178
- return undefined;
179
- }
180
- try {
181
- const result = await (0, spawn_async_1.default)('git', ['config', '--get', 'core.ignorecase']);
182
- const isIgnoreCaseEnabled = result.stdout.trim();
183
- if (isIgnoreCaseEnabled === '') {
184
- return undefined;
185
- }
186
- else if (isIgnoreCaseEnabled === 'true') {
187
- return false;
188
- }
189
- else {
190
- return true;
191
- }
192
- }
193
- catch (e) {
194
- return undefined;
195
- }
196
- }
197
- async function setGitCaseSensitivityAsync(enable) {
198
- // we are assuming that if someone sets that on non-macos device then
199
- // they know what they are doing
200
- if (process.platform !== 'darwin') {
201
- return;
202
- }
203
- if (enable === undefined) {
204
- await (0, spawn_async_1.default)('git', ['config', '--unset', 'core.ignorecase']);
205
- }
206
- else {
207
- await (0, spawn_async_1.default)('git', ['config', 'core.ignorecase', String(!enable)]);
208
- }
209
- }
41
+ exports.gitDiffAsync = gitDiffAsync;
@@ -1,3 +1,3 @@
1
1
  import { Client } from './vcs';
2
- declare const _default: Client;
3
- export default _default;
2
+ export declare function setVcsClient(client: Client): void;
3
+ export declare function getVcsClient(): Client;
@@ -1,17 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVcsClient = exports.setVcsClient = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const log_1 = (0, tslib_1.__importDefault)(require("../log"));
5
- const git_1 = (0, tslib_1.__importDefault)(require("./git"));
6
- const local_1 = (0, tslib_1.__importDefault)(require("./local"));
6
+ const gitNoCommit_1 = (0, tslib_1.__importDefault)(require("./clients/gitNoCommit"));
7
+ const noVcs_1 = (0, tslib_1.__importDefault)(require("./clients/noVcs"));
7
8
  const NO_VCS_WARNING = `Using EAS CLI without version control system is not recommended, use this mode only if you know what you are doing.`;
8
- function resolveVcsClient() {
9
+ let vcsClient = resolveDefaultVcsClient();
10
+ function resolveDefaultVcsClient() {
9
11
  if (process.env.EAS_NO_VCS) {
10
12
  if (process.env.NODE_ENV !== 'test') {
11
13
  log_1.default.warn(NO_VCS_WARNING);
12
14
  }
13
- return new local_1.default();
15
+ return new noVcs_1.default();
14
16
  }
15
- return new git_1.default();
17
+ return new gitNoCommit_1.default();
16
18
  }
17
- exports.default = resolveVcsClient();
19
+ function setVcsClient(client) {
20
+ vcsClient = client;
21
+ }
22
+ exports.setVcsClient = setVcsClient;
23
+ function getVcsClient() {
24
+ return vcsClient;
25
+ }
26
+ exports.getVcsClient = getVcsClient;
@@ -1,6 +1,19 @@
1
- import { Client } from './vcs';
2
- export default class LocalClient extends Client {
3
- getRootPathAsync(): Promise<string>;
4
- makeShallowCopyAsync(destinationPath: string): Promise<void>;
5
- isFileIgnoredAsync(filePath: string): Promise<boolean>;
1
+ export declare function getRootPath(): string;
2
+ /**
3
+ * Ignore wraps the 'ignore' package to support multiple .gitignore files
4
+ * in subdirectories.
5
+ *
6
+ * Inconsistencies with git behavior:
7
+ * - if parent .gitignore has ignore rule and child has exception to that rule,
8
+ * file will still be ignored,
9
+ * - node_modules is always ignored,
10
+ * - if .easignore exists, .gitignore files are not used.
11
+ */
12
+ export declare class Ignore {
13
+ private rootDir;
14
+ private ignoreMapping;
15
+ constructor(rootDir: string);
16
+ initIgnoreAsync(): Promise<void>;
17
+ ignores(relativePath: string): boolean;
6
18
  }
19
+ export declare function makeShallowCopyAsync(src: string, dst: string): Promise<void>;
@@ -1,34 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeShallowCopyAsync = exports.Ignore = exports.getRootPath = void 0;
3
4
  const tslib_1 = require("tslib");
5
+ const fast_glob_1 = (0, tslib_1.__importDefault)(require("fast-glob"));
4
6
  const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
5
7
  const ignore_1 = (0, tslib_1.__importDefault)(require("ignore"));
6
8
  const path_1 = (0, tslib_1.__importDefault)(require("path"));
7
- const vcs_1 = require("./vcs");
9
+ const EASIGNORE_FILENAME = '.easignore';
10
+ const GITIGNORE_FILENAME = '.gitignore';
8
11
  const DEFAULT_IGNORE = `
12
+ .git
9
13
  node_modules
10
14
  `;
11
- class LocalClient extends vcs_1.Client {
12
- async getRootPathAsync() {
13
- return getRootPath();
14
- }
15
- async makeShallowCopyAsync(destinationPath) {
16
- const srcPath = getRootPath();
17
- const ignore = await initIgnoreAsync();
18
- await fs_extra_1.default.copy(srcPath, destinationPath, {
19
- filter: (srcFilePath) => {
20
- if (srcFilePath === srcPath) {
21
- return true;
22
- }
23
- return !ignore.ignores(path_1.default.relative(srcPath, srcFilePath));
24
- },
25
- });
26
- }
27
- async isFileIgnoredAsync(filePath) {
28
- return (await initIgnoreAsync()).ignores(filePath);
29
- }
30
- }
31
- exports.default = LocalClient;
32
15
  function getRootPath() {
33
16
  var _a;
34
17
  const rootPath = (_a = process.env.EAS_PROJECT_ROOT) !== null && _a !== void 0 ? _a : process.cwd();
@@ -37,16 +20,62 @@ function getRootPath() {
37
20
  }
38
21
  return rootPath;
39
22
  }
40
- async function initIgnoreAsync() {
41
- const srcPath = getRootPath();
42
- const easIgnorePath = path_1.default.join(srcPath, '.easignore');
43
- const gitIgnorePath = path_1.default.join(srcPath, '.gitignore');
44
- let ignoreFile = DEFAULT_IGNORE;
45
- if (await fs_extra_1.default.pathExists(easIgnorePath)) {
46
- ignoreFile = await fs_extra_1.default.readFile(easIgnorePath, 'utf8');
23
+ exports.getRootPath = getRootPath;
24
+ /**
25
+ * Ignore wraps the 'ignore' package to support multiple .gitignore files
26
+ * in subdirectories.
27
+ *
28
+ * Inconsistencies with git behavior:
29
+ * - if parent .gitignore has ignore rule and child has exception to that rule,
30
+ * file will still be ignored,
31
+ * - node_modules is always ignored,
32
+ * - if .easignore exists, .gitignore files are not used.
33
+ */
34
+ class Ignore {
35
+ constructor(rootDir) {
36
+ this.rootDir = rootDir;
37
+ this.ignoreMapping = [];
38
+ }
39
+ async initIgnoreAsync() {
40
+ const easIgnorePath = path_1.default.join(this.rootDir, EASIGNORE_FILENAME);
41
+ if (await fs_extra_1.default.pathExists(easIgnorePath)) {
42
+ this.ignoreMapping = [
43
+ ['', (0, ignore_1.default)().add(DEFAULT_IGNORE)],
44
+ ['', (0, ignore_1.default)().add(await fs_extra_1.default.readFile(easIgnorePath, 'utf8'))],
45
+ ];
46
+ return;
47
+ }
48
+ const ignoreFilePaths = (await (0, fast_glob_1.default)(`**/${GITIGNORE_FILENAME}`, { cwd: this.rootDir, ignore: ['node_modules'] }))
49
+ // ensure that parent dir is before child directories
50
+ .sort((a, b) => a.length - b.length && a.localeCompare(b));
51
+ const ignoreMapping = await Promise.all(ignoreFilePaths.map(async (filePath) => {
52
+ return [
53
+ filePath.slice(0, filePath.length - GITIGNORE_FILENAME.length),
54
+ (0, ignore_1.default)().add(await fs_extra_1.default.readFile(path_1.default.join(this.rootDir, filePath), 'utf8')),
55
+ ];
56
+ }));
57
+ this.ignoreMapping = [['', (0, ignore_1.default)().add(DEFAULT_IGNORE)], ...ignoreMapping];
47
58
  }
48
- else if (await fs_extra_1.default.pathExists(gitIgnorePath)) {
49
- ignoreFile = await fs_extra_1.default.readFile(gitIgnorePath, 'utf8');
59
+ ignores(relativePath) {
60
+ for (const [prefix, ignore] of this.ignoreMapping) {
61
+ if (relativePath.startsWith(prefix) && ignore.ignores(relativePath.slice(prefix.length))) {
62
+ return true;
63
+ }
64
+ }
65
+ return false;
50
66
  }
51
- return (0, ignore_1.default)().add(ignoreFile);
52
67
  }
68
+ exports.Ignore = Ignore;
69
+ async function makeShallowCopyAsync(src, dst) {
70
+ const ignore = new Ignore(src);
71
+ await ignore.initIgnoreAsync();
72
+ await fs_extra_1.default.copy(src, dst, {
73
+ filter: (srcFilePath) => {
74
+ if (srcFilePath === src) {
75
+ return true;
76
+ }
77
+ return !ignore.ignores(path_1.default.relative(src, srcFilePath));
78
+ },
79
+ });
80
+ }
81
+ exports.makeShallowCopyAsync = makeShallowCopyAsync;
@@ -2,7 +2,8 @@ export declare abstract class Client {
2
2
  abstract makeShallowCopyAsync(destinationPath: string): Promise<void>;
3
3
  abstract getRootPathAsync(): Promise<string>;
4
4
  ensureRepoExistsAsync(): Promise<void>;
5
- hasUncommittedChangesAsync(): Promise<boolean>;
5
+ isCommitRequiredAsync(): Promise<boolean>;
6
+ hasUncommittedChangesAsync(): Promise<boolean | undefined>;
6
7
  commitAsync(arg: {
7
8
  commitMessage: string;
8
9
  commitAllFiles?: boolean;
package/build/vcs/vcs.js CHANGED
@@ -5,17 +5,21 @@ class Client {
5
5
  // (optional) ensureRepoExistsAsync should verify whether repository exists and tooling is installed
6
6
  // it's not required for minimal support, but lack of validation might cause the failure at a later stage.
7
7
  async ensureRepoExistsAsync() { }
8
- // (optional) hasUncommittedChangesAsync should check whether there are changes in local repository
8
+ // (optional) checks whether commit is necessary before calling makeShallowCopyAsync
9
9
  //
10
- // If it's not implemented method `makeShallowCopyAsync` needs to be able to include uncommited changes
10
+ // If it's not implemented method `makeShallowCopyAsync` needs to be able to include uncommitted changes
11
11
  // when creating copy
12
- async hasUncommittedChangesAsync() {
12
+ async isCommitRequiredAsync() {
13
13
  return false;
14
14
  }
15
+ // (optional) hasUncommittedChangesAsync should check whether there are changes in local repository
16
+ async hasUncommittedChangesAsync() {
17
+ return undefined;
18
+ }
15
19
  // (optional) commitAsync commits changes
16
20
  //
17
21
  // - Should be implemented if hasUncommittedChangesAsync is implemented
18
- // - If it's not implemented method `makeShallowCopyAsync` needs to be able to include uncommited changes
22
+ // - If it's not implemented method `makeShallowCopyAsync` needs to be able to include uncommitted changes
19
23
  // in project copy
20
24
  async commitAsync(arg) {
21
25
  // it should not be called unless hasUncommittedChangesAsync is implemented
@@ -1 +1 @@
1
- {"version":"0.33.1","commands":{"analytics":{"id":"analytics","description":"view or change analytics settings","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"show the eas.json config","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","options":["android","ios"]},"profile":{"name":"profile","type":"option"}},"args":[]},"credentials":{"id":"credentials","description":"manage your credentials","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"diagnostics":{"id":"diagnostics","description":"log environment info to the console","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"submit":{"id":"submit","description":"submit build archive to app store\nSee how to configure submits with eas.json: https://docs.expo.dev/submit/eas-json/","pluginName":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json."},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false},"id":{"name":"id","type":"option","description":"ID of the build to submit"},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file"},"url":{"name":"url","type":"option","description":"App archive url"},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from Submission Service","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":[]},"account:login":{"id":"account:login","description":"log in with your Expo account","pluginName":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[]},"account:logout":{"id":"account:logout","description":"log out","pluginName":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[]},"account:view":{"id":"account:view","description":"show the username you are logged in as","pluginName":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[]},"branch:create":{"id":"branch:create","description":"Create a branch on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the new branch ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}]},"branch:delete":{"id":"branch:delete","description":"Republish an update group","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return JSON with the edited branch's ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}]},"branch:list":{"id":"branch:list","description":"List all branches on this project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return output as JSON","allowNo":false}},"args":[]},"branch:publish":{"id":"branch:publish","description":"Publish an update group to a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"message":{"name":"message","type":"option","description":"short message describing the updates.","required":false},"republish":{"name":"republish","type":"boolean","description":"republish an update group","allowNo":false},"group":{"name":"group","type":"option","description":"update group to republish"},"input-dir":{"name":"input-dir","type":"option","description":"location of the bundle","required":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","description":"only publish to a single platform","required":false,"helpValue":"(android|ios|all)","options":["android","ios","all"],"default":"all"},"json":{"name":"json","type":"boolean","description":"return a json with the new update group.","allowNo":false},"auto":{"name":"auto","type":"boolean","description":"use the current git branch and commit message for the EAS branch and update message","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to publish on"}]},"branch:rename":{"id":"branch:rename","description":"Rename a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false},"json":{"name":"json","type":"boolean","description":"return a json with the edited branch's ID and name.","allowNo":false}},"args":[]},"branch:view":{"id":"branch:view","description":"View a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the branch's ID name and recent update groups.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}]},"build:cancel":{"id":"build:cancel","description":"Cancel a build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"BUILD_ID"}]},"build:configure":{"id":"build:configure","description":"Configure the project to support EAS Build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","options":["android","ios","all"]}},"args":[]},"build":{"id":"build","description":"start a build","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","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},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","description":"Skip project configuration","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":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},"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"}},"args":[]},"build:list":{"id":"build:list","description":"list all builds for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","options":["all","android","ios"]},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option"},"appVersion":{"name":"appVersion","type":"option"},"appBuildVersion":{"name":"appBuildVersion","type":"option"},"sdkVersion":{"name":"sdkVersion","type":"option"},"runtimeVersion":{"name":"runtimeVersion","type":"option"},"appIdentifier":{"name":"appIdentifier","type":"option"},"buildProfile":{"name":"buildProfile","type":"option"},"gitCommitHash":{"name":"gitCommitHash","type":"option"},"limit":{"name":"limit","type":"option"}},"args":[]},"build:view":{"id":"build:view","description":"view a build for your project","pluginName":"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"}]},"channel:create":{"id":"channel:create","description":"Create a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}]},"channel:edit":{"id":"channel:edit","description":"Point a channel at a new branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to"},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}]},"channel:list":{"id":"channel:list","description":"List all channels on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[]},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}]},"channel:view":{"id":"channel:view","description":"View a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}]},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"device:list":{"id":"device:list","description":"list all registered devices for your account","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option"}},"args":[]},"device:view":{"id":"device:view","description":"view a device for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}]},"project:info":{"id":"project:info","description":"information about the current project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"project:init":{"id":"project:init","description":"create or link an EAS project","pluginName":"eas-cli","pluginType":"core","aliases":["init"],"flags":{},"args":[]},"secret:create":{"id":"secret:create","description":"Create an environment secret on the current project or owner account.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret"},"value":{"name":"value","type":"option","description":"Value of the secret"},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false}},"args":[]},"secret:delete":{"id":"secret:delete","description":"Delete an environment secret by ID.\nUnsure where to find the secret's ID? Run eas secrets:list","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete"}},"args":[]},"secret:list":{"id":"secret:list","description":"Lists environment secrets available for your current app","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"update:delete":{"id":"update:delete","description":"Delete all the updates in an update Group.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the group ID of the deleted updates.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}]},"update:view":{"id":"update:view","description":"Update group details.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the updates belonging to the group.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}]},"webhook:create":{"id":"webhook:create","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"],"default":"BUILD"},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:delete":{"id":"webhook:delete","description":"Delete a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}]},"webhook:list":{"id":"webhook:list","description":"List webhooks on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"]}},"args":[]},"webhook:update":{"id":"webhook:update","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"],"default":"BUILD"},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:view":{"id":"webhook:view","description":"View a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}]}}}
1
+ {"version":"0.34.0","commands":{"analytics":{"id":"analytics","description":"view or change analytics settings","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"show the eas.json config","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","options":["android","ios"]},"profile":{"name":"profile","type":"option"}},"args":[]},"credentials":{"id":"credentials","description":"manage your credentials","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"diagnostics":{"id":"diagnostics","description":"log environment info to the console","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"submit":{"id":"submit","description":"submit build archive to app store\nSee how to configure submits with eas.json: https://docs.expo.dev/submit/eas-json/","pluginName":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"profile":{"name":"profile","type":"option","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json."},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false},"id":{"name":"id","type":"option","description":"ID of the build to submit"},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file"},"url":{"name":"url","type":"option","description":"App archive url"},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from Submission Service","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":[]},"account:login":{"id":"account:login","description":"log in with your Expo account","pluginName":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[]},"account:logout":{"id":"account:logout","description":"log out","pluginName":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[]},"account:view":{"id":"account:view","description":"show the username you are logged in as","pluginName":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[]},"branch:create":{"id":"branch:create","description":"Create a branch on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the new branch ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}]},"branch:delete":{"id":"branch:delete","description":"Republish an update group","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return JSON with the edited branch's ID and name.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}]},"branch:list":{"id":"branch:list","description":"List all branches on this project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return output as JSON","allowNo":false}},"args":[]},"branch:publish":{"id":"branch:publish","description":"Publish an update group to a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"message":{"name":"message","type":"option","description":"short message describing the updates.","required":false},"republish":{"name":"republish","type":"boolean","description":"republish an update group","allowNo":false},"group":{"name":"group","type":"option","description":"update group to republish"},"input-dir":{"name":"input-dir","type":"option","description":"location of the bundle","required":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","description":"only publish to a single platform","required":false,"helpValue":"(android|ios|all)","options":["android","ios","all"],"default":"all"},"json":{"name":"json","type":"boolean","description":"return a json with the new update group.","allowNo":false},"auto":{"name":"auto","type":"boolean","description":"use the current git branch and commit message for the EAS branch and update message","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to publish on"}]},"branch:rename":{"id":"branch:rename","description":"Rename a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false},"json":{"name":"json","type":"boolean","description":"return a json with the edited branch's ID and name.","allowNo":false}},"args":[]},"branch:view":{"id":"branch:view","description":"View a branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"return a json with the branch's ID name and recent update groups.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}]},"build:cancel":{"id":"build:cancel","description":"Cancel a build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"BUILD_ID"}]},"build:configure":{"id":"build:configure","description":"Configure the project to support EAS Build.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","options":["android","ios","all"]}},"args":[]},"build":{"id":"build","description":"start a build","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","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},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","description":"Skip project configuration","allowNo":false},"profile":{"name":"profile","type":"option","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME"},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":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},"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"}},"args":[]},"build:list":{"id":"build:list","description":"list all builds for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","options":["all","android","ios"]},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr","allowNo":false},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option"},"appVersion":{"name":"appVersion","type":"option"},"appBuildVersion":{"name":"appBuildVersion","type":"option"},"sdkVersion":{"name":"sdkVersion","type":"option"},"runtimeVersion":{"name":"runtimeVersion","type":"option"},"appIdentifier":{"name":"appIdentifier","type":"option"},"buildProfile":{"name":"buildProfile","type":"option"},"gitCommitHash":{"name":"gitCommitHash","type":"option"},"limit":{"name":"limit","type":"option"}},"args":[]},"build:view":{"id":"build:view","description":"view a build for your project","pluginName":"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"}]},"channel:create":{"id":"channel:create","description":"Create a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}]},"channel:edit":{"id":"channel:edit","description":"Point a channel at a new branch.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to"},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}]},"channel:list":{"id":"channel:list","description":"List all channels on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[]},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the new channel ID, name and branch mapping","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}]},"channel:view":{"id":"channel:view","description":"View a channel on the current project.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"print output as a JSON object with the channel ID, name and branch mapping.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}]},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"device:list":{"id":"device:list","description":"list all registered devices for your account","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option"}},"args":[]},"device:view":{"id":"device:view","description":"view a device for your project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}]},"project:info":{"id":"project:info","description":"information about the current project","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"project:init":{"id":"project:init","description":"create or link an EAS project","pluginName":"eas-cli","pluginType":"core","aliases":["init"],"flags":{},"args":[]},"secret:create":{"id":"secret:create","description":"Create an environment secret on the current project or owner account.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret"},"value":{"name":"value","type":"option","description":"Value of the secret"},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false}},"args":[]},"secret:delete":{"id":"secret:delete","description":"Delete an environment secret by ID.\nUnsure where to find the secret's ID? Run eas secrets:list","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete"}},"args":[]},"secret:list":{"id":"secret:list","description":"Lists environment secrets available for your current app","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"update:delete":{"id":"update:delete","description":"Delete all the updates in an update Group.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the group ID of the deleted updates.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}]},"update:view":{"id":"update:view","description":"Update group details.","pluginName":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Return a json with the updates belonging to the group.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}]},"webhook:create":{"id":"webhook:create","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"],"default":"BUILD"},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:delete":{"id":"webhook:delete","description":"Delete a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}]},"webhook:list":{"id":"webhook:list","description":"List webhooks on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"]}},"args":[]},"webhook:update":{"id":"webhook:update","description":"Create a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD)","options":["BUILD"],"default":"BUILD"},"url":{"name":"url","type":"option","description":"Webhook URL"},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header."}},"args":[]},"webhook:view":{"id":"webhook:view","description":"View a webhook on the current project.","pluginName":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}]}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eas-cli",
3
3
  "description": "EAS command line tool",
4
- "version": "0.33.1",
4
+ "version": "0.34.0",
5
5
  "author": "Expo <support@expo.dev>",
6
6
  "bin": {
7
7
  "eas": "./bin/run"
@@ -11,8 +11,8 @@
11
11
  "@expo/apple-utils": "0.0.0-alpha.25",
12
12
  "@expo/config": "6.0.3",
13
13
  "@expo/config-plugins": "4.0.3",
14
- "@expo/eas-build-job": "0.2.52",
15
- "@expo/eas-json": "^0.33.0",
14
+ "@expo/eas-build-job": "0.2.57",
15
+ "@expo/eas-json": "^0.34.0",
16
16
  "@expo/json-file": "8.2.33",
17
17
  "@expo/pkcs12": "0.0.4",
18
18
  "@expo/plist": "0.0.14",
@@ -179,5 +179,5 @@
179
179
  "version": "yarn oclif-dev readme && node patch-readme && git add README.md",
180
180
  "generate-graphql-code": "graphql-codegen --config graphql-codegen.yml"
181
181
  },
182
- "gitHead": "8fe5268a7341c5a47260a0c5208f705761a4d744"
182
+ "gitHead": "36118b700f4cadc184bddd733b568fe7abde69fe"
183
183
  }