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.
- package/README.md +26 -26
- package/build/analytics.js +3 -9
- package/build/build/android/configure.js +2 -2
- package/build/build/android/graphql.js +2 -4
- package/build/build/android/prepareJob.js +4 -3
- package/build/build/build.js +2 -2
- package/build/build/configure.js +14 -7
- package/build/build/ios/UpdatesModule.js +2 -2
- package/build/build/ios/graphql.js +2 -23
- package/build/build/ios/prepareJob.js +4 -6
- package/build/build/metadata.js +5 -10
- package/build/build/utils/devClient.js +2 -2
- package/build/build/utils/repository.js +10 -7
- package/build/build/validate.js +4 -4
- package/build/commandUtils/EasCommand.d.ts +1 -0
- package/build/commandUtils/EasCommand.js +21 -0
- package/build/commands/branch/create.js +3 -2
- package/build/commands/branch/delete.js +1 -1
- package/build/commands/branch/list.js +1 -1
- package/build/commands/branch/publish.js +6 -5
- package/build/commands/branch/view.js +1 -1
- package/build/commands/build/index.js +35 -25
- package/build/commands/channel/edit.js +1 -1
- package/build/commands/channel/list.js +1 -1
- package/build/commands/channel/view.js +1 -1
- package/build/commands/diagnostics.js +2 -2
- package/build/commands/project/info.js +1 -1
- package/build/commands/update/view.js +1 -1
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +2 -0
- package/build/credentials/credentialsJson/update.js +5 -4
- package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
- package/build/credentials/ios/actions/CreatePushKey.js +1 -1
- package/build/credentials/ios/actions/DistributionCertificateUtils.d.ts +1 -1
- package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -7
- package/build/credentials/ios/actions/PushKeyUtils.d.ts +1 -1
- package/build/credentials/ios/actions/PushKeyUtils.js +5 -5
- package/build/credentials/ios/api/graphql/queries/AppQuery.js +3 -1
- package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +6 -2
- package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +7 -1
- package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +5 -1
- package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +2 -0
- package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +5 -1
- package/build/credentials/manager/Actions.d.ts +47 -0
- package/build/credentials/manager/Actions.js +48 -0
- package/build/credentials/manager/AndroidActions.d.ts +6 -0
- package/build/credentials/manager/AndroidActions.js +114 -0
- package/build/credentials/manager/IosActions.d.ts +6 -0
- package/build/credentials/manager/IosActions.js +110 -0
- package/build/credentials/manager/ManageAndroid.d.ts +1 -29
- package/build/credentials/manager/ManageAndroid.js +26 -159
- package/build/credentials/manager/ManageIos.d.ts +1 -29
- package/build/credentials/manager/ManageIos.js +28 -155
- package/build/graphql/client.d.ts +8 -2
- package/build/graphql/generated.d.ts +85 -8
- package/build/graphql/generated.js +23 -1
- package/build/graphql/queries/BuildQuery.js +4 -1
- package/build/graphql/queries/EnvironmentSecretsQuery.js +4 -2
- package/build/graphql/queries/ProjectQuery.js +3 -1
- package/build/graphql/queries/PublishQuery.js +4 -1
- package/build/graphql/queries/SubmissionQuery.js +5 -2
- package/build/graphql/queries/UserQuery.js +4 -1
- package/build/graphql/queries/WebhookQuery.js +6 -2
- package/build/log.d.ts +0 -2
- package/build/log.js +2 -12
- package/build/project/projectUtils.js +1 -1
- package/build/project/publish.js +2 -2
- package/build/project/workflow.js +2 -2
- package/build/submit/ios/IosSubmitter.js +1 -1
- package/build/user/User.js +1 -0
- package/build/utils/easCli.d.ts +1 -0
- package/build/utils/easCli.js +5 -0
- package/build/utils/{expoCommand.d.ts → expoCli.d.ts} +0 -0
- package/build/utils/{expoCommand.js → expoCli.js} +0 -0
- package/build/utils/profiles.js +9 -2
- package/build/vcs/clients/git.d.ts +26 -0
- package/build/vcs/clients/git.js +184 -0
- package/build/vcs/clients/gitNoCommit.d.ts +7 -0
- package/build/vcs/clients/gitNoCommit.js +27 -0
- package/build/vcs/clients/noVcs.d.ts +6 -0
- package/build/vcs/clients/noVcs.js +19 -0
- package/build/vcs/git.d.ts +10 -17
- package/build/vcs/git.js +7 -175
- package/build/vcs/index.d.ts +2 -2
- package/build/vcs/index.js +15 -6
- package/build/vcs/local.d.ts +18 -5
- package/build/vcs/local.js +61 -32
- package/build/vcs/vcs.d.ts +2 -1
- package/build/vcs/vcs.js +8 -4
- package/oclif.manifest.json +1 -1
- 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
|
-
|
|
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;
|
package/build/vcs/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Client } from './vcs';
|
|
2
|
-
declare
|
|
3
|
-
export
|
|
2
|
+
export declare function setVcsClient(client: Client): void;
|
|
3
|
+
export declare function getVcsClient(): Client;
|
package/build/vcs/index.js
CHANGED
|
@@ -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
|
|
6
|
-
const
|
|
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
|
-
|
|
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
|
|
15
|
+
return new noVcs_1.default();
|
|
14
16
|
}
|
|
15
|
-
return new
|
|
17
|
+
return new gitNoCommit_1.default();
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
function setVcsClient(client) {
|
|
20
|
+
vcsClient = client;
|
|
21
|
+
}
|
|
22
|
+
exports.setVcsClient = setVcsClient;
|
|
23
|
+
function getVcsClient() {
|
|
24
|
+
return vcsClient;
|
|
25
|
+
}
|
|
26
|
+
exports.getVcsClient = getVcsClient;
|
package/build/vcs/local.d.ts
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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>;
|
package/build/vcs/local.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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;
|
package/build/vcs/vcs.d.ts
CHANGED
|
@@ -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
|
-
|
|
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)
|
|
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
|
|
10
|
+
// If it's not implemented method `makeShallowCopyAsync` needs to be able to include uncommitted changes
|
|
11
11
|
// when creating copy
|
|
12
|
-
async
|
|
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
|
|
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
|
package/oclif.manifest.json
CHANGED
|
@@ -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.
|
|
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.
|
|
15
|
-
"@expo/eas-json": "^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": "
|
|
182
|
+
"gitHead": "36118b700f4cadc184bddd733b568fe7abde69fe"
|
|
183
183
|
}
|