eas-cli 12.6.0 → 12.6.1
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 +63 -63
- package/build/build/evaluateConfigWithEnvVarsAsync.js +27 -11
- package/build/commandUtils/EasCommand.d.ts +36 -5
- package/build/commandUtils/EasCommand.js +27 -2
- package/build/commandUtils/context/ContextField.d.ts +5 -0
- package/build/commandUtils/context/DynamicLoggedInContextField.d.ts +14 -0
- package/build/commandUtils/context/DynamicLoggedInContextField.js +25 -0
- package/build/commandUtils/context/DynamicProjectConfigContextField.d.ts +2 -2
- package/build/commandUtils/context/DynamicProjectConfigContextField.js +40 -2
- package/build/commandUtils/context/LoggedInContextField.d.ts +7 -7
- package/build/commandUtils/context/LoggedInContextField.js +2 -1
- package/build/commandUtils/context/MaybeLoggedInContextField.d.ts +9 -7
- package/build/commandUtils/context/MaybeLoggedInContextField.js +1 -0
- package/build/commandUtils/context/OptionalPrivateProjectConfigContextField.d.ts +1 -1
- package/build/commandUtils/context/OptionalPrivateProjectConfigContextField.js +17 -2
- package/build/commandUtils/context/PrivateProjectConfigContextField.d.ts +1 -1
- package/build/commandUtils/context/PrivateProjectConfigContextField.js +17 -2
- package/build/commandUtils/context/ProjectIdContextField.d.ts +4 -0
- package/build/commandUtils/context/ProjectIdContextField.js +19 -0
- package/build/commandUtils/context/ServerSideEnvironmentVariablesContextField.d.ts +6 -0
- package/build/commandUtils/context/ServerSideEnvironmentVariablesContextField.js +36 -0
- package/build/commandUtils/context/contextUtils/loadServerSideEnvironmentVariablesAsync.d.ts +7 -0
- package/build/commandUtils/context/contextUtils/loadServerSideEnvironmentVariablesAsync.js +42 -0
- package/build/commands/account/view.d.ts +0 -1
- package/build/commands/account/view.js +2 -3
- package/build/commands/branch/create.d.ts +1 -1
- package/build/commands/branch/create.js +2 -2
- package/build/commands/branch/delete.d.ts +1 -1
- package/build/commands/branch/delete.js +2 -2
- package/build/commands/branch/list.d.ts +1 -1
- package/build/commands/branch/list.js +2 -2
- package/build/commands/branch/rename.d.ts +1 -1
- package/build/commands/branch/rename.js +2 -2
- package/build/commands/branch/view.d.ts +1 -1
- package/build/commands/branch/view.js +2 -2
- package/build/commands/build/cancel.d.ts +1 -1
- package/build/commands/build/cancel.js +2 -2
- package/build/commands/build/configure.js +1 -0
- package/build/commands/build/delete.d.ts +1 -1
- package/build/commands/build/delete.js +2 -2
- package/build/commands/build/index.js +1 -0
- package/build/commands/build/inspect.js +1 -0
- package/build/commands/build/internal.js +1 -0
- package/build/commands/build/list.d.ts +1 -1
- package/build/commands/build/list.js +2 -2
- package/build/commands/build/resign.js +1 -0
- package/build/commands/build/run.d.ts +1 -2
- package/build/commands/build/run.js +2 -3
- package/build/commands/build/version/get.js +1 -0
- package/build/commands/build/version/set.js +1 -0
- package/build/commands/build/version/sync.js +1 -0
- package/build/commands/build/view.d.ts +1 -1
- package/build/commands/build/view.js +2 -2
- package/build/commands/channel/create.d.ts +1 -1
- package/build/commands/channel/create.js +2 -2
- package/build/commands/channel/delete.d.ts +1 -1
- package/build/commands/channel/delete.js +2 -2
- package/build/commands/channel/edit.d.ts +1 -1
- package/build/commands/channel/edit.js +2 -2
- package/build/commands/channel/list.d.ts +1 -1
- package/build/commands/channel/list.js +2 -2
- package/build/commands/channel/pause.d.ts +1 -1
- package/build/commands/channel/pause.js +2 -2
- package/build/commands/channel/resume.d.ts +1 -1
- package/build/commands/channel/resume.js +2 -2
- package/build/commands/channel/rollout.js +1 -0
- package/build/commands/channel/view.d.ts +1 -1
- package/build/commands/channel/view.js +2 -2
- package/build/commands/config.d.ts +1 -1
- package/build/commands/config.js +4 -7
- package/build/commands/credentials/configure-build.js +1 -0
- package/build/commands/credentials/index.d.ts +1 -1
- package/build/commands/credentials/index.js +2 -1
- package/build/commands/device/create.d.ts +1 -1
- package/build/commands/device/create.js +2 -1
- package/build/commands/device/delete.d.ts +1 -1
- package/build/commands/device/delete.js +2 -2
- package/build/commands/device/list.d.ts +1 -1
- package/build/commands/device/list.js +2 -2
- package/build/commands/device/rename.d.ts +1 -1
- package/build/commands/device/rename.js +2 -2
- package/build/commands/device/view.d.ts +1 -1
- package/build/commands/device/view.js +2 -2
- package/build/commands/env/create.d.ts +1 -1
- package/build/commands/env/create.js +8 -3
- package/build/commands/env/delete.d.ts +1 -1
- package/build/commands/env/delete.js +2 -2
- package/build/commands/env/exec.d.ts +1 -1
- package/build/commands/env/exec.js +2 -2
- package/build/commands/env/get.d.ts +1 -1
- package/build/commands/env/get.js +2 -2
- package/build/commands/env/link.d.ts +1 -1
- package/build/commands/env/link.js +2 -2
- package/build/commands/env/list.d.ts +1 -1
- package/build/commands/env/list.js +2 -2
- package/build/commands/env/pull.d.ts +2 -1
- package/build/commands/env/pull.js +22 -8
- package/build/commands/env/push.d.ts +1 -1
- package/build/commands/env/push.js +13 -2
- package/build/commands/env/unlink.d.ts +1 -1
- package/build/commands/env/unlink.js +2 -2
- package/build/commands/env/update.d.ts +1 -1
- package/build/commands/env/update.js +8 -6
- package/build/commands/metadata/pull.js +1 -0
- package/build/commands/metadata/push.js +1 -0
- package/build/commands/open.js +1 -0
- package/build/commands/project/info.d.ts +1 -1
- package/build/commands/project/info.js +2 -2
- package/build/commands/secret/create.d.ts +1 -1
- package/build/commands/secret/create.js +2 -2
- package/build/commands/secret/delete.d.ts +1 -1
- package/build/commands/secret/delete.js +2 -2
- package/build/commands/secret/list.d.ts +1 -1
- package/build/commands/secret/list.js +2 -2
- package/build/commands/secret/push.d.ts +1 -1
- package/build/commands/secret/push.js +2 -2
- package/build/commands/submit/internal.js +1 -0
- package/build/commands/submit.js +1 -0
- package/build/commands/update/configure.js +1 -0
- package/build/commands/update/edit.d.ts +1 -1
- package/build/commands/update/edit.js +2 -2
- package/build/commands/update/index.d.ts +2 -0
- package/build/commands/update/index.js +29 -3
- package/build/commands/update/list.d.ts +1 -1
- package/build/commands/update/list.js +2 -2
- package/build/commands/update/republish.js +1 -0
- package/build/commands/update/roll-back-to-embedded.js +1 -0
- package/build/commands/webhook/create.d.ts +1 -1
- package/build/commands/webhook/create.js +2 -2
- package/build/commands/webhook/delete.d.ts +1 -1
- package/build/commands/webhook/delete.js +2 -2
- package/build/commands/webhook/list.d.ts +1 -1
- package/build/commands/webhook/list.js +2 -2
- package/build/commands/worker/alias.js +1 -0
- package/build/commands/worker/deploy.js +1 -1
- package/build/graphql/mutations/EnvironmentVariableMutation.d.ts +1 -0
- package/build/project/publish.d.ts +2 -1
- package/build/project/publish.js +10 -4
- package/build/user/SessionManager.d.ts +1 -1
- package/build/utils/expoCli.d.ts +2 -1
- package/build/utils/expoCli.js +5 -1
- package/oclif.manifest.json +99 -85
- package/package.json +2 -2
|
@@ -21,7 +21,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
21
21
|
async runAsync() {
|
|
22
22
|
const { flags } = await this.parse(_a);
|
|
23
23
|
const { name, value: rawValue, scope, 'variable-name': currentName, 'variable-environment': currentEnvironment, 'non-interactive': nonInteractive, environment: environments, type, visibility, } = this.validateFlags(flags);
|
|
24
|
-
const {
|
|
24
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
25
25
|
nonInteractive,
|
|
26
26
|
});
|
|
27
27
|
const [projectDisplayName, ownerAccount] = await Promise.all([
|
|
@@ -60,7 +60,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
60
60
|
selectedVariable = existingVariables[0];
|
|
61
61
|
}
|
|
62
62
|
(0, assert_1.default)(selectedVariable, 'Variable must be selected');
|
|
63
|
-
const { name: newName, value: newValue, environment: newEnvironments, visibility: newVisibility, type: newType, } = await this.promptForMissingFlagsAsync(selectedVariable, {
|
|
63
|
+
const { name: newName, value: newValue, environment: newEnvironments, visibility: newVisibility, type: newType, fileName, } = await this.promptForMissingFlagsAsync(selectedVariable, {
|
|
64
64
|
name,
|
|
65
65
|
value: rawValue,
|
|
66
66
|
environment: environments,
|
|
@@ -75,6 +75,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
75
75
|
environments: newEnvironments,
|
|
76
76
|
type: newType,
|
|
77
77
|
visibility: newVisibility,
|
|
78
|
+
fileName: newValue ? fileName : undefined,
|
|
78
79
|
});
|
|
79
80
|
if (!variable) {
|
|
80
81
|
throw new Error(`Could not update variable with name ${name} ${suffix}`);
|
|
@@ -95,6 +96,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
95
96
|
async promptForMissingFlagsAsync(selectedVariable, { name, value, environment: environments, visibility, 'non-interactive': nonInteractive, type, ...rest }) {
|
|
96
97
|
let newType;
|
|
97
98
|
let newVisibility;
|
|
99
|
+
let fileName;
|
|
98
100
|
if (type === 'file') {
|
|
99
101
|
newType = generated_1.EnvironmentSecretType.FileBase64;
|
|
100
102
|
}
|
|
@@ -110,9 +112,6 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
110
112
|
}
|
|
111
113
|
if (!type && !value && !nonInteractive) {
|
|
112
114
|
newType = await (0, prompts_2.promptVariableTypeAsync)(nonInteractive, selectedVariable.type);
|
|
113
|
-
if (!newType || newType === selectedVariable.type) {
|
|
114
|
-
newType = undefined;
|
|
115
|
-
}
|
|
116
115
|
}
|
|
117
116
|
if (!value) {
|
|
118
117
|
value = await (0, prompts_2.promptVariableValueAsync)({
|
|
@@ -125,6 +124,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
125
124
|
});
|
|
126
125
|
if (!value || value.length === 0 || value === selectedVariable.value) {
|
|
127
126
|
value = undefined;
|
|
127
|
+
newType = undefined;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
let environmentFilePath;
|
|
@@ -133,6 +133,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
133
133
|
if (!(await fs_extra_1.default.pathExists(environmentFilePath))) {
|
|
134
134
|
throw new Error(`File "${value}" does not exist`);
|
|
135
135
|
}
|
|
136
|
+
fileName = path_1.default.basename(environmentFilePath);
|
|
136
137
|
}
|
|
137
138
|
value = environmentFilePath ? await fs_extra_1.default.readFile(environmentFilePath, 'base64') : value;
|
|
138
139
|
if (!environments || environments.length === 0) {
|
|
@@ -165,6 +166,7 @@ class EnvironmentVariableUpdate extends EasCommand_1.default {
|
|
|
165
166
|
scope: rest.scope ?? generated_1.EnvironmentVariableScope.Project,
|
|
166
167
|
'non-interactive': nonInteractive,
|
|
167
168
|
type: newType,
|
|
169
|
+
fileName,
|
|
168
170
|
...rest,
|
|
169
171
|
};
|
|
170
172
|
}
|
|
@@ -196,7 +198,7 @@ EnvironmentVariableUpdate.flags = {
|
|
|
196
198
|
...flags_1.EASNonInteractiveFlag,
|
|
197
199
|
};
|
|
198
200
|
EnvironmentVariableUpdate.contextDefinition = {
|
|
199
|
-
..._a.ContextOptions.
|
|
201
|
+
..._a.ContextOptions.ProjectId,
|
|
200
202
|
..._a.ContextOptions.Analytics,
|
|
201
203
|
..._a.ContextOptions.LoggedIn,
|
|
202
204
|
};
|
|
@@ -20,6 +20,7 @@ class MetadataPull extends EasCommand_1.default {
|
|
|
20
20
|
const { flags } = await this.parse(_a);
|
|
21
21
|
const { loggedIn: { actor, graphqlClient }, privateProjectConfig: { exp, projectId, projectDir }, analytics, vcsClient, } = await this.getContextAsync(_a, {
|
|
22
22
|
nonInteractive: false,
|
|
23
|
+
withServerSideEnvironment: null,
|
|
23
24
|
});
|
|
24
25
|
// this command is interactive (all nonInteractive flags passed to utility functions are false)
|
|
25
26
|
await (0, configure_1.ensureProjectConfiguredAsync)({ projectDir, nonInteractive: false, vcsClient });
|
|
@@ -18,6 +18,7 @@ class MetadataPush extends EasCommand_1.default {
|
|
|
18
18
|
const { flags } = await this.parse(_a);
|
|
19
19
|
const { loggedIn: { actor, graphqlClient }, privateProjectConfig: { exp, projectId, projectDir }, analytics, vcsClient, } = await this.getContextAsync(_a, {
|
|
20
20
|
nonInteractive: false,
|
|
21
|
+
withServerSideEnvironment: null,
|
|
21
22
|
});
|
|
22
23
|
// this command is interactive (all nonInteractive flags passed to utility functions are false)
|
|
23
24
|
await (0, configure_1.ensureProjectConfiguredAsync)({ projectDir, nonInteractive: false, vcsClient });
|
package/build/commands/open.js
CHANGED
|
@@ -12,6 +12,7 @@ class Open extends EasCommand_1.default {
|
|
|
12
12
|
// this command is interactive by nature (only really run by humans in a terminal)
|
|
13
13
|
const { privateProjectConfig: { projectId, exp }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
14
14
|
nonInteractive: false,
|
|
15
|
+
withServerSideEnvironment: null,
|
|
15
16
|
});
|
|
16
17
|
const account = await (0, projectUtils_1.getOwnerAccountForProjectIdAsync)(graphqlClient, projectId);
|
|
17
18
|
const projectName = exp.slug;
|
|
@@ -3,7 +3,7 @@ export default class ProjectInfo extends EasCommand {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static contextDefinition: {
|
|
5
5
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
6
|
-
|
|
6
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
7
7
|
};
|
|
8
8
|
runAsync(): Promise<void>;
|
|
9
9
|
}
|
|
@@ -24,7 +24,7 @@ async function projectInfoByIdAsync(graphqlClient, appId) {
|
|
|
24
24
|
}
|
|
25
25
|
class ProjectInfo extends EasCommand_1.default {
|
|
26
26
|
async runAsync() {
|
|
27
|
-
const {
|
|
27
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
28
28
|
nonInteractive: true,
|
|
29
29
|
});
|
|
30
30
|
const { app } = await projectInfoByIdAsync(graphqlClient, projectId);
|
|
@@ -41,7 +41,7 @@ class ProjectInfo extends EasCommand_1.default {
|
|
|
41
41
|
_a = ProjectInfo;
|
|
42
42
|
ProjectInfo.description = 'information about the current project';
|
|
43
43
|
ProjectInfo.contextDefinition = {
|
|
44
|
-
..._a.ContextOptions.
|
|
44
|
+
..._a.ContextOptions.ProjectId,
|
|
45
45
|
..._a.ContextOptions.LoggedIn,
|
|
46
46
|
};
|
|
47
47
|
exports.default = ProjectInfo;
|
|
@@ -13,7 +13,7 @@ export default class EnvironmentSecretCreate extends EasCommand {
|
|
|
13
13
|
};
|
|
14
14
|
static contextDefinition: {
|
|
15
15
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
16
|
-
|
|
16
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
17
17
|
};
|
|
18
18
|
runAsync(): Promise<void>;
|
|
19
19
|
}
|
|
@@ -18,7 +18,7 @@ const prompts_1 = require("../../prompts");
|
|
|
18
18
|
class EnvironmentSecretCreate extends EasCommand_1.default {
|
|
19
19
|
async runAsync() {
|
|
20
20
|
let { flags: { name, value: secretValue, scope, force, type: secretType, 'non-interactive': nonInteractive, }, } = await this.parse(_a);
|
|
21
|
-
const {
|
|
21
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
22
22
|
nonInteractive,
|
|
23
23
|
});
|
|
24
24
|
const projectDisplayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
|
|
@@ -179,7 +179,7 @@ EnvironmentSecretCreate.flags = {
|
|
|
179
179
|
...flags_1.EASNonInteractiveFlag,
|
|
180
180
|
};
|
|
181
181
|
EnvironmentSecretCreate.contextDefinition = {
|
|
182
|
-
..._a.ContextOptions.
|
|
182
|
+
..._a.ContextOptions.ProjectId,
|
|
183
183
|
..._a.ContextOptions.LoggedIn,
|
|
184
184
|
};
|
|
185
185
|
exports.default = EnvironmentSecretCreate;
|
|
@@ -7,7 +7,7 @@ export default class EnvironmentSecretDelete extends EasCommand {
|
|
|
7
7
|
};
|
|
8
8
|
static contextDefinition: {
|
|
9
9
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
10
|
-
|
|
10
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
11
11
|
};
|
|
12
12
|
runAsync(): Promise<void>;
|
|
13
13
|
}
|
|
@@ -12,7 +12,7 @@ const prompts_1 = require("../../prompts");
|
|
|
12
12
|
class EnvironmentSecretDelete extends EasCommand_1.default {
|
|
13
13
|
async runAsync() {
|
|
14
14
|
let { flags: { id, 'non-interactive': nonInteractive }, } = await this.parse(_a);
|
|
15
|
-
const {
|
|
15
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
16
16
|
nonInteractive,
|
|
17
17
|
});
|
|
18
18
|
let secret;
|
|
@@ -63,7 +63,7 @@ EnvironmentSecretDelete.flags = {
|
|
|
63
63
|
...flags_1.EASNonInteractiveFlag,
|
|
64
64
|
};
|
|
65
65
|
EnvironmentSecretDelete.contextDefinition = {
|
|
66
|
-
..._a.ContextOptions.
|
|
66
|
+
..._a.ContextOptions.ProjectId,
|
|
67
67
|
..._a.ContextOptions.LoggedIn,
|
|
68
68
|
};
|
|
69
69
|
exports.default = EnvironmentSecretDelete;
|
|
@@ -3,7 +3,7 @@ export default class EnvironmentSecretList extends EasCommand {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static contextDefinition: {
|
|
5
5
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
6
|
-
|
|
6
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
7
7
|
};
|
|
8
8
|
runAsync(): Promise<void>;
|
|
9
9
|
}
|
|
@@ -10,7 +10,7 @@ const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
|
10
10
|
const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields"));
|
|
11
11
|
class EnvironmentSecretList extends EasCommand_1.default {
|
|
12
12
|
async runAsync() {
|
|
13
|
-
const {
|
|
13
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
14
14
|
nonInteractive: true,
|
|
15
15
|
});
|
|
16
16
|
const secrets = await EnvironmentSecretsQuery_1.EnvironmentSecretsQuery.allAsync(graphqlClient, projectId);
|
|
@@ -21,7 +21,7 @@ class EnvironmentSecretList extends EasCommand_1.default {
|
|
|
21
21
|
_a = EnvironmentSecretList;
|
|
22
22
|
EnvironmentSecretList.description = 'list environment secrets available for your current app';
|
|
23
23
|
EnvironmentSecretList.contextDefinition = {
|
|
24
|
-
..._a.ContextOptions.
|
|
24
|
+
..._a.ContextOptions.ProjectId,
|
|
25
25
|
..._a.ContextOptions.LoggedIn,
|
|
26
26
|
};
|
|
27
27
|
exports.default = EnvironmentSecretList;
|
|
@@ -10,7 +10,7 @@ export default class EnvironmentSecretPush extends EasCommand {
|
|
|
10
10
|
};
|
|
11
11
|
static contextDefinition: {
|
|
12
12
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
13
|
-
|
|
13
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
14
14
|
};
|
|
15
15
|
runAsync(): Promise<void>;
|
|
16
16
|
}
|
|
@@ -20,7 +20,7 @@ const intersection_1 = tslib_1.__importDefault(require("../../utils/expodash/int
|
|
|
20
20
|
class EnvironmentSecretPush extends EasCommand_1.default {
|
|
21
21
|
async runAsync() {
|
|
22
22
|
const { flags: { scope, force, 'env-file': maybeEnvFilePath, 'non-interactive': nonInteractive }, } = await this.parse(_a);
|
|
23
|
-
const {
|
|
23
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
24
24
|
nonInteractive,
|
|
25
25
|
});
|
|
26
26
|
const projectDisplayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
|
|
@@ -62,7 +62,7 @@ EnvironmentSecretPush.flags = {
|
|
|
62
62
|
...flags_1.EASNonInteractiveFlag,
|
|
63
63
|
};
|
|
64
64
|
EnvironmentSecretPush.contextDefinition = {
|
|
65
|
-
..._a.ContextOptions.
|
|
65
|
+
..._a.ContextOptions.ProjectId,
|
|
66
66
|
..._a.ContextOptions.LoggedIn,
|
|
67
67
|
};
|
|
68
68
|
exports.default = EnvironmentSecretPush;
|
|
@@ -29,6 +29,7 @@ class SubmitInternal extends EasCommand_1.default {
|
|
|
29
29
|
const { loggedIn: { actor, graphqlClient }, privateProjectConfig: { exp, projectId, projectDir }, analytics, vcsClient, } = await this.getContextAsync(_a, {
|
|
30
30
|
nonInteractive: true,
|
|
31
31
|
vcsClientOverride: new gitNoCommit_1.default(),
|
|
32
|
+
withServerSideEnvironment: null,
|
|
32
33
|
});
|
|
33
34
|
const submissionProfile = await eas_json_1.EasJsonUtils.getSubmitProfileAsync(eas_json_1.EasJsonAccessor.fromProjectPath(projectDir), flags.platform, flags.profile);
|
|
34
35
|
const ctx = await (0, context_1.createSubmissionContextAsync)({
|
package/build/commands/submit.js
CHANGED
|
@@ -20,6 +20,7 @@ class Submit extends EasCommand_1.default {
|
|
|
20
20
|
const { flags: rawFlags } = await this.parse(_a);
|
|
21
21
|
const { loggedIn: { actor, graphqlClient }, privateProjectConfig: { exp, projectId, projectDir }, analytics, vcsClient, } = await this.getContextAsync(_a, {
|
|
22
22
|
nonInteractive: false,
|
|
23
|
+
withServerSideEnvironment: null,
|
|
23
24
|
});
|
|
24
25
|
const flags = this.sanitizeFlags(rawFlags);
|
|
25
26
|
await (0, statuspageService_1.maybeWarnAboutEasOutagesAsync)(graphqlClient, [generated_1.StatuspageServiceName.EasSubmit]);
|
|
@@ -15,6 +15,7 @@ class UpdateConfigure extends EasCommand_1.default {
|
|
|
15
15
|
const platform = flags.platform;
|
|
16
16
|
const { privateProjectConfig: { projectId, exp, projectDir }, vcsClient, } = await this.getContextAsync(_a, {
|
|
17
17
|
nonInteractive: flags['non-interactive'],
|
|
18
|
+
withServerSideEnvironment: null,
|
|
18
19
|
});
|
|
19
20
|
log_1.default.log('💡 The following process will configure your project to use EAS Update. These changes only apply to your local project files and you can safely revert them at any time.');
|
|
20
21
|
await vcsClient.ensureRepoExistsAsync();
|
|
@@ -13,7 +13,7 @@ export default class UpdateEdit extends EasCommand {
|
|
|
13
13
|
};
|
|
14
14
|
static contextDefinition: {
|
|
15
15
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
16
|
-
|
|
16
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
17
17
|
};
|
|
18
18
|
runAsync(): Promise<void>;
|
|
19
19
|
}
|
|
@@ -18,7 +18,7 @@ const json_1 = require("../../utils/json");
|
|
|
18
18
|
class UpdateEdit extends EasCommand_1.default {
|
|
19
19
|
async runAsync() {
|
|
20
20
|
const { args: { groupId: maybeGroupId }, flags: { 'rollout-percentage': rolloutPercentage, json: jsonFlag, 'non-interactive': nonInteractive, branch: branchFlag, }, } = await this.parse(_a);
|
|
21
|
-
const {
|
|
21
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, { nonInteractive });
|
|
22
22
|
if (jsonFlag) {
|
|
23
23
|
(0, json_1.enableJsonOutput)();
|
|
24
24
|
}
|
|
@@ -133,7 +133,7 @@ UpdateEdit.flags = {
|
|
|
133
133
|
...flags_1.EasNonInteractiveAndJsonFlags,
|
|
134
134
|
};
|
|
135
135
|
UpdateEdit.contextDefinition = {
|
|
136
|
-
..._a.ContextOptions.
|
|
136
|
+
..._a.ContextOptions.ProjectId,
|
|
137
137
|
..._a.ContextOptions.LoggedIn,
|
|
138
138
|
};
|
|
139
139
|
exports.default = UpdateEdit;
|
|
@@ -15,8 +15,10 @@ export default class UpdatePublish extends EasCommand {
|
|
|
15
15
|
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
16
16
|
auto: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
17
|
'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
18
|
+
'with-eas-environment-variables-set': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
18
19
|
};
|
|
19
20
|
static contextDefinition: {
|
|
21
|
+
getServerSideEnvironmentVariablesAsync: import("../../commandUtils/context/ServerSideEnvironmentVariablesContextField").ServerSideEnvironmentVariablesContextField;
|
|
20
22
|
vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
|
|
21
23
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
22
24
|
getDynamicPublicProjectConfigAsync: import("../../commandUtils/context/DynamicProjectConfigContextField").DynamicPublicProjectConfigContextField;
|
|
@@ -34,9 +34,10 @@ class UpdatePublish extends EasCommand_1.default {
|
|
|
34
34
|
async runAsync() {
|
|
35
35
|
const { flags: rawFlags } = await this.parse(_a);
|
|
36
36
|
const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(rawFlags);
|
|
37
|
-
const { auto: autoFlag, platform: requestedPlatform, channelName: channelNameArg, updateMessage: updateMessageArg, inputDir, skipBundler, clearCache, privateKeyPath, json: jsonFlag, nonInteractive, branchName: branchNameArg, emitMetadata, rolloutPercentage, } = this.sanitizeFlags(rawFlags);
|
|
38
|
-
const { getDynamicPublicProjectConfigAsync, getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, vcsClient, } = await this.getContextAsync(_a, {
|
|
37
|
+
const { auto: autoFlag, platform: requestedPlatform, channelName: channelNameArg, updateMessage: updateMessageArg, inputDir, skipBundler, clearCache, privateKeyPath, json: jsonFlag, nonInteractive, branchName: branchNameArg, emitMetadata, rolloutPercentage, withEasEnvironmentVariablesSet, } = this.sanitizeFlags(rawFlags);
|
|
38
|
+
const { getDynamicPublicProjectConfigAsync, getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, vcsClient, getServerSideEnvironmentVariablesAsync, } = await this.getContextAsync(_a, {
|
|
39
39
|
nonInteractive,
|
|
40
|
+
withServerSideEnvironment: withEasEnvironmentVariablesSet ?? null,
|
|
40
41
|
});
|
|
41
42
|
if (jsonFlag) {
|
|
42
43
|
(0, json_1.enableJsonOutput)();
|
|
@@ -82,6 +83,11 @@ class UpdatePublish extends EasCommand_1.default {
|
|
|
82
83
|
exp,
|
|
83
84
|
platformFlag: requestedPlatform,
|
|
84
85
|
clearCache,
|
|
86
|
+
extraEnv: {
|
|
87
|
+
...(withEasEnvironmentVariablesSet
|
|
88
|
+
? { ...(await getServerSideEnvironmentVariablesAsync()), EXPO_NO_DOTENV: '1' }
|
|
89
|
+
: {}),
|
|
90
|
+
},
|
|
85
91
|
});
|
|
86
92
|
bundleSpinner.succeed('Exported bundle(s)');
|
|
87
93
|
}
|
|
@@ -373,6 +379,12 @@ class UpdatePublish extends EasCommand_1.default {
|
|
|
373
379
|
emitMetadata = false;
|
|
374
380
|
log_1.default.warn('ignoring flag --emit-metadata as metadata cannot be generated when skipping bundle generation');
|
|
375
381
|
}
|
|
382
|
+
if (flags['with-eas-environment-variables-set'] &&
|
|
383
|
+
!Object.values(generated_1.EnvironmentVariableEnvironment).includes(flags['with-eas-environment-variables-set'])) {
|
|
384
|
+
core_1.Errors.error(`--with-eas-environment-variables-set must be one of ${Object.values(generated_1.EnvironmentVariableEnvironment)
|
|
385
|
+
.map(env => `"${env.toLocaleLowerCase()}"`)
|
|
386
|
+
.join(', ')}`, { exit: 1 });
|
|
387
|
+
}
|
|
376
388
|
return {
|
|
377
389
|
auto,
|
|
378
390
|
branchName,
|
|
@@ -380,13 +392,14 @@ class UpdatePublish extends EasCommand_1.default {
|
|
|
380
392
|
updateMessage,
|
|
381
393
|
inputDir: flags['input-dir'],
|
|
382
394
|
skipBundler,
|
|
383
|
-
clearCache: flags['clear-cache'],
|
|
395
|
+
clearCache: flags['clear-cache'] ? true : !!flags['with-eas-environment-variables-set'],
|
|
384
396
|
platform: flags.platform,
|
|
385
397
|
privateKeyPath: flags['private-key-path'],
|
|
386
398
|
rolloutPercentage: flags['rollout-percentage'],
|
|
387
399
|
nonInteractive,
|
|
388
400
|
emitMetadata,
|
|
389
401
|
json: flags.json ?? false,
|
|
402
|
+
withEasEnvironmentVariablesSet: flags['with-eas-environment-variables-set'],
|
|
390
403
|
};
|
|
391
404
|
}
|
|
392
405
|
}
|
|
@@ -447,11 +460,24 @@ UpdatePublish.flags = {
|
|
|
447
460
|
description: `File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named "private-key.pem" in the certificate's directory. Only relevant if you are using code signing: https://docs.expo.dev/eas-update/code-signing/`,
|
|
448
461
|
required: false,
|
|
449
462
|
}),
|
|
463
|
+
'with-eas-environment-variables-set': core_1.Flags.enum({
|
|
464
|
+
description: 'Environment to use for EAS environment variables',
|
|
465
|
+
options: [
|
|
466
|
+
generated_1.EnvironmentVariableEnvironment.Development,
|
|
467
|
+
generated_1.EnvironmentVariableEnvironment.Preview,
|
|
468
|
+
generated_1.EnvironmentVariableEnvironment.Production,
|
|
469
|
+
].map(env => env.toLowerCase()),
|
|
470
|
+
// eslint-disable-next-line async-protect/async-suffix
|
|
471
|
+
parse: async (input) => input.toUpperCase(),
|
|
472
|
+
required: false,
|
|
473
|
+
hidden: true,
|
|
474
|
+
}),
|
|
450
475
|
...flags_1.EasNonInteractiveAndJsonFlags,
|
|
451
476
|
};
|
|
452
477
|
UpdatePublish.contextDefinition = {
|
|
453
478
|
..._a.ContextOptions.DynamicProjectConfig,
|
|
454
479
|
..._a.ContextOptions.LoggedIn,
|
|
455
480
|
..._a.ContextOptions.Vcs,
|
|
481
|
+
..._a.ContextOptions.ServerSideEnvironmentVariables,
|
|
456
482
|
};
|
|
457
483
|
exports.default = UpdatePublish;
|
|
@@ -11,7 +11,7 @@ export default class UpdateList extends EasCommand {
|
|
|
11
11
|
};
|
|
12
12
|
static contextDefinition: {
|
|
13
13
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
14
|
-
|
|
14
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
15
15
|
};
|
|
16
16
|
runAsync(): Promise<void>;
|
|
17
17
|
}
|
|
@@ -13,7 +13,7 @@ class UpdateList extends EasCommand_1.default {
|
|
|
13
13
|
async runAsync() {
|
|
14
14
|
const { flags } = await this.parse(_a);
|
|
15
15
|
const { branch: branchFlag, all, json: jsonFlag, 'non-interactive': nonInteractive } = flags;
|
|
16
|
-
const {
|
|
16
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
17
17
|
nonInteractive,
|
|
18
18
|
});
|
|
19
19
|
const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
|
|
@@ -79,7 +79,7 @@ UpdateList.flags = {
|
|
|
79
79
|
...flags_1.EasNonInteractiveAndJsonFlags,
|
|
80
80
|
};
|
|
81
81
|
UpdateList.contextDefinition = {
|
|
82
|
-
..._a.ContextOptions.
|
|
82
|
+
..._a.ContextOptions.ProjectId,
|
|
83
83
|
..._a.ContextOptions.LoggedIn,
|
|
84
84
|
};
|
|
85
85
|
exports.default = UpdateList;
|
|
@@ -25,6 +25,7 @@ class UpdateRepublish extends EasCommand_1.default {
|
|
|
25
25
|
const flags = this.sanitizeFlags(rawFlags);
|
|
26
26
|
const { privateProjectConfig: { exp, projectId }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
27
27
|
nonInteractive: flags.nonInteractive,
|
|
28
|
+
withServerSideEnvironment: null,
|
|
28
29
|
});
|
|
29
30
|
if (flags.json) {
|
|
30
31
|
(0, json_1.enableJsonOutput)();
|
|
@@ -32,6 +32,7 @@ class UpdateRollBackToEmbedded extends EasCommand_1.default {
|
|
|
32
32
|
const { auto: autoFlag, platform: platformFlag, channelName: channelNameArg, updateMessage: updateMessageArg, privateKeyPath, json: jsonFlag, nonInteractive, branchName: branchNameArg, } = this.sanitizeFlags(rawFlags);
|
|
33
33
|
const { getDynamicPublicProjectConfigAsync, getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, vcsClient, } = await this.getContextAsync(_a, {
|
|
34
34
|
nonInteractive,
|
|
35
|
+
withServerSideEnvironment: null,
|
|
35
36
|
});
|
|
36
37
|
if (jsonFlag) {
|
|
37
38
|
(0, json_1.enableJsonOutput)();
|
|
@@ -10,7 +10,7 @@ export default class WebhookCreate extends EasCommand {
|
|
|
10
10
|
};
|
|
11
11
|
static contextDefinition: {
|
|
12
12
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
13
|
-
|
|
13
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
14
14
|
};
|
|
15
15
|
runAsync(): Promise<void>;
|
|
16
16
|
}
|
|
@@ -12,7 +12,7 @@ const input_1 = require("../../webhooks/input");
|
|
|
12
12
|
class WebhookCreate extends EasCommand_1.default {
|
|
13
13
|
async runAsync() {
|
|
14
14
|
const { flags } = await this.parse(_a);
|
|
15
|
-
const {
|
|
15
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
16
16
|
nonInteractive: flags['non-interactive'],
|
|
17
17
|
});
|
|
18
18
|
const webhookInputParams = await (0, input_1.prepareInputParamsAsync)(flags);
|
|
@@ -43,7 +43,7 @@ WebhookCreate.flags = {
|
|
|
43
43
|
...flags_1.EASNonInteractiveFlag,
|
|
44
44
|
};
|
|
45
45
|
WebhookCreate.contextDefinition = {
|
|
46
|
-
..._a.ContextOptions.
|
|
46
|
+
..._a.ContextOptions.ProjectId,
|
|
47
47
|
..._a.ContextOptions.LoggedIn,
|
|
48
48
|
};
|
|
49
49
|
exports.default = WebhookCreate;
|
|
@@ -11,7 +11,7 @@ export default class WebhookDelete extends EasCommand {
|
|
|
11
11
|
};
|
|
12
12
|
static contextDefinition: {
|
|
13
13
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
14
|
-
|
|
14
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
15
15
|
};
|
|
16
16
|
runAsync(): Promise<void>;
|
|
17
17
|
}
|
|
@@ -16,7 +16,7 @@ const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
|
16
16
|
class WebhookDelete extends EasCommand_1.default {
|
|
17
17
|
async runAsync() {
|
|
18
18
|
let { args: { ID: webhookId }, flags: { 'non-interactive': nonInteractive }, } = await this.parse(_a);
|
|
19
|
-
const {
|
|
19
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
20
20
|
nonInteractive,
|
|
21
21
|
});
|
|
22
22
|
let webhook = webhookId && (await WebhookQuery_1.WebhookQuery.byIdAsync(graphqlClient, webhookId));
|
|
@@ -78,7 +78,7 @@ WebhookDelete.flags = {
|
|
|
78
78
|
...flags_1.EASNonInteractiveFlag,
|
|
79
79
|
};
|
|
80
80
|
WebhookDelete.contextDefinition = {
|
|
81
|
-
..._a.ContextOptions.
|
|
81
|
+
..._a.ContextOptions.ProjectId,
|
|
82
82
|
..._a.ContextOptions.LoggedIn,
|
|
83
83
|
};
|
|
84
84
|
exports.default = WebhookDelete;
|
|
@@ -8,7 +8,7 @@ export default class WebhookList extends EasCommand {
|
|
|
8
8
|
};
|
|
9
9
|
static contextDefinition: {
|
|
10
10
|
loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
|
|
11
|
-
|
|
11
|
+
projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
|
|
12
12
|
};
|
|
13
13
|
runAsync(): Promise<void>;
|
|
14
14
|
}
|
|
@@ -19,7 +19,7 @@ class WebhookList extends EasCommand_1.default {
|
|
|
19
19
|
if (json) {
|
|
20
20
|
(0, json_1.enableJsonOutput)();
|
|
21
21
|
}
|
|
22
|
-
const {
|
|
22
|
+
const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
23
23
|
nonInteractive: true,
|
|
24
24
|
});
|
|
25
25
|
const projectDisplayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
|
|
@@ -58,7 +58,7 @@ WebhookList.flags = {
|
|
|
58
58
|
...flags_1.EasJsonOnlyFlag,
|
|
59
59
|
};
|
|
60
60
|
WebhookList.contextDefinition = {
|
|
61
|
-
..._a.ContextOptions.
|
|
61
|
+
..._a.ContextOptions.ProjectId,
|
|
62
62
|
..._a.ContextOptions.LoggedIn,
|
|
63
63
|
};
|
|
64
64
|
exports.default = WebhookList;
|
|
@@ -22,6 +22,7 @@ class WorkerAlias extends EasCommand_1.default {
|
|
|
22
22
|
log_1.default.warn('EAS Worker Deployments are in beta and subject to breaking changes.');
|
|
23
23
|
const { getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
|
|
24
24
|
nonInteractive: true,
|
|
25
|
+
withServerSideEnvironment: null,
|
|
25
26
|
});
|
|
26
27
|
const { projectId } = await getDynamicPrivateProjectConfigAsync();
|
|
27
28
|
const aliasName = await resolveDeploymentAliasAsync(flags);
|
|
@@ -29,7 +29,7 @@ class WorkerDeploy extends EasCommand_1.default {
|
|
|
29
29
|
(0, json_1.enableJsonOutput)();
|
|
30
30
|
}
|
|
31
31
|
log_1.default.warn('EAS Worker Deployments are in beta and subject to breaking changes.');
|
|
32
|
-
const { getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, projectDir, } = await this.getContextAsync(_a, flags);
|
|
32
|
+
const { getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, projectDir, } = await this.getContextAsync(_a, { ...flags, withServerSideEnvironment: null });
|
|
33
33
|
const projectDist = await resolveExportedProjectAsync(flags, projectDir);
|
|
34
34
|
const { projectId } = await getDynamicPrivateProjectConfigAsync();
|
|
35
35
|
logExportedProjectInfo(projectDist);
|
|
@@ -71,12 +71,13 @@ export declare function convertAssetToUpdateInfoGroupFormatAsync(asset: RawAsset
|
|
|
71
71
|
*/
|
|
72
72
|
export declare function buildUnsortedUpdateInfoGroupAsync(assets: FilteredCollectedAssets, exp: ExpoConfig): Promise<Partial<UpdateInfoGroup>>;
|
|
73
73
|
export type ExpoCLIExportPlatformFlag = ExpoConfigPlatform | 'all';
|
|
74
|
-
export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, }: {
|
|
74
|
+
export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, extraEnv, }: {
|
|
75
75
|
projectDir: string;
|
|
76
76
|
inputDir: string;
|
|
77
77
|
exp: Pick<ExpoConfig, 'sdkVersion' | 'web'>;
|
|
78
78
|
platformFlag: ExpoCLIExportPlatformFlag;
|
|
79
79
|
clearCache?: boolean;
|
|
80
|
+
extraEnv?: Record<string, string | undefined> | undefined;
|
|
80
81
|
}): Promise<void>;
|
|
81
82
|
export declare function resolveInputDirectoryAsync(inputDir: string, { skipBundler }: {
|
|
82
83
|
skipBundler?: boolean;
|
package/build/project/publish.js
CHANGED
|
@@ -121,7 +121,7 @@ async function buildUnsortedUpdateInfoGroupAsync(assets, exp) {
|
|
|
121
121
|
return updateInfoGroup;
|
|
122
122
|
}
|
|
123
123
|
exports.buildUnsortedUpdateInfoGroupAsync = buildUnsortedUpdateInfoGroupAsync;
|
|
124
|
-
async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, }) {
|
|
124
|
+
async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, extraEnv, }) {
|
|
125
125
|
const packageJSON = json_file_1.default.read(path_1.default.resolve(projectDir, 'package.json'));
|
|
126
126
|
if (!packageJSON) {
|
|
127
127
|
throw new Error('Could not locate package.json');
|
|
@@ -138,7 +138,9 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
|
|
|
138
138
|
'--dump-assetmap',
|
|
139
139
|
`--platform=${platformFlag}`,
|
|
140
140
|
...(clearCache ? ['--clear'] : []),
|
|
141
|
-
]
|
|
141
|
+
], {
|
|
142
|
+
extraEnv,
|
|
143
|
+
});
|
|
142
144
|
return;
|
|
143
145
|
}
|
|
144
146
|
// Versioned Expo CLI, with multiple platform flag support
|
|
@@ -155,7 +157,9 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
|
|
|
155
157
|
'--dump-assetmap',
|
|
156
158
|
...platformArgs,
|
|
157
159
|
...(clearCache ? ['--clear'] : []),
|
|
158
|
-
]
|
|
160
|
+
], {
|
|
161
|
+
extraEnv,
|
|
162
|
+
});
|
|
159
163
|
return;
|
|
160
164
|
}
|
|
161
165
|
// Versioned Expo CLI, without multiple platform flag support
|
|
@@ -173,7 +177,9 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
|
|
|
173
177
|
'--dump-assetmap',
|
|
174
178
|
`--platform=${platformFlag}`,
|
|
175
179
|
...(clearCache ? ['--clear'] : []),
|
|
176
|
-
]
|
|
180
|
+
], {
|
|
181
|
+
extraEnv,
|
|
182
|
+
});
|
|
177
183
|
}
|
|
178
184
|
exports.buildBundlesAsync = buildBundlesAsync;
|
|
179
185
|
async function resolveInputDirectoryAsync(inputDir, { skipBundler }) {
|