eas-cli 10.2.3 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/README.md +63 -65
  2. package/build/branch/actions/SelectBranch.d.ts +1 -1
  3. package/build/branch/actions/SelectBranch.js +2 -2
  4. package/build/branch/queries.js +3 -1
  5. package/build/build/android/build.js +1 -1
  6. package/build/build/android/version.js +1 -1
  7. package/build/build/build.js +21 -10
  8. package/build/build/context.d.ts +1 -0
  9. package/build/build/createContext.d.ts +2 -1
  10. package/build/build/createContext.js +6 -3
  11. package/build/build/evaluateConfigWithEnvVarsAsync.d.ts +16 -0
  12. package/build/build/evaluateConfigWithEnvVarsAsync.js +44 -0
  13. package/build/build/ios/build.js +4 -4
  14. package/build/build/local.d.ts +1 -1
  15. package/build/build/local.js +3 -2
  16. package/build/build/queries.js +3 -1
  17. package/build/build/runBuildAndSubmit.d.ts +2 -0
  18. package/build/build/runBuildAndSubmit.js +14 -7
  19. package/build/build/utils/printBuildInfo.js +6 -2
  20. package/build/build/validate.js +2 -2
  21. package/build/channel/actions/SelectChannel.d.ts +1 -1
  22. package/build/channel/actions/SelectChannel.js +2 -2
  23. package/build/channel/queries.js +6 -2
  24. package/build/commandUtils/EasCommand.js +2 -2
  25. package/build/commandUtils/context/contextUtils/createGraphqlClient.js +1 -1
  26. package/build/commandUtils/flags.d.ts +16 -0
  27. package/build/commandUtils/flags.js +61 -1
  28. package/build/commandUtils/gating/FeatureGating.js +6 -2
  29. package/build/commands/analytics.js +1 -1
  30. package/build/commands/build/index.d.ts +4 -1
  31. package/build/commands/build/index.js +3 -0
  32. package/build/commands/build/resign.d.ts +4 -1
  33. package/build/commands/build/resign.js +12 -3
  34. package/build/commands/build/version/get.d.ts +1 -0
  35. package/build/commands/build/version/get.js +9 -2
  36. package/build/commands/build/version/set.d.ts +1 -0
  37. package/build/commands/build/version/set.js +11 -1
  38. package/build/commands/build/version/sync.d.ts +1 -0
  39. package/build/commands/build/version/sync.js +13 -5
  40. package/build/commands/config.d.ts +2 -0
  41. package/build/commands/config.js +10 -3
  42. package/build/commands/device/delete.js +1 -1
  43. package/build/commands/device/rename.js +1 -1
  44. package/build/commands/env/create.d.ts +23 -0
  45. package/build/commands/env/create.js +169 -0
  46. package/build/commands/env/delete.d.ts +18 -0
  47. package/build/commands/env/delete.js +95 -0
  48. package/build/commands/env/get.d.ts +19 -0
  49. package/build/commands/env/get.js +100 -0
  50. package/build/commands/env/link.d.ts +15 -0
  51. package/build/commands/env/link.js +59 -0
  52. package/build/commands/env/list.d.ts +18 -0
  53. package/build/commands/env/list.js +82 -0
  54. package/build/commands/env/pull.d.ts +15 -0
  55. package/build/commands/env/pull.js +64 -0
  56. package/build/commands/env/push.d.ts +17 -0
  57. package/build/commands/env/push.js +148 -0
  58. package/build/commands/env/unlink.d.ts +15 -0
  59. package/build/commands/env/unlink.js +65 -0
  60. package/build/commands/env/update.d.ts +21 -0
  61. package/build/commands/env/update.js +135 -0
  62. package/build/commands/metadata/lint.js +4 -2
  63. package/build/commands/project/onboarding.js +1 -1
  64. package/build/commands/update/edit.d.ts +19 -0
  65. package/build/commands/update/edit.js +102 -0
  66. package/build/commands/update/index.d.ts +1 -2
  67. package/build/commands/update/index.js +53 -25
  68. package/build/commands/update/list.js +6 -3
  69. package/build/commands/update/roll-back-to-embedded.js +1 -1
  70. package/build/credentials/android/AndroidCredentialsProvider.d.ts +2 -2
  71. package/build/credentials/android/actions/AssignFcm.d.ts +1 -1
  72. package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForFcmV1.d.ts +1 -1
  73. package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForSubmissions.d.ts +1 -1
  74. package/build/credentials/android/actions/CreateFcm.d.ts +1 -1
  75. package/build/credentials/android/actions/CreateGoogleServiceAccountKey.d.ts +1 -1
  76. package/build/credentials/android/actions/CreateKeystore.d.ts +1 -1
  77. package/build/credentials/android/actions/DownloadKeystore.d.ts +2 -2
  78. package/build/credentials/android/actions/RemoveFcm.d.ts +1 -1
  79. package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.d.ts +2 -2
  80. package/build/credentials/android/actions/RemoveKeystore.d.ts +1 -1
  81. package/build/credentials/android/actions/SetUpBuildCredentials.d.ts +1 -1
  82. package/build/credentials/android/actions/SetUpBuildCredentialsFromCredentialsJson.d.ts +1 -1
  83. package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForFcmV1.d.ts +1 -1
  84. package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForSubmissions.d.ts +1 -1
  85. package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.d.ts +1 -1
  86. package/build/credentials/android/api/GraphqlClient.js +3 -3
  87. package/build/credentials/context.d.ts +2 -2
  88. package/build/credentials/context.js +1 -1
  89. package/build/credentials/ios/IosCredentialsProvider.d.ts +2 -2
  90. package/build/credentials/ios/IosCredentialsProvider.js +1 -1
  91. package/build/credentials/ios/actions/AscApiKeyUtils.js +1 -1
  92. package/build/credentials/ios/actions/AssignAscApiKey.d.ts +1 -1
  93. package/build/credentials/ios/actions/AssignPushKey.d.ts +1 -1
  94. package/build/credentials/ios/actions/ConfigureProvisioningProfile.d.ts +4 -4
  95. package/build/credentials/ios/actions/CreateAscApiKey.d.ts +1 -1
  96. package/build/credentials/ios/actions/CreateDistributionCertificate.d.ts +1 -1
  97. package/build/credentials/ios/actions/CreateProvisioningProfile.d.ts +3 -3
  98. package/build/credentials/ios/actions/CreatePushKey.d.ts +1 -1
  99. package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -5
  100. package/build/credentials/ios/actions/ProvisioningProfileUtils.js +1 -1
  101. package/build/credentials/ios/actions/PushKeyUtils.js +2 -2
  102. package/build/credentials/ios/actions/RemoveAscApiKey.d.ts +2 -2
  103. package/build/credentials/ios/actions/RemoveDistributionCertificate.d.ts +3 -3
  104. package/build/credentials/ios/actions/RemoveProvisioningProfile.d.ts +2 -2
  105. package/build/credentials/ios/actions/RemovePushKey.d.ts +2 -2
  106. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.d.ts +1 -1
  107. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +1 -1
  108. package/build/credentials/ios/actions/SetUpAscApiKey.d.ts +2 -2
  109. package/build/credentials/ios/actions/SetUpBuildCredentials.d.ts +1 -1
  110. package/build/credentials/ios/actions/SetUpBuildCredentialsFromCredentialsJson.d.ts +3 -3
  111. package/build/credentials/ios/actions/SetUpDistributionCertificate.d.ts +2 -2
  112. package/build/credentials/ios/actions/SetUpDistributionCertificate.js +1 -1
  113. package/build/credentials/ios/actions/SetUpInternalProvisioningProfile.d.ts +1 -1
  114. package/build/credentials/ios/actions/SetUpProvisioningProfile.d.ts +3 -3
  115. package/build/credentials/ios/actions/SetUpProvisioningProfile.js +1 -1
  116. package/build/credentials/ios/actions/SetUpPushKey.d.ts +1 -1
  117. package/build/credentials/ios/actions/SetUpTargetBuildCredentials.d.ts +1 -1
  118. package/build/credentials/ios/actions/SetUpTargetBuildCredentialsFromCredentialsJson.d.ts +3 -3
  119. package/build/credentials/ios/actions/UpdateCredentialsJson.d.ts +3 -3
  120. package/build/credentials/ios/api/GraphqlClient.js +4 -4
  121. package/build/credentials/ios/appstore/AppStoreApi.js +4 -4
  122. package/build/credentials/ios/appstore/authenticate.js +1 -1
  123. package/build/credentials/ios/appstore/bundleId.js +1 -1
  124. package/build/credentials/ios/appstore/bundleIdCapabilities.js +1 -1
  125. package/build/credentials/ios/appstore/ensureAppExists.js +1 -1
  126. package/build/credentials/ios/appstore/keychain.js +8 -6
  127. package/build/credentials/ios/appstore/provisioningProfile.js +1 -1
  128. package/build/credentials/ios/appstore/pushKey.js +1 -1
  129. package/build/credentials/ios/appstore/resolveCredentials.js +2 -2
  130. package/build/credentials/ios/credentials.js +1 -1
  131. package/build/credentials/ios/utils/convertHTMLToASCII.js +1 -1
  132. package/build/credentials/ios/validators/validateProvisioningProfile.js +2 -4
  133. package/build/credentials/manager/CheckBuildProfileFlagAgainstEasJson.d.ts +3 -3
  134. package/build/credentials/manager/CreateAndroidBuildCredentials.d.ts +1 -1
  135. package/build/credentials/manager/ManageAndroid.js +2 -1
  136. package/build/credentials/manager/ManageIos.js +3 -2
  137. package/build/credentials/manager/SelectAndroidBuildCredentials.d.ts +2 -2
  138. package/build/credentials/manager/SelectBuildProfileFromEasJson.d.ts +2 -2
  139. package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.d.ts +1 -1
  140. package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.js +1 -1
  141. package/build/credentials/manager/SelectPlatform.js +3 -2
  142. package/build/credentials/manager/SetDefaultAndroidKeystore.d.ts +1 -1
  143. package/build/credentials/manager/SetUpAndroidBuildCredentials.d.ts +1 -1
  144. package/build/credentials/manager/SetUpBuildCredentialsCommandAction.js +3 -2
  145. package/build/credentials/manager/SetUpIosBuildCredentials.d.ts +1 -1
  146. package/build/devices/actions/create/action.d.ts +4 -4
  147. package/build/devices/actions/create/registrationUrlMethod.js +3 -1
  148. package/build/devices/manager.d.ts +4 -4
  149. package/build/devices/queries.js +3 -1
  150. package/build/easMultiselect.js +6 -2
  151. package/build/graphql/generated.d.ts +874 -62
  152. package/build/graphql/generated.js +92 -2
  153. package/build/graphql/mutations/EnvironmentVariableMutation.d.ts +39 -0
  154. package/build/graphql/mutations/EnvironmentVariableMutation.js +133 -0
  155. package/build/graphql/mutations/PublishMutation.d.ts +1 -0
  156. package/build/graphql/mutations/PublishMutation.js +16 -0
  157. package/build/graphql/queries/BranchQuery.d.ts +7 -1
  158. package/build/graphql/queries/BranchQuery.js +42 -0
  159. package/build/graphql/queries/EnvironmentVariablesQuery.d.ts +22 -0
  160. package/build/graphql/queries/EnvironmentVariablesQuery.js +106 -0
  161. package/build/graphql/types/EnvironmentVariable.d.ts +1 -0
  162. package/build/graphql/types/EnvironmentVariable.js +16 -0
  163. package/build/graphql/types/Update.js +4 -0
  164. package/build/metadata/apple/config/reader.js +1 -1
  165. package/build/metadata/apple/tasks/age-rating.js +1 -1
  166. package/build/metadata/apple/tasks/app-review-detail.js +2 -1
  167. package/build/metadata/apple/tasks/app-version.d.ts +1 -1
  168. package/build/metadata/config/resolve.js +2 -1
  169. package/build/metadata/errors.js +2 -1
  170. package/build/metadata/utils/log.js +1 -1
  171. package/build/metadata/utils/retry.js +1 -1
  172. package/build/onboarding/runCommand.js +1 -1
  173. package/build/ora.js +12 -4
  174. package/build/project/android/applicationId.js +1 -1
  175. package/build/project/applicationIdentifier.d.ts +3 -2
  176. package/build/project/applicationIdentifier.js +2 -2
  177. package/build/project/expoConfig.js +2 -2
  178. package/build/project/ios/entitlements.js +1 -1
  179. package/build/project/publish.d.ts +31 -18
  180. package/build/project/publish.js +61 -37
  181. package/build/project/resolveRuntimeVersionAsync.d.ts +4 -1
  182. package/build/project/resolveRuntimeVersionAsync.js +9 -3
  183. package/build/rollout/actions/CreateRollout.d.ts +2 -2
  184. package/build/rollout/actions/EditRollout.d.ts +2 -2
  185. package/build/rollout/actions/EndRollout.d.ts +2 -2
  186. package/build/rollout/actions/ManageRollout.d.ts +2 -2
  187. package/build/rollout/actions/NonInteractiveRollout.d.ts +1 -1
  188. package/build/rollout/actions/RolloutMainMenu.d.ts +1 -1
  189. package/build/rollout/actions/SelectRuntime.d.ts +3 -3
  190. package/build/run/android/adb.js +1 -1
  191. package/build/run/ios/simctl.js +1 -1
  192. package/build/run/ios/systemRequirements.js +1 -1
  193. package/build/submit/ArchiveSource.js +15 -15
  194. package/build/submit/BaseSubmitter.js +2 -2
  195. package/build/submit/submit.js +1 -1
  196. package/build/update/android/UpdatesModule.js +1 -1
  197. package/build/update/configure.d.ts +1 -1
  198. package/build/update/queries.js +8 -3
  199. package/build/update/republish.js +2 -1
  200. package/build/update/utils.d.ts +1 -0
  201. package/build/update/utils.js +7 -0
  202. package/build/user/expoSsoLauncher.js +1 -1
  203. package/build/utils/download.js +2 -2
  204. package/build/utils/filterAsync.js +1 -1
  205. package/build/utils/formatVariable.d.ts +2 -0
  206. package/build/utils/formatVariable.js +16 -0
  207. package/build/utils/image.js +2 -2
  208. package/build/utils/progress.js +1 -1
  209. package/build/utils/promise.js +1 -1
  210. package/build/utils/prompts.d.ts +9 -0
  211. package/build/utils/prompts.js +68 -0
  212. package/build/utils/queries.js +2 -2
  213. package/build/vcs/clients/git.d.ts +1 -1
  214. package/build/vcs/local.d.ts +1 -1
  215. package/oclif.manifest.json +627 -22
  216. package/package.json +15 -15
