eas-cli 2.5.1 → 2.7.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 +8 -1095
- package/build/branch/queries.d.ts +8 -1
- package/build/branch/queries.js +53 -23
- package/build/build/android/build.js +1 -0
- package/build/build/ios/build.js +1 -0
- package/build/build/local.js +1 -1
- package/build/build/queries.d.ts +11 -1
- package/build/build/queries.js +39 -1
- package/build/build/validate.d.ts +1 -0
- package/build/build/validate.js +121 -1
- package/build/channel/queries.d.ts +11 -0
- package/build/channel/queries.js +51 -9
- package/build/channel/utils.js +22 -22
- package/build/commandUtils/context/LoggedInContextField.d.ts +3 -0
- package/build/commandUtils/context/LoggedInContextField.js +9 -1
- package/build/commandUtils/context/MaybeLoggedInContextField.d.ts +3 -0
- package/build/commandUtils/context/MaybeLoggedInContextField.js +9 -1
- package/build/commandUtils/context/contextUtils/createGraphqlClient.d.ts +2 -2
- package/build/commandUtils/context/contextUtils/getProjectIdAsync.js +1 -1
- package/build/commandUtils/gating/FeatureGateEnvOverrides.d.ts +7 -0
- package/build/commandUtils/gating/FeatureGateEnvOverrides.js +35 -0
- package/build/commandUtils/gating/FeatureGateKey.d.ts +4 -0
- package/build/commandUtils/gating/FeatureGateKey.js +11 -0
- package/build/commandUtils/gating/FeatureGateTestOverrides.d.ts +5 -0
- package/build/commandUtils/gating/FeatureGateTestOverrides.js +17 -0
- package/build/commandUtils/gating/FeatureGating.d.ts +16 -0
- package/build/commandUtils/gating/FeatureGating.js +55 -0
- package/build/commandUtils/pagination.d.ts +4 -3
- package/build/commands/branch/create.d.ts +0 -3
- package/build/commands/branch/create.js +2 -27
- package/build/commands/branch/list.d.ts +1 -1
- package/build/commands/branch/view.d.ts +1 -1
- package/build/commands/build/configure.d.ts +1 -1
- package/build/commands/build/index.d.ts +2 -2
- package/build/commands/build/list.d.ts +4 -4
- package/build/commands/build/list.js +2 -15
- package/build/commands/build/run.d.ts +21 -0
- package/build/commands/build/run.js +149 -0
- package/build/commands/build/version/set.d.ts +1 -1
- package/build/commands/build/version/sync.d.ts +1 -1
- package/build/commands/channel/create.d.ts +0 -7
- package/build/commands/channel/create.js +4 -31
- package/build/commands/channel/list.d.ts +1 -1
- package/build/commands/channel/view.d.ts +1 -1
- package/build/commands/config.d.ts +1 -1
- package/build/commands/credentials.d.ts +1 -1
- package/build/commands/device/list.d.ts +1 -1
- package/build/commands/metadata/lint.d.ts +12 -0
- package/build/commands/metadata/lint.js +72 -0
- package/build/commands/metadata/pull.js +20 -9
- package/build/commands/metadata/push.js +20 -9
- package/build/commands/secret/create.d.ts +1 -1
- package/build/commands/secret/list.js +12 -17
- package/build/commands/submit.d.ts +1 -1
- package/build/commands/update/configure.d.ts +1 -0
- package/build/commands/update/configure.js +10 -216
- package/build/commands/update/index.d.ts +3 -9
- package/build/commands/update/index.js +136 -143
- package/build/commands/update/list.d.ts +1 -1
- package/build/commands/webhook/create.d.ts +1 -1
- package/build/commands/webhook/list.d.ts +1 -1
- package/build/commands/webhook/update.d.ts +1 -1
- package/build/devices/actions/create/inputMethod.js +2 -15
- package/build/devices/utils/formatDevice.d.ts +2 -0
- package/build/devices/utils/formatDevice.js +32 -7
- package/build/env.d.ts +8 -0
- package/build/env.js +8 -0
- package/build/graphql/generated.d.ts +100 -23
- package/build/graphql/generated.js +10 -2
- package/build/graphql/mutations/KeystoreGenerationUrlMutation.js +1 -1
- package/build/graphql/queries/UserQuery.js +2 -2
- package/build/graphql/types/Build.js +2 -0
- package/build/log.d.ts +1 -0
- package/build/log.js +3 -0
- package/build/metadata/apple/rules/index.d.ts +1 -0
- package/build/metadata/apple/rules/index.js +6 -0
- package/build/metadata/apple/rules/infoKeywordLength.d.ts +6 -0
- package/build/metadata/apple/rules/infoKeywordLength.js +35 -0
- package/build/metadata/apple/rules/infoRestrictedWords.d.ts +6 -0
- package/build/metadata/apple/rules/infoRestrictedWords.js +57 -0
- package/build/metadata/apple/tasks/index.d.ts +1 -2
- package/build/metadata/apple/tasks/index.js +1 -1
- package/build/metadata/auth.d.ts +21 -0
- package/build/metadata/auth.js +33 -0
- package/build/metadata/config/issue.d.ts +21 -0
- package/build/metadata/config/issue.js +9 -0
- package/build/metadata/config/resolve.d.ts +27 -0
- package/build/metadata/{config.js → config/resolve.js} +24 -25
- package/build/metadata/config/schema.d.ts +7 -0
- package/build/metadata/config/schema.js +2 -0
- package/build/metadata/config/validate.d.ts +3 -0
- package/build/metadata/config/validate.js +47 -0
- package/build/metadata/download.d.ts +11 -2
- package/build/metadata/download.js +14 -9
- package/build/metadata/errors.d.ts +3 -3
- package/build/metadata/errors.js +3 -1
- package/build/metadata/upload.d.ts +11 -2
- package/build/metadata/upload.js +16 -11
- package/build/metadata/utils/ajv.d.ts +10 -0
- package/build/metadata/utils/ajv.js +30 -0
- package/build/metadata/utils/telemetry.js +6 -6
- package/build/project/projectUtils.d.ts +3 -1
- package/build/project/projectUtils.js +10 -3
- package/build/project/publish.d.ts +13 -10
- package/build/project/publish.js +68 -38
- package/build/project/workflow.d.ts +1 -0
- package/build/project/workflow.js +9 -1
- package/build/run/android/run.d.ts +1 -0
- package/build/run/android/run.js +9 -0
- package/build/run/ios/run.d.ts +1 -0
- package/build/run/ios/run.js +31 -0
- package/build/run/ios/simctl.d.ts +2 -0
- package/build/run/ios/simctl.js +8 -0
- package/build/run/ios/simulator.d.ts +21 -0
- package/build/run/ios/simulator.js +161 -0
- package/build/run/ios/systemRequirements.d.ts +1 -0
- package/build/run/ios/systemRequirements.js +82 -0
- package/build/run/ios/xcode.d.ts +4 -0
- package/build/run/ios/xcode.js +41 -0
- package/build/run/ios/xcrun.d.ts +4 -0
- package/build/run/ios/xcrun.js +68 -0
- package/build/run/run.d.ts +8 -0
- package/build/run/run.js +15 -0
- package/build/submit/ArchiveSource.js +12 -16
- package/build/submit/utils/summary.d.ts +1 -1
- package/build/update/configure.d.ts +22 -0
- package/build/update/configure.js +200 -0
- package/build/update/queries.js +30 -39
- package/build/update/utils.d.ts +8 -1
- package/build/update/utils.js +35 -1
- package/build/utils/buildDistribution.d.ts +3 -0
- package/build/utils/buildDistribution.js +20 -0
- package/build/utils/download.d.ts +2 -0
- package/build/utils/download.js +114 -0
- package/build/utils/expoCli.d.ts +6 -0
- package/build/utils/expoCli.js +46 -1
- package/build/utils/expodash/filter.d.ts +2 -0
- package/build/utils/expodash/filter.js +8 -0
- package/build/utils/expodash/memoize.d.ts +2 -0
- package/build/utils/expodash/memoize.js +17 -0
- package/build/utils/formatFields.d.ts +3 -2
- package/build/utils/image.d.ts +6 -0
- package/build/utils/image.js +107 -0
- package/build/utils/statuspageService.js +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +36 -30
- package/schema/metadata-0.json +1 -1
- package/build/metadata/config.d.ts +0 -41
- package/build/metadata/context.d.ts +0 -50
- package/build/metadata/context.js +0 -47
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
5
|
+
const env_1 = tslib_1.__importDefault(require("../../env"));
|
|
6
|
+
function parseFeatureGateEnvVariableValue(value) {
|
|
7
|
+
if (!value) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
return value.split(',').map(v => v.trim());
|
|
11
|
+
}
|
|
12
|
+
class FeatureGateEnvOverrides {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.map = new Map();
|
|
15
|
+
const overrideEnableGateKeys = new Set(parseFeatureGateEnvVariableValue(env_1.default.featureGateEnable));
|
|
16
|
+
const overrideDisableGateKeys = new Set(parseFeatureGateEnvVariableValue(env_1.default.featureGateDisable));
|
|
17
|
+
for (const overrideEnableKey of overrideEnableGateKeys) {
|
|
18
|
+
if (overrideDisableGateKeys.has(overrideEnableKey)) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
this.map.set(overrideEnableKey, true);
|
|
22
|
+
}
|
|
23
|
+
for (const overrideDisableGateKey of overrideDisableGateKeys) {
|
|
24
|
+
this.map.set(overrideDisableGateKey, false);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
isOverridden(key) {
|
|
28
|
+
var _a;
|
|
29
|
+
return (_a = this.map.has(key)) !== null && _a !== void 0 ? _a : false;
|
|
30
|
+
}
|
|
31
|
+
getOverride(key) {
|
|
32
|
+
return (0, nullthrows_1.default)(this.map.get(key));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.default = FeatureGateEnvOverrides;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.featureGateDefaultValueWhenNoServerValue = exports.FeatureGateKey = void 0;
|
|
4
|
+
var FeatureGateKey;
|
|
5
|
+
(function (FeatureGateKey) {
|
|
6
|
+
// for tests
|
|
7
|
+
FeatureGateKey["TEST"] = "test";
|
|
8
|
+
})(FeatureGateKey = exports.FeatureGateKey || (exports.FeatureGateKey = {}));
|
|
9
|
+
exports.featureGateDefaultValueWhenNoServerValue = {
|
|
10
|
+
[FeatureGateKey.TEST]: true,
|
|
11
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FeatureGateKey } from './FeatureGateKey';
|
|
2
|
+
export declare const setOverride: (_key: FeatureGateKey, _enabled: boolean) => void;
|
|
3
|
+
export declare const removeOverride: (_key: FeatureGateKey) => void;
|
|
4
|
+
export declare const isOverridden: (_key: FeatureGateKey) => boolean;
|
|
5
|
+
export declare const getOverride: (_key: FeatureGateKey) => boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOverride = exports.isOverridden = exports.removeOverride = exports.setOverride = void 0;
|
|
4
|
+
const setOverride = (_key, _enabled) => {
|
|
5
|
+
throw new Error('Must use mocked FeatureGateTestOverrides');
|
|
6
|
+
};
|
|
7
|
+
exports.setOverride = setOverride;
|
|
8
|
+
const removeOverride = (_key) => {
|
|
9
|
+
throw new Error('Must use mocked FeatureGateTestOverrides');
|
|
10
|
+
};
|
|
11
|
+
exports.removeOverride = removeOverride;
|
|
12
|
+
const isOverridden = (_key) => false;
|
|
13
|
+
exports.isOverridden = isOverridden;
|
|
14
|
+
const getOverride = (_key) => {
|
|
15
|
+
throw new Error('Must use mocked FeatureGateTestOverrides');
|
|
16
|
+
};
|
|
17
|
+
exports.getOverride = getOverride;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import FeatureGateEnvOverrides from './FeatureGateEnvOverrides';
|
|
2
|
+
import { FeatureGateKey } from './FeatureGateKey';
|
|
3
|
+
export default class FeatureGating {
|
|
4
|
+
private readonly serverValues;
|
|
5
|
+
private readonly envOverrides;
|
|
6
|
+
constructor(serverValues: {
|
|
7
|
+
[key: string]: boolean;
|
|
8
|
+
}, envOverrides: FeatureGateEnvOverrides);
|
|
9
|
+
isEnabled(experimentKey: FeatureGateKey): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Test gate override methods
|
|
12
|
+
*/
|
|
13
|
+
static overrideKeyForScope(key: FeatureGateKey, enabled: boolean, scope: () => void): void;
|
|
14
|
+
static overrideKeyForScopeAsync(key: FeatureGateKey, enabled: boolean, scope: () => Promise<void>): Promise<void>;
|
|
15
|
+
static overrideKeyForEachInTest(key: FeatureGateKey, enabled: boolean): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const FeatureGateKey_1 = require("./FeatureGateKey");
|
|
5
|
+
const FeatureGateTestOverrides = tslib_1.__importStar(require("./FeatureGateTestOverrides"));
|
|
6
|
+
class FeatureGating {
|
|
7
|
+
constructor(serverValues, envOverrides) {
|
|
8
|
+
this.serverValues = serverValues;
|
|
9
|
+
this.envOverrides = envOverrides;
|
|
10
|
+
}
|
|
11
|
+
isEnabled(experimentKey) {
|
|
12
|
+
if (process.env.NODE_ENV === 'test' && FeatureGateTestOverrides.isOverridden(experimentKey)) {
|
|
13
|
+
return FeatureGateTestOverrides.getOverride(experimentKey);
|
|
14
|
+
}
|
|
15
|
+
if (this.envOverrides.isOverridden(experimentKey)) {
|
|
16
|
+
return this.envOverrides.getOverride(experimentKey);
|
|
17
|
+
}
|
|
18
|
+
if (experimentKey in this.serverValues) {
|
|
19
|
+
return this.serverValues[experimentKey];
|
|
20
|
+
}
|
|
21
|
+
return FeatureGateKey_1.featureGateDefaultValueWhenNoServerValue[experimentKey];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Test gate override methods
|
|
25
|
+
*/
|
|
26
|
+
static overrideKeyForScope(key, enabled, scope) {
|
|
27
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
28
|
+
throw new Error(`Cannot overrideKeyForScope outside of test environment`);
|
|
29
|
+
}
|
|
30
|
+
FeatureGateTestOverrides.setOverride(key, enabled);
|
|
31
|
+
try {
|
|
32
|
+
scope();
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
FeatureGateTestOverrides.removeOverride(key);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
static async overrideKeyForScopeAsync(key, enabled, scope) {
|
|
39
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
40
|
+
throw new Error(`Cannot overrideKeyForScopeAsync outside of test environment`);
|
|
41
|
+
}
|
|
42
|
+
FeatureGateTestOverrides.setOverride(key, enabled);
|
|
43
|
+
try {
|
|
44
|
+
await scope();
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
FeatureGateTestOverrides.removeOverride(key);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
static overrideKeyForEachInTest(key, enabled) {
|
|
51
|
+
beforeEach(() => FeatureGateTestOverrides.setOverride(key, enabled));
|
|
52
|
+
afterEach(() => FeatureGateTestOverrides.removeOverride(key));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.default = FeatureGating;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { OptionFlag } from '@oclif/core/lib/interfaces';
|
|
1
2
|
import { EasNonInteractiveAndJsonFlags } from './flags';
|
|
2
3
|
export declare const getPaginatedQueryOptions: (flags: Partial<Record<keyof typeof EasPaginatedQueryFlags | keyof typeof EasNonInteractiveAndJsonFlags, any>>) => PaginatedQueryOptions;
|
|
3
4
|
export declare const getLimitFlagWithCustomValues: ({ defaultTo, limit, }: {
|
|
4
5
|
defaultTo: number;
|
|
5
6
|
limit: number;
|
|
6
|
-
}) =>
|
|
7
|
+
}) => OptionFlag<number | undefined>;
|
|
7
8
|
export declare const EasPaginatedQueryFlags: {
|
|
8
|
-
offset:
|
|
9
|
-
limit:
|
|
9
|
+
offset: OptionFlag<number | undefined>;
|
|
10
|
+
limit: OptionFlag<number | undefined>;
|
|
10
11
|
};
|
|
11
12
|
export declare type PaginatedQueryOptions = {
|
|
12
13
|
nonInteractive: boolean;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import EasCommand from '../../commandUtils/EasCommand';
|
|
2
|
-
import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
|
|
3
|
-
import { CreateUpdateBranchForAppMutationVariables, UpdateBranch } from '../../graphql/generated';
|
|
4
|
-
export declare function createUpdateBranchOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, name }: CreateUpdateBranchForAppMutationVariables): Promise<Pick<UpdateBranch, 'id' | 'name'>>;
|
|
5
2
|
export default class BranchCreate extends EasCommand {
|
|
6
3
|
static description: string;
|
|
7
4
|
static args: {
|
|
@@ -1,41 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.createUpdateBranchOnAppAsync = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
6
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const
|
|
6
|
+
const queries_1 = require("../../branch/queries");
|
|
8
7
|
const utils_1 = require("../../branch/utils");
|
|
9
8
|
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
10
9
|
const flags_1 = require("../../commandUtils/flags");
|
|
11
|
-
const client_1 = require("../../graphql/client");
|
|
12
10
|
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
13
11
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
14
12
|
const prompts_1 = require("../../prompts");
|
|
15
13
|
const json_1 = require("../../utils/json");
|
|
16
|
-
async function createUpdateBranchOnAppAsync(graphqlClient, { appId, name }) {
|
|
17
|
-
const result = await (0, client_1.withErrorHandlingAsync)(graphqlClient
|
|
18
|
-
.mutation((0, graphql_tag_1.default) `
|
|
19
|
-
mutation createUpdateBranchForApp($appId: ID!, $name: String!) {
|
|
20
|
-
updateBranch {
|
|
21
|
-
createUpdateBranchForApp(appId: $appId, name: $name) {
|
|
22
|
-
id
|
|
23
|
-
name
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
`, {
|
|
28
|
-
appId,
|
|
29
|
-
name,
|
|
30
|
-
})
|
|
31
|
-
.toPromise());
|
|
32
|
-
const newBranch = result.updateBranch.createUpdateBranchForApp;
|
|
33
|
-
if (!newBranch) {
|
|
34
|
-
throw new Error(`Could not create branch ${name}.`);
|
|
35
|
-
}
|
|
36
|
-
return newBranch;
|
|
37
|
-
}
|
|
38
|
-
exports.createUpdateBranchOnAppAsync = createUpdateBranchOnAppAsync;
|
|
39
14
|
class BranchCreate extends EasCommand_1.default {
|
|
40
15
|
async runAsync() {
|
|
41
16
|
let { args: { name }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(BranchCreate);
|
|
@@ -59,7 +34,7 @@ class BranchCreate extends EasCommand_1.default {
|
|
|
59
34
|
validate: value => (value ? true : validationMessage),
|
|
60
35
|
}));
|
|
61
36
|
}
|
|
62
|
-
const newBranch = await createUpdateBranchOnAppAsync(graphqlClient, { appId: projectId, name });
|
|
37
|
+
const newBranch = await (0, queries_1.createUpdateBranchOnAppAsync)(graphqlClient, { appId: projectId, name });
|
|
63
38
|
if (jsonFlag) {
|
|
64
39
|
(0, json_1.printJsonOnlyOutput)(newBranch);
|
|
65
40
|
}
|
|
@@ -5,7 +5,7 @@ export default class BranchList extends EasCommand {
|
|
|
5
5
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
6
6
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
7
|
offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
8
|
-
limit:
|
|
8
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
9
9
|
};
|
|
10
10
|
static contextDefinition: {
|
|
11
11
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
@@ -7,7 +7,7 @@ export default class BranchView extends EasCommand {
|
|
|
7
7
|
description: string;
|
|
8
8
|
}[];
|
|
9
9
|
static flags: {
|
|
10
|
-
limit:
|
|
10
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
11
11
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
12
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
@@ -2,7 +2,7 @@ import EasCommand from '../../commandUtils/EasCommand';
|
|
|
2
2
|
export default class BuildConfigure extends EasCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static flags: {
|
|
5
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
5
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
6
6
|
};
|
|
7
7
|
static contextDefinition: {
|
|
8
8
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
@@ -5,7 +5,7 @@ export default class Build extends EasCommand {
|
|
|
5
5
|
static flags: {
|
|
6
6
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
7
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
8
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
9
9
|
'skip-credentials-check': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
'skip-project-configuration': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
11
|
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
@@ -15,7 +15,7 @@ export default class Build extends EasCommand {
|
|
|
15
15
|
'clear-cache': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
16
|
'auto-submit': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
17
|
'auto-submit-with-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
18
|
-
'resource-class': import("@oclif/core/lib/interfaces").OptionFlag<UserInputResourceClass>;
|
|
18
|
+
'resource-class': import("@oclif/core/lib/interfaces").OptionFlag<UserInputResourceClass | undefined>;
|
|
19
19
|
message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
20
20
|
};
|
|
21
21
|
static contextDefinition: {
|
|
@@ -6,11 +6,11 @@ export default class BuildList extends EasCommand {
|
|
|
6
6
|
static flags: {
|
|
7
7
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
8
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
limit:
|
|
9
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
10
10
|
offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
11
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform>;
|
|
12
|
-
status: import("@oclif/core/lib/interfaces").OptionFlag<BuildStatus>;
|
|
13
|
-
distribution: import("@oclif/core/lib/interfaces").OptionFlag<BuildDistributionType>;
|
|
11
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform | undefined>;
|
|
12
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<BuildStatus | undefined>;
|
|
13
|
+
distribution: import("@oclif/core/lib/interfaces").OptionFlag<BuildDistributionType | undefined>;
|
|
14
14
|
channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
15
15
|
appVersion: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
16
16
|
appBuildVersion: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
@@ -11,6 +11,7 @@ const pagination_1 = require("../../commandUtils/pagination");
|
|
|
11
11
|
const generated_1 = require("../../graphql/generated");
|
|
12
12
|
const platform_1 = require("../../platform");
|
|
13
13
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
14
|
+
const buildDistribution_1 = require("../../utils/buildDistribution");
|
|
14
15
|
const json_1 = require("../../utils/json");
|
|
15
16
|
class BuildList extends EasCommand_1.default {
|
|
16
17
|
async runAsync() {
|
|
@@ -25,7 +26,7 @@ class BuildList extends EasCommand_1.default {
|
|
|
25
26
|
}
|
|
26
27
|
const platform = toAppPlatform(requestedPlatform);
|
|
27
28
|
const graphqlBuildStatus = toGraphQLBuildStatus(buildStatus);
|
|
28
|
-
const graphqlBuildDistribution =
|
|
29
|
+
const graphqlBuildDistribution = (0, buildDistribution_1.buildDistributionTypeToGraphQLDistributionType)(buildDistribution);
|
|
29
30
|
const displayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
|
|
30
31
|
await (0, queries_1.listAndRenderBuildsOnAppAsync)(graphqlClient, {
|
|
31
32
|
projectId,
|
|
@@ -121,17 +122,3 @@ const toGraphQLBuildStatus = (buildStatus) => {
|
|
|
121
122
|
return generated_1.BuildStatus.Canceled;
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
|
-
const toGraphQLBuildDistribution = (buildDistribution) => {
|
|
125
|
-
if (buildDistribution === types_1.BuildDistributionType.STORE) {
|
|
126
|
-
return generated_1.DistributionType.Store;
|
|
127
|
-
}
|
|
128
|
-
else if (buildDistribution === types_1.BuildDistributionType.INTERNAL) {
|
|
129
|
-
return generated_1.DistributionType.Internal;
|
|
130
|
-
}
|
|
131
|
-
else if (buildDistribution === types_1.BuildDistributionType.SIMULATOR) {
|
|
132
|
-
return generated_1.DistributionType.Simulator;
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
return undefined;
|
|
136
|
-
}
|
|
137
|
-
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import EasCommand from '../../commandUtils/EasCommand';
|
|
2
|
+
export default class Run extends EasCommand {
|
|
3
|
+
static hidden: boolean;
|
|
4
|
+
static description: string;
|
|
5
|
+
static flags: {
|
|
6
|
+
offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
7
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
8
|
+
latest: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
10
|
+
path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
11
|
+
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
12
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
13
|
+
};
|
|
14
|
+
static contextDefinition: {
|
|
15
|
+
projectDir: import("../../commandUtils/context/ProjectDirContextField").default;
|
|
16
|
+
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
17
|
+
projectConfig: import("../../commandUtils/context/ProjectConfigContextField").default;
|
|
18
|
+
};
|
|
19
|
+
runAsync(): Promise<void>;
|
|
20
|
+
private sanitizeFlagsAsync;
|
|
21
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
|
+
const fs_extra_1 = require("fs-extra");
|
|
7
|
+
const node_assert_1 = tslib_1.__importDefault(require("node:assert"));
|
|
8
|
+
const queries_1 = require("../../build/queries");
|
|
9
|
+
const types_1 = require("../../build/types");
|
|
10
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
11
|
+
const pagination_1 = require("../../commandUtils/pagination");
|
|
12
|
+
const generated_1 = require("../../graphql/generated");
|
|
13
|
+
const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
|
|
14
|
+
const projectUtils_1 = require("../../project/projectUtils");
|
|
15
|
+
const prompts_1 = require("../../prompts");
|
|
16
|
+
const run_1 = require("../../run/run");
|
|
17
|
+
const buildDistribution_1 = require("../../utils/buildDistribution");
|
|
18
|
+
const download_1 = require("../../utils/download");
|
|
19
|
+
class Run extends EasCommand_1.default {
|
|
20
|
+
async runAsync() {
|
|
21
|
+
const { flags: rawFlags } = await this.parse(Run);
|
|
22
|
+
const flags = await this.sanitizeFlagsAsync(rawFlags);
|
|
23
|
+
const queryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
|
|
24
|
+
const { loggedIn: { graphqlClient }, projectConfig: { projectId }, } = await this.getContextAsync(Run, {
|
|
25
|
+
nonInteractive: false,
|
|
26
|
+
});
|
|
27
|
+
const simulatorBuildPath = await getPathToSimulatorBuildAppAsync(graphqlClient, projectId, flags, queryOptions);
|
|
28
|
+
await (0, run_1.runAsync)(simulatorBuildPath, flags.selectedPlatform);
|
|
29
|
+
}
|
|
30
|
+
async sanitizeFlagsAsync(flags) {
|
|
31
|
+
const { platform, limit, offset, ...runArchiveFlags } = flags;
|
|
32
|
+
const selectedPlatform = await resolvePlatformAsync(platform);
|
|
33
|
+
if (runArchiveFlags.path &&
|
|
34
|
+
!((runArchiveFlags.path.endsWith('.tar.gz') ||
|
|
35
|
+
runArchiveFlags.path.endsWith('.app') ||
|
|
36
|
+
runArchiveFlags.path.endsWith('.apk')) &&
|
|
37
|
+
(0, fs_extra_1.existsSync)(runArchiveFlags.path))) {
|
|
38
|
+
core_1.Errors.error('The path must point to a .tar.gz archive, .apk file, or .app directory', {
|
|
39
|
+
exit: 1,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
selectedPlatform,
|
|
44
|
+
runArchiveFlags,
|
|
45
|
+
limit,
|
|
46
|
+
offset,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.default = Run;
|
|
51
|
+
_a = Run;
|
|
52
|
+
Run.hidden = true;
|
|
53
|
+
Run.description = 'run simulator/emulator builds from eas-cli';
|
|
54
|
+
Run.flags = {
|
|
55
|
+
latest: core_1.Flags.boolean({
|
|
56
|
+
description: 'Run the latest simulator/emulator build for specified platform',
|
|
57
|
+
exclusive: ['id', 'path', 'url'],
|
|
58
|
+
}),
|
|
59
|
+
url: core_1.Flags.string({
|
|
60
|
+
description: 'Simulator/Emulator build archive url',
|
|
61
|
+
exclusive: ['latest', 'id', 'path'],
|
|
62
|
+
}),
|
|
63
|
+
path: core_1.Flags.string({
|
|
64
|
+
description: 'Path to the simulator/emulator build archive or simulator build app',
|
|
65
|
+
exclusive: ['latest', 'id', 'url'],
|
|
66
|
+
}),
|
|
67
|
+
id: core_1.Flags.string({
|
|
68
|
+
description: 'ID of the simulator/emulator build to run',
|
|
69
|
+
exclusive: ['latest, path, url'],
|
|
70
|
+
}),
|
|
71
|
+
platform: core_1.Flags.enum({
|
|
72
|
+
char: 'p',
|
|
73
|
+
options: ['android', 'ios'],
|
|
74
|
+
}),
|
|
75
|
+
...pagination_1.EasPaginatedQueryFlags,
|
|
76
|
+
};
|
|
77
|
+
Run.contextDefinition = {
|
|
78
|
+
..._a.ContextOptions.LoggedIn,
|
|
79
|
+
..._a.ContextOptions.ProjectConfig,
|
|
80
|
+
..._a.ContextOptions.ProjectDir,
|
|
81
|
+
};
|
|
82
|
+
async function resolvePlatformAsync(platform) {
|
|
83
|
+
if (platform && Object.values(generated_1.AppPlatform).includes(platform.toUpperCase())) {
|
|
84
|
+
return platform.toUpperCase();
|
|
85
|
+
}
|
|
86
|
+
const { selectedPlatform } = await (0, prompts_1.promptAsync)({
|
|
87
|
+
type: 'select',
|
|
88
|
+
message: 'Select platform',
|
|
89
|
+
name: 'selectedPlatform',
|
|
90
|
+
choices: [
|
|
91
|
+
{ title: 'Android', value: generated_1.AppPlatform.Android },
|
|
92
|
+
{ title: 'iOS', value: generated_1.AppPlatform.Ios },
|
|
93
|
+
],
|
|
94
|
+
});
|
|
95
|
+
return selectedPlatform;
|
|
96
|
+
}
|
|
97
|
+
async function maybeGetBuildAsync(graphqlClient, flags, projectId, paginatedQueryOptions) {
|
|
98
|
+
if (flags.runArchiveFlags.id) {
|
|
99
|
+
return BuildQuery_1.BuildQuery.byIdAsync(graphqlClient, flags.runArchiveFlags.id);
|
|
100
|
+
}
|
|
101
|
+
else if (!flags.runArchiveFlags.id &&
|
|
102
|
+
!flags.runArchiveFlags.path &&
|
|
103
|
+
!flags.runArchiveFlags.url &&
|
|
104
|
+
!flags.runArchiveFlags.latest) {
|
|
105
|
+
return await (0, queries_1.listAndSelectBuildsOnAppAsync)(graphqlClient, {
|
|
106
|
+
projectId,
|
|
107
|
+
projectDisplayName: await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId),
|
|
108
|
+
filter: {
|
|
109
|
+
platform: flags.selectedPlatform,
|
|
110
|
+
distribution: (0, buildDistribution_1.buildDistributionTypeToGraphQLDistributionType)(types_1.BuildDistributionType.SIMULATOR),
|
|
111
|
+
status: generated_1.BuildStatus.Finished,
|
|
112
|
+
},
|
|
113
|
+
queryOptions: paginatedQueryOptions,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else if (flags.runArchiveFlags.latest) {
|
|
117
|
+
return await (0, queries_1.getLatestBuildAsync)(graphqlClient, {
|
|
118
|
+
projectId,
|
|
119
|
+
filter: {
|
|
120
|
+
platform: flags.selectedPlatform,
|
|
121
|
+
distribution: (0, buildDistribution_1.buildDistributionTypeToGraphQLDistributionType)(types_1.BuildDistributionType.SIMULATOR),
|
|
122
|
+
status: generated_1.BuildStatus.Finished,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async function getPathToSimulatorBuildAppAsync(graphqlClient, projectId, flags, queryOptions) {
|
|
131
|
+
var _b, _c;
|
|
132
|
+
const maybeBuild = await maybeGetBuildAsync(graphqlClient, flags, projectId, queryOptions);
|
|
133
|
+
const appExtension = flags.selectedPlatform === generated_1.AppPlatform.Ios ? 'app' : 'apk';
|
|
134
|
+
if (maybeBuild) {
|
|
135
|
+
if (!((_b = maybeBuild.artifacts) === null || _b === void 0 ? void 0 : _b.applicationArchiveUrl)) {
|
|
136
|
+
throw new Error('Build does not have an application archive url');
|
|
137
|
+
}
|
|
138
|
+
return await (0, download_1.downloadAndExtractAppAsync)(maybeBuild.artifacts.applicationArchiveUrl, appExtension);
|
|
139
|
+
}
|
|
140
|
+
if (flags.runArchiveFlags.url) {
|
|
141
|
+
return await (0, download_1.downloadAndExtractAppAsync)(flags.runArchiveFlags.url, appExtension);
|
|
142
|
+
}
|
|
143
|
+
if ((_c = flags.runArchiveFlags.path) === null || _c === void 0 ? void 0 : _c.endsWith('.tar.gz')) {
|
|
144
|
+
return await (0, download_1.extractAppFromLocalArchiveAsync)(flags.runArchiveFlags.path, appExtension);
|
|
145
|
+
}
|
|
146
|
+
// this should never fail, due to the validation in sanitizeFlagsAsync
|
|
147
|
+
(0, node_assert_1.default)(flags.runArchiveFlags.path);
|
|
148
|
+
return flags.runArchiveFlags.path;
|
|
149
|
+
}
|
|
@@ -2,7 +2,7 @@ import EasCommand from '../../../commandUtils/EasCommand';
|
|
|
2
2
|
export default class BuildVersionSetView extends EasCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static flags: {
|
|
5
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
5
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
6
6
|
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
7
7
|
};
|
|
8
8
|
static contextDefinition: {
|
|
@@ -2,7 +2,7 @@ import EasCommand from '../../../commandUtils/EasCommand';
|
|
|
2
2
|
export default class BuildVersionSyncView extends EasCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static flags: {
|
|
5
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
5
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
6
6
|
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
7
7
|
};
|
|
8
8
|
static contextDefinition: {
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import EasCommand from '../../commandUtils/EasCommand';
|
|
2
|
-
import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
|
|
3
|
-
import { CreateUpdateChannelOnAppMutation } from '../../graphql/generated';
|
|
4
|
-
export declare function createUpdateChannelOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, channelName, branchId, }: {
|
|
5
|
-
appId: string;
|
|
6
|
-
channelName: string;
|
|
7
|
-
branchId: string;
|
|
8
|
-
}): Promise<CreateUpdateChannelOnAppMutation>;
|
|
9
2
|
export default class ChannelCreate extends EasCommand {
|
|
10
3
|
static description: string;
|
|
11
4
|
static args: {
|
|
@@ -1,46 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.createUpdateChannelOnAppAsync = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
6
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const
|
|
6
|
+
const queries_1 = require("../../branch/queries");
|
|
8
7
|
const utils_1 = require("../../branch/utils");
|
|
8
|
+
const queries_2 = require("../../channel/queries");
|
|
9
9
|
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
10
10
|
const flags_1 = require("../../commandUtils/flags");
|
|
11
|
-
const client_1 = require("../../graphql/client");
|
|
12
11
|
const BranchQuery_1 = require("../../graphql/queries/BranchQuery");
|
|
13
12
|
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
14
13
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
15
14
|
const prompts_1 = require("../../prompts");
|
|
16
15
|
const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields"));
|
|
17
16
|
const json_1 = require("../../utils/json");
|
|
18
|
-
const create_1 = require("../branch/create");
|
|
19
|
-
async function createUpdateChannelOnAppAsync(graphqlClient, { appId, channelName, branchId, }) {
|
|
20
|
-
// Point the new channel at a branch with its same name.
|
|
21
|
-
const branchMapping = JSON.stringify({
|
|
22
|
-
data: [{ branchId, branchMappingLogic: 'true' }],
|
|
23
|
-
version: 0,
|
|
24
|
-
});
|
|
25
|
-
return await (0, client_1.withErrorHandlingAsync)(graphqlClient
|
|
26
|
-
.mutation((0, graphql_tag_1.default) `
|
|
27
|
-
mutation CreateUpdateChannelOnApp($appId: ID!, $name: String!, $branchMapping: String!) {
|
|
28
|
-
updateChannel {
|
|
29
|
-
createUpdateChannelForApp(appId: $appId, name: $name, branchMapping: $branchMapping) {
|
|
30
|
-
id
|
|
31
|
-
name
|
|
32
|
-
branchMapping
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
`, {
|
|
37
|
-
appId,
|
|
38
|
-
name: channelName,
|
|
39
|
-
branchMapping,
|
|
40
|
-
})
|
|
41
|
-
.toPromise());
|
|
42
|
-
}
|
|
43
|
-
exports.createUpdateChannelOnAppAsync = createUpdateChannelOnAppAsync;
|
|
44
17
|
class ChannelCreate extends EasCommand_1.default {
|
|
45
18
|
async runAsync() {
|
|
46
19
|
let { args: { name: channelName }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(ChannelCreate);
|
|
@@ -74,7 +47,7 @@ class ChannelCreate extends EasCommand_1.default {
|
|
|
74
47
|
}
|
|
75
48
|
catch (error) {
|
|
76
49
|
if (error instanceof utils_1.BranchNotFoundError) {
|
|
77
|
-
const newBranch = await (0,
|
|
50
|
+
const newBranch = await (0, queries_1.createUpdateBranchOnAppAsync)(graphqlClient, {
|
|
78
51
|
appId: projectId,
|
|
79
52
|
name: channelName,
|
|
80
53
|
});
|
|
@@ -85,7 +58,7 @@ class ChannelCreate extends EasCommand_1.default {
|
|
|
85
58
|
throw error;
|
|
86
59
|
}
|
|
87
60
|
}
|
|
88
|
-
const { updateChannel: { createUpdateChannelForApp: newChannel }, } = await
|
|
61
|
+
const { updateChannel: { createUpdateChannelForApp: newChannel }, } = await (0, queries_2.createChannelOnAppAsync)(graphqlClient, {
|
|
89
62
|
appId: projectId,
|
|
90
63
|
channelName,
|
|
91
64
|
branchId,
|
|
@@ -4,7 +4,7 @@ export default class ChannelList extends EasCommand {
|
|
|
4
4
|
static flags: {
|
|
5
5
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
6
6
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
-
limit:
|
|
7
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
8
8
|
offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
9
9
|
};
|
|
10
10
|
static contextDefinition: {
|
|
@@ -8,7 +8,7 @@ export default class ChannelView extends EasCommand {
|
|
|
8
8
|
}[];
|
|
9
9
|
static flags: {
|
|
10
10
|
offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
11
|
-
limit:
|
|
11
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
|
|
12
12
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
};
|
|
@@ -3,7 +3,7 @@ import EasCommand from '../commandUtils/EasCommand';
|
|
|
3
3
|
export default class Config extends EasCommand {
|
|
4
4
|
static description: string;
|
|
5
5
|
static flags: {
|
|
6
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform>;
|
|
6
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform | undefined>;
|
|
7
7
|
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
8
8
|
};
|
|
9
9
|
static contextDefinition: {
|
|
@@ -2,7 +2,7 @@ import EasCommand from '../commandUtils/EasCommand';
|
|
|
2
2
|
export default class Credentials extends EasCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static flags: {
|
|
5
|
-
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
5
|
+
platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
6
6
|
};
|
|
7
7
|
static contextDefinition: {
|
|
8
8
|
analytics: import("../commandUtils/context/AnalyticsContextField").default;
|