@@ -1,9 +1,11 @@
1
1
  import { ResourceClass } from '@expo/eas-json';
2
2
  import { LoggerLevel } from '@expo/logger';
3
3
  import EasCommand from '../../commandUtils/EasCommand';
4
+ import { EnvironmentVariableEnvironment } from '../../graphql/generated';
4
5
  export default class Build extends EasCommand {
5
6
  static description: string;
6
7
  static flags: {
8
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableEnvironment | undefined>;
7
9
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
10
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
11
  platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
@@ -25,10 +27,11 @@ export default class Build extends EasCommand {
25
27
  static contextDefinition: {
26
28
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
27
29
  analytics: import("../../commandUtils/context/AnalyticsContextField").default;
30
+ loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
31
+ privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
28
32
  projectDir: import("../../commandUtils/context/ProjectDirContextField").default;
29
33
  getDynamicPublicProjectConfigAsync: import("../../commandUtils/context/DynamicProjectConfigContextField").DynamicPublicProjectConfigContextField;
30
34
  getDynamicPrivateProjectConfigAsync: import("../../commandUtils/context/DynamicProjectConfigContextField").DynamicPrivateProjectConfigContextField;
31
- loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
32
35
  };
33
36
  runAsync(): Promise<void>;
34
37
  private sanitizeFlags;
@@ -90,6 +90,7 @@ class Build extends EasCommand_1.default {
90
90
  buildLoggerLevel: flags['build-logger-level'],
91
91
  freezeCredentials: flags['freeze-credentials'],
92
92
  repack: flags.repack,
93
+ environment: flags.environment,
93
94
  };
94
95
  }
95
96
  async ensurePlatformSelectedAsync(flags) {
@@ -192,11 +193,13 @@ Build.flags = {
192
193
  description: 'Use the golden dev client build repack flow as it works for onboarding',
193
194
  }),
194
195
  ...flags_1.EasNonInteractiveAndJsonFlags,
196
+ ...flags_1.EASEnvironmentFlagHidden,
195
197
  };
196
198
  Build.contextDefinition = {
197
199
  ..._a.ContextOptions.LoggedIn,
198
200
  ..._a.ContextOptions.DynamicProjectConfig,
199
201
  ..._a.ContextOptions.ProjectDir,
202
+ ..._a.ContextOptions.ProjectConfig,
200
203
  ..._a.ContextOptions.Analytics,
201
204
  ..._a.ContextOptions.Vcs,
202
205
  };
@@ -1,7 +1,7 @@
1
1
  import { Platform } from '@expo/eas-build-job';
2
2
  import EasCommand from '../../commandUtils/EasCommand';
3
3
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
4
- import { BuildFragment } from '../../graphql/generated';
4
+ import { BuildFragment, EnvironmentVariableEnvironment } from '../../graphql/generated';
5
5
  interface BuildResignFlags {
6
6
  json: boolean;
7
7
  nonInteractive: boolean;
@@ -12,6 +12,7 @@ interface BuildResignFlags {
12
12
  sourceProfile?: string;
13
13
  maybeBuildId?: string;
14
14
  wait: boolean;
15
+ environment?: EnvironmentVariableEnvironment;
15
16
  }
16
17
  interface RawBuildResignFlags {
17
18
  json: boolean;
@@ -23,10 +24,12 @@ interface RawBuildResignFlags {
23
24
  'source-profile': string | undefined;
24
25
  wait: boolean;
25
26
  id: string | undefined;
27
+ environment: EnvironmentVariableEnvironment | undefined;
26
28
  }
27
29
  export default class BuildResign extends EasCommand {
28
30
  static description: string;
29
31
  static flags: {
32
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableEnvironment | undefined>;
30
33
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
31
34
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
32
35
  offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
@@ -9,6 +9,7 @@ const assert_1 = tslib_1.__importDefault(require("assert"));
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
10
  const _1 = require(".");
11
11
  const build_1 = require("../../build/build");
12
+ const evaluateConfigWithEnvVarsAsync_1 = require("../../build/evaluateConfigWithEnvVarsAsync");
12
13
  const credentials_1 = require("../../build/ios/credentials");
13
14
  const prepareJob_1 = require("../../build/ios/prepareJob");
14
15
  const queries_1 = require("../../build/queries");
@@ -52,7 +53,13 @@ class BuildResign extends EasCommand_1.default {
52
53
  const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
53
54
  const easJsonCliConfig = (await eas_json_1.EasJsonUtils.getCliConfigAsync(easJsonAccessor)) ?? {};
54
55
  const buildProfile = await eas_json_1.EasJsonUtils.getBuildProfileAsync(easJsonAccessor, platform, flags.targetProfile ?? 'production');
55
- const { exp, projectId } = await getDynamicPrivateProjectConfigAsync({ env: buildProfile.env });
56
+ const { exp, projectId, env } = await (0, evaluateConfigWithEnvVarsAsync_1.evaluateConfigWithEnvVarsAsync)({
57
+ flags,
58
+ buildProfile,
59
+ graphqlClient,
60
+ getProjectConfig: getDynamicPrivateProjectConfigAsync,
61
+ opts: { env: buildProfile.env },
62
+ });
56
63
  const account = await (0, projectUtils_1.getOwnerAccountForProjectIdAsync)(graphqlClient, projectId);
57
64
  const build = await this.ensureBuildSelectedAsync({
58
65
  graphqlClient,
@@ -70,7 +77,7 @@ class BuildResign extends EasCommand_1.default {
70
77
  user: actor,
71
78
  graphqlClient,
72
79
  analytics,
73
- env: buildProfile.env,
80
+ env,
74
81
  easJsonCliConfig,
75
82
  vcsClient,
76
83
  });
@@ -87,7 +94,7 @@ class BuildResign extends EasCommand_1.default {
87
94
  projectDir,
88
95
  exp,
89
96
  xcodeBuildContext,
90
- env: buildProfile.env,
97
+ env,
91
98
  vcsClient,
92
99
  });
93
100
  const credentialsResult = await (0, credentials_1.ensureIosCredentialsForBuildResignAsync)(credentialsCtx, targets, buildProfile);
@@ -144,6 +151,7 @@ class BuildResign extends EasCommand_1.default {
144
151
  targetProfile: flags['target-profile'],
145
152
  maybeBuildId: flags.id,
146
153
  wait: flags.wait,
154
+ environment: flags.environment,
147
155
  };
148
156
  }
149
157
  async ensureBuildSelectedAsync({ graphqlClient, projectId, platform, nonInteractive, limit, offset, buildProfile, }, maybeBuild) {
@@ -215,6 +223,7 @@ BuildResign.flags = {
215
223
  }),
216
224
  ...pagination_1.EasPaginatedQueryFlags,
217
225
  ...flags_1.EasNonInteractiveAndJsonFlags,
226
+ ...flags_1.EASEnvironmentFlagHidden,
218
227
  };
219
228
  BuildResign.contextDefinition = {
220
229
  ..._a.ContextOptions.LoggedIn,
@@ -4,6 +4,7 @@ export default class BuildVersionGetView 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
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<import("../../../graphql/generated").EnvironmentVariableEnvironment | undefined>;
7
8
  platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
9
  profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
10
  };
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const eas_json_1 = require("@expo/eas-json");
6
6
  const core_1 = require("@oclif/core");
7
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const evaluateConfigWithEnvVarsAsync_1 = require("../../../build/evaluateConfigWithEnvVarsAsync");
8
9
  const EasCommand_1 = tslib_1.__importDefault(require("../../../commandUtils/EasCommand"));
9
10
  const flags_1 = require("../../../commandUtils/flags");
10
11
  const AppVersionQuery_1 = require("../../../graphql/queries/AppVersionQuery");
@@ -42,8 +43,12 @@ class BuildVersionGetView extends EasCommand_1.default {
42
43
  });
43
44
  const results = {};
44
45
  for (const { profile, platform } of buildProfiles) {
45
- const { exp, projectId } = await getDynamicPrivateProjectConfigAsync({
46
- env: profile.env,
46
+ const { exp, projectId, env } = await (0, evaluateConfigWithEnvVarsAsync_1.evaluateConfigWithEnvVarsAsync)({
47
+ flags,
48
+ buildProfile: profile,
49
+ graphqlClient,
50
+ getProjectConfig: getDynamicPrivateProjectConfigAsync,
51
+ opts: { env: profile.env },
47
52
  });
48
53
  (0, remoteVersionSource_1.validateAppConfigForRemoteVersionSource)(exp, platform);
49
54
  const applicationIdentifier = await (0, applicationIdentifier_1.getApplicationIdentifierAsync)({
@@ -55,6 +60,7 @@ class BuildVersionGetView extends EasCommand_1.default {
55
60
  platform,
56
61
  vcsClient,
57
62
  nonInteractive: flags['non-interactive'],
63
+ env,
58
64
  });
59
65
  const remoteVersions = await AppVersionQuery_1.AppVersionQuery.latestVersionAsync(graphqlClient, projectId, (0, AppPlatform_1.toAppPlatform)(platform), applicationIdentifier);
60
66
  if (remoteVersions?.buildVersion) {
@@ -97,6 +103,7 @@ BuildVersionGetView.flags = {
97
103
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
98
104
  helpValue: 'PROFILE_NAME',
99
105
  }),
106
+ ...flags_1.EASEnvironmentFlagHidden,
100
107
  ...flags_1.EasNonInteractiveAndJsonFlags,
101
108
  };
102
109
  BuildVersionGetView.contextDefinition = {
@@ -2,6 +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
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<import("../../../graphql/generated").EnvironmentVariableEnvironment | undefined>;
5
6
  platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
7
  profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
8
  };
@@ -7,7 +7,9 @@ const eas_build_job_1 = require("@expo/eas-build-job");
7
7
  const eas_json_1 = require("@expo/eas-json");
8
8
  const core_1 = require("@oclif/core");
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
+ const evaluateConfigWithEnvVarsAsync_1 = require("../../../build/evaluateConfigWithEnvVarsAsync");
10
11
  const EasCommand_1 = tslib_1.__importDefault(require("../../../commandUtils/EasCommand"));
12
+ const flags_1 = require("../../../commandUtils/flags");
11
13
  const AppVersionMutation_1 = require("../../../graphql/mutations/AppVersionMutation");
12
14
  const AppVersionQuery_1 = require("../../../graphql/queries/AppVersionQuery");
13
15
  const AppPlatform_1 = require("../../../graphql/types/AppPlatform");
@@ -29,7 +31,13 @@ class BuildVersionSetView extends EasCommand_1.default {
29
31
  const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
30
32
  await (0, remoteVersionSource_1.ensureVersionSourceIsRemoteAsync)(easJsonAccessor, { nonInteractive: false });
31
33
  const profile = await eas_json_1.EasJsonUtils.getBuildProfileAsync(easJsonAccessor, platform, flags.profile ?? undefined);
32
- const { exp, projectId } = await getDynamicPrivateProjectConfigAsync({ env: profile.env });
34
+ const { exp, projectId, env } = await (0, evaluateConfigWithEnvVarsAsync_1.evaluateConfigWithEnvVarsAsync)({
35
+ flags,
36
+ buildProfile: profile,
37
+ graphqlClient,
38
+ getProjectConfig: getDynamicPrivateProjectConfigAsync,
39
+ opts: { env: profile.env },
40
+ });
33
41
  const displayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
34
42
  (0, remoteVersionSource_1.validateAppConfigForRemoteVersionSource)(exp, platform);
35
43
  const applicationIdentifier = await (0, applicationIdentifier_1.getApplicationIdentifierAsync)({
@@ -41,6 +49,7 @@ class BuildVersionSetView extends EasCommand_1.default {
41
49
  platform,
42
50
  vcsClient,
43
51
  nonInteractive: false,
52
+ env,
44
53
  });
45
54
  const remoteVersions = await AppVersionQuery_1.AppVersionQuery.latestVersionAsync(graphqlClient, projectId, (0, AppPlatform_1.toAppPlatform)(platform), applicationIdentifier);
46
55
  const currentStateMessage = remoteVersions?.buildVersion
@@ -80,6 +89,7 @@ BuildVersionSetView.flags = {
80
89
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
81
90
  helpValue: 'PROFILE_NAME',
82
91
  }),
92
+ ...flags_1.EASEnvironmentFlagHidden,
83
93
  };
84
94
  BuildVersionSetView.contextDefinition = {
85
95
  ..._a.ContextOptions.LoggedIn,
@@ -2,6 +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
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<import("../../../graphql/generated").EnvironmentVariableEnvironment | undefined>;
5
6
  platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
7
  profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
8
  };
@@ -7,8 +7,10 @@ const eas_json_1 = require("@expo/eas-json");
7
7
  const core_1 = require("@oclif/core");
8
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
9
9
  const version_1 = require("../../../build/android/version");
10
+ const evaluateConfigWithEnvVarsAsync_1 = require("../../../build/evaluateConfigWithEnvVarsAsync");
10
11
  const version_2 = require("../../../build/ios/version");
11
12
  const EasCommand_1 = tslib_1.__importDefault(require("../../../commandUtils/EasCommand"));
13
+ const flags_1 = require("../../../commandUtils/flags");
12
14
  const AppVersionQuery_1 = require("../../../graphql/queries/AppVersionQuery");
13
15
  const AppPlatform_1 = require("../../../graphql/types/AppPlatform");
14
16
  const log_1 = tslib_1.__importDefault(require("../../../log"));
@@ -40,8 +42,12 @@ class BuildVersionSyncView extends EasCommand_1.default {
40
42
  projectDir,
41
43
  });
42
44
  for (const profileInfo of buildProfiles) {
43
- const { exp, projectId } = await getDynamicPrivateProjectConfigAsync({
44
- env: profileInfo.profile.env,
45
+ const { exp, projectId, env } = await (0, evaluateConfigWithEnvVarsAsync_1.evaluateConfigWithEnvVarsAsync)({
46
+ flags,
47
+ buildProfile: profileInfo.profile,
48
+ graphqlClient,
49
+ getProjectConfig: getDynamicPrivateProjectConfigAsync,
50
+ opts: { env: profileInfo.profile.env },
45
51
  });
46
52
  (0, remoteVersionSource_1.validateAppConfigForRemoteVersionSource)(exp, profileInfo.platform);
47
53
  const platformDisplayName = platform_1.appPlatformDisplayNames[(0, AppPlatform_1.toAppPlatform)(profileInfo.platform)];
@@ -54,6 +60,7 @@ class BuildVersionSyncView extends EasCommand_1.default {
54
60
  platform: profileInfo.platform,
55
61
  vcsClient,
56
62
  nonInteractive: false,
63
+ env,
57
64
  });
58
65
  const remoteVersions = await AppVersionQuery_1.AppVersionQuery.latestVersionAsync(graphqlClient, projectId, (0, AppPlatform_1.toAppPlatform)(profileInfo.platform), applicationIdentifier);
59
66
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, profileInfo.platform, vcsClient);
@@ -66,7 +73,7 @@ class BuildVersionSyncView extends EasCommand_1.default {
66
73
  continue;
67
74
  }
68
75
  if (profileInfo.platform === eas_build_job_1.Platform.ANDROID) {
69
- this.syncAndroidAsync({
76
+ await this.syncAndroidAsync({
70
77
  projectDir,
71
78
  exp,
72
79
  profile: profileInfo.profile,
@@ -76,7 +83,7 @@ class BuildVersionSyncView extends EasCommand_1.default {
76
83
  });
77
84
  }
78
85
  else {
79
- this.syncIosAsync({
86
+ await this.syncIosAsync({
80
87
  projectDir,
81
88
  exp,
82
89
  profile: profileInfo.profile,
@@ -114,7 +121,7 @@ class BuildVersionSyncView extends EasCommand_1.default {
114
121
  }
115
122
  if (workflow === eas_build_job_1.Workflow.GENERIC) {
116
123
  const buildGradle = await (0, gradleUtils_1.getAppBuildGradleAsync)(projectDir);
117
- const isMultiFlavor = buildGradle.android?.productFlavors || buildGradle.android?.flavorDimensions;
124
+ const isMultiFlavor = buildGradle.android?.productFlavors ?? buildGradle.android?.flavorDimensions;
118
125
  if (isMultiFlavor) {
119
126
  throw new Error("Versions in native code can't be automatically synced in multi-flavor Android projects. If you are using EAS Build with app version source set to remote, the correct values will be injected at the build time.");
120
127
  }
@@ -134,6 +141,7 @@ BuildVersionSyncView.flags = {
134
141
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
135
142
  helpValue: 'PROFILE_NAME',
136
143
  }),
144
+ ...flags_1.EASEnvironmentFlagHidden,
137
145
  };
138
146
  BuildVersionSyncView.contextDefinition = {
139
147
  ..._a.ContextOptions.LoggedIn,
@@ -5,11 +5,13 @@ export default class Config 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
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<import("../graphql/generated").EnvironmentVariableEnvironment | undefined>;
8
9
  platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform | undefined>;
9
10
  profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
11
  'eas-json-only': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
12
  };
12
13
  static contextDefinition: {
14
+ loggedIn: import("../commandUtils/context/LoggedInContextField").default;
13
15
  projectDir: import("../commandUtils/context/ProjectDirContextField").default;
14
16
  getDynamicPublicProjectConfigAsync: import("../commandUtils/context/DynamicProjectConfigContextField").DynamicPublicProjectConfigContextField;
15
17
  getDynamicPrivateProjectConfigAsync: import("../commandUtils/context/DynamicProjectConfigContextField").DynamicPrivateProjectConfigContextField;
@@ -7,6 +7,7 @@ const eas_build_job_1 = require("@expo/eas-build-job");
7
7
  const eas_json_1 = require("@expo/eas-json");
8
8
  const core_1 = require("@oclif/core");
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
+ const evaluateConfigWithEnvVarsAsync_1 = require("../build/evaluateConfigWithEnvVarsAsync");
10
11
  const EasCommand_1 = tslib_1.__importDefault(require("../commandUtils/EasCommand"));
11
12
  const flags_1 = require("../commandUtils/flags");
12
13
  const AppPlatform_1 = require("../graphql/types/AppPlatform");
@@ -21,7 +22,7 @@ class Config extends EasCommand_1.default {
21
22
  (0, json_1.enableJsonOutput)();
22
23
  }
23
24
  const { platform: maybePlatform, profile: maybeProfile } = flags;
24
- const { getDynamicPublicProjectConfigAsync, projectDir } = await this.getContextAsync(_a, {
25
+ const { getDynamicPublicProjectConfigAsync, projectDir, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
25
26
  nonInteractive: false,
26
27
  });
27
28
  const accessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
@@ -55,8 +56,12 @@ class Config extends EasCommand_1.default {
55
56
  }
56
57
  }
57
58
  else {
58
- const { exp: appConfig } = await getDynamicPublicProjectConfigAsync({
59
- env: profile.env,
59
+ const { exp: appConfig } = await (0, evaluateConfigWithEnvVarsAsync_1.evaluateConfigWithEnvVarsAsync)({
60
+ flags,
61
+ buildProfile: profile,
62
+ graphqlClient,
63
+ getProjectConfig: getDynamicPublicProjectConfigAsync,
64
+ opts: { env: profile.env },
60
65
  });
61
66
  if (flags.json) {
62
67
  (0, json_1.printJsonOnlyOutput)({ buildProfile: profile, appConfig });
@@ -90,10 +95,12 @@ Config.flags = {
90
95
  'eas-json-only': core_1.Flags.boolean({
91
96
  hidden: true,
92
97
  }),
98
+ ...flags_1.EASEnvironmentFlagHidden,
93
99
  ...flags_1.EasNonInteractiveAndJsonFlags,
94
100
  };
95
101
  Config.contextDefinition = {
96
102
  ..._a.ContextOptions.DynamicProjectConfig,
97
103
  ..._a.ContextOptions.ProjectDir,
104
+ ..._a.ContextOptions.LoggedIn,
98
105
  };
99
106
  exports.default = Config;
@@ -117,7 +117,7 @@ class DeviceDelete extends EasCommand_1.default {
117
117
  log_1.default.addNewLineIfNone();
118
118
  log_1.default.log((0, formatDevice_1.default)(device, {
119
119
  appleTeamName,
120
- appleTeamIdentifier: appleTeamIdentifier,
120
+ appleTeamIdentifier,
121
121
  }));
122
122
  log_1.default.newLine();
123
123
  }
@@ -106,7 +106,7 @@ class DeviceRename extends EasCommand_1.default {
106
106
  log_1.default.addNewLineIfNone();
107
107
  log_1.default.log((0, formatDevice_1.default)(device, {
108
108
  appleTeamName,
109
- appleTeamIdentifier: appleTeamIdentifier,
109
+ appleTeamIdentifier,
110
110
  }));
111
111
  log_1.default.newLine();
112
112
  }
@@ -0,0 +1,23 @@
1
+ import EasCommand from '../../commandUtils/EasCommand';
2
+ import { EnvironmentVariableEnvironment, EnvironmentVariableScope, EnvironmentVariableVisibility } from '../../graphql/generated';
3
+ export default class EnvironmentVariableCreate extends EasCommand {
4
+ static description: string;
5
+ static hidden: boolean;
6
+ static flags: {
7
+ 'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableEnvironment | undefined>;
9
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableScope>;
10
+ visibility: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableVisibility | undefined>;
11
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
+ value: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
13
+ link: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ };
16
+ static contextDefinition: {
17
+ loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
18
+ analytics: import("../../commandUtils/context/AnalyticsContextField").default;
19
+ privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
20
+ };
21
+ runAsync(): Promise<void>;
22
+ private validateFlags;
23
+ }
@@ -0,0 +1,169 @@
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 chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
8
+ const flags_1 = require("../../commandUtils/flags");
9
+ const generated_1 = require("../../graphql/generated");
10
+ const EnvironmentVariableMutation_1 = require("../../graphql/mutations/EnvironmentVariableMutation");
11
+ const EnvironmentVariablesQuery_1 = require("../../graphql/queries/EnvironmentVariablesQuery");
12
+ const log_1 = tslib_1.__importDefault(require("../../log"));
13
+ const projectUtils_1 = require("../../project/projectUtils");
14
+ const prompts_1 = require("../../prompts");
15
+ const prompts_2 = require("../../utils/prompts");
16
+ class EnvironmentVariableCreate extends EasCommand_1.default {
17
+ async runAsync() {
18
+ const { flags } = await this.parse(_a);
19
+ let { name, value, scope, 'non-interactive': nonInteractive, environment, visibility, link, force, } = this.validateFlags(flags);
20
+ const { privateProjectConfig: { projectId }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
21
+ nonInteractive,
22
+ });
23
+ const [projectDisplayName, ownerAccount] = await Promise.all([
24
+ (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId),
25
+ (0, projectUtils_1.getOwnerAccountForProjectIdAsync)(graphqlClient, projectId),
26
+ ]);
27
+ if (!name) {
28
+ name = await (0, prompts_2.promptVariableNameAsync)(nonInteractive);
29
+ }
30
+ let overwrite = false;
31
+ visibility = visibility ?? generated_1.EnvironmentVariableVisibility.Public;
32
+ if (!value) {
33
+ value = await (0, prompts_2.promptVariableValueAsync)({
34
+ nonInteractive,
35
+ hidden: visibility !== generated_1.EnvironmentVariableVisibility.Public,
36
+ });
37
+ }
38
+ if (scope === generated_1.EnvironmentVariableScope.Project) {
39
+ if (!environment) {
40
+ environment = await (0, prompts_2.promptVariableEnvironmentAsync)(nonInteractive);
41
+ }
42
+ const existingVariables = await EnvironmentVariablesQuery_1.EnvironmentVariablesQuery.byAppIdAsync(graphqlClient, {
43
+ appId: projectId,
44
+ environment,
45
+ });
46
+ const existingVariable = existingVariables.find(variable => variable.name === name);
47
+ if (existingVariable) {
48
+ if (existingVariable.scope === generated_1.EnvironmentVariableScope.Shared) {
49
+ if (!nonInteractive) {
50
+ const confirmation = await (0, prompts_1.confirmAsync)({
51
+ message: `Shared variable ${name} already exists on this project. Do you want to unlink it first?`,
52
+ });
53
+ if (!confirmation) {
54
+ log_1.default.log('Aborting');
55
+ throw new Error(`Shared variable ${name} already exists on this project.`);
56
+ }
57
+ }
58
+ else if (!force) {
59
+ throw new Error(`Shared variable ${name} already exists on this project. Use --force to overwrite it.`);
60
+ }
61
+ await EnvironmentVariableMutation_1.EnvironmentVariableMutation.unlinkSharedEnvironmentVariableAsync(graphqlClient, existingVariable.id, projectId, environment);
62
+ log_1.default.withTick(`Unlinking shared variable ${chalk_1.default.bold(name)} on project ${chalk_1.default.bold(projectDisplayName)}.`);
63
+ }
64
+ else {
65
+ if (!nonInteractive) {
66
+ const confirmation = await (0, prompts_1.confirmAsync)({
67
+ message: `Variable ${name} already exists on this project. Do you want to overwrite it?`,
68
+ });
69
+ if (!confirmation) {
70
+ log_1.default.log('Aborting');
71
+ throw new Error(`Variable ${name} already exists on this project. Use --force to overwrite it.`);
72
+ }
73
+ }
74
+ else if (!force) {
75
+ throw new Error(`Variable ${name} already exists on this project. Use --force to overwrite it.`);
76
+ }
77
+ overwrite = true;
78
+ }
79
+ }
80
+ const variable = await EnvironmentVariableMutation_1.EnvironmentVariableMutation.createForAppAsync(graphqlClient, {
81
+ name,
82
+ value,
83
+ environment,
84
+ visibility,
85
+ overwrite,
86
+ }, projectId);
87
+ if (!variable) {
88
+ throw new Error(`Could not create variable with name ${name} on project ${projectDisplayName}`);
89
+ }
90
+ log_1.default.withTick(`Created a new variable ${chalk_1.default.bold(name)} on project ${chalk_1.default.bold(projectDisplayName)}.`);
91
+ }
92
+ else if (scope === generated_1.EnvironmentVariableScope.Shared) {
93
+ const sharedVariables = await EnvironmentVariablesQuery_1.EnvironmentVariablesQuery.sharedAsync(graphqlClient, {
94
+ appId: projectId,
95
+ });
96
+ const existingVariable = sharedVariables.find(variable => variable.name === name);
97
+ if (existingVariable) {
98
+ throw new Error(`Shared variable with ${name} name already exists on this account.\n` +
99
+ `Use a different name or delete the existing variable on website or by using eas env:delete --name ${name} --scope shared command.`);
100
+ }
101
+ if (environment && !link) {
102
+ const confirmation = await (0, prompts_1.confirmAsync)({
103
+ message: `Unexpected argument: --environment can only be used with --link flag. Do you want to link the variable to the current project?`,
104
+ });
105
+ if (!confirmation) {
106
+ log_1.default.log('Aborting');
107
+ throw new Error('Unexpected argument: --environment can only be used with --link flag.');
108
+ }
109
+ }
110
+ if (!environment && link) {
111
+ environment = await (0, prompts_2.promptVariableEnvironmentAsync)(nonInteractive);
112
+ }
113
+ const variable = await EnvironmentVariableMutation_1.EnvironmentVariableMutation.createSharedVariableAsync(graphqlClient, {
114
+ name,
115
+ value,
116
+ visibility,
117
+ }, ownerAccount.id);
118
+ if (!variable) {
119
+ throw new Error(`Could not create variable with name ${name} on account ${ownerAccount.name}`);
120
+ }
121
+ log_1.default.withTick(`Created a new variable ${chalk_1.default.bold(name)} on account ${chalk_1.default.bold(ownerAccount.name)}.`);
122
+ if (link && environment) {
123
+ log_1.default.withTick(`Linking shared variable ${chalk_1.default.bold(name)} to project ${chalk_1.default.bold(projectDisplayName)}.`);
124
+ await EnvironmentVariableMutation_1.EnvironmentVariableMutation.linkSharedEnvironmentVariableAsync(graphqlClient, variable.id, projectId, environment);
125
+ log_1.default.withTick(`Linked shared variable ${chalk_1.default.bold(name)} to project ${chalk_1.default.bold(projectDisplayName)}.`);
126
+ }
127
+ }
128
+ }
129
+ validateFlags(flags) {
130
+ if (flags.scope !== generated_1.EnvironmentVariableScope.Shared && flags.link) {
131
+ throw new Error(`Unexpected argument: --link can only be used when creating shared variables`);
132
+ }
133
+ if (flags.scope === generated_1.EnvironmentVariableScope.Shared &&
134
+ flags.environment &&
135
+ !flags.link &&
136
+ flags['non-interactive']) {
137
+ throw new Error('Unexpected argument: --environment in non-interactive mode can only be used with --link flag.');
138
+ }
139
+ return flags;
140
+ }
141
+ }
142
+ _a = EnvironmentVariableCreate;
143
+ EnvironmentVariableCreate.description = 'create an environment variable on the current project or owner account';
144
+ EnvironmentVariableCreate.hidden = true;
145
+ EnvironmentVariableCreate.flags = {
146
+ name: core_1.Flags.string({
147
+ description: 'Name of the variable',
148
+ }),
149
+ value: core_1.Flags.string({
150
+ description: 'Text value or the variable',
151
+ }),
152
+ link: core_1.Flags.boolean({
153
+ description: 'Link shared variable to the current project',
154
+ }),
155
+ force: core_1.Flags.boolean({
156
+ description: 'Overwrite existing variable',
157
+ default: false,
158
+ }),
159
+ ...flags_1.EASVariableVisibilityFlag,
160
+ ...flags_1.EASVariableScopeFlag,
161
+ ...flags_1.EASEnvironmentFlag,
162
+ ...flags_1.EASNonInteractiveFlag,
163
+ };
164
+ EnvironmentVariableCreate.contextDefinition = {
165
+ ..._a.ContextOptions.ProjectConfig,
166
+ ..._a.ContextOptions.Analytics,
167
+ ..._a.ContextOptions.LoggedIn,
168
+ };
169
+ exports.default = EnvironmentVariableCreate;
@@ -0,0 +1,18 @@
1
+ import EasCommand from '../../commandUtils/EasCommand';
2
+ import { EnvironmentVariableEnvironment, EnvironmentVariableScope } from '../../graphql/generated';
3
+ export default class EnvironmentVariableDelete extends EasCommand {
4
+ static description: string;
5
+ static hidden: boolean;
6
+ static flags: {
7
+ 'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableEnvironment | undefined>;
9
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentVariableScope>;
10
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
+ };
12
+ static contextDefinition: {
13
+ loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
14
+ privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
15
+ };
16
+ runAsync(): Promise<void>;
17
+ private validateFlags;
18
+ }