@forge/cli 10.12.0 → 10.13.0-next.18

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 (49) hide show
  1. package/CHANGELOG.md +199 -0
  2. package/npm-shrinkwrap.json +93 -54
  3. package/out/autocomplete/autocomplete-config.json +23 -0
  4. package/out/command-line/controller/deploy-controller.d.ts +3 -1
  5. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  6. package/out/command-line/controller/deploy-controller.js +15 -6
  7. package/out/command-line/controller/eligibility-controller.d.ts +14 -0
  8. package/out/command-line/controller/eligibility-controller.d.ts.map +1 -0
  9. package/out/command-line/controller/eligibility-controller.js +21 -0
  10. package/out/command-line/controller/install-controller.d.ts +7 -1
  11. package/out/command-line/controller/install-controller.d.ts.map +1 -1
  12. package/out/command-line/controller/install-controller.js +55 -4
  13. package/out/command-line/dependency-injection.d.ts +2 -0
  14. package/out/command-line/dependency-injection.d.ts.map +1 -1
  15. package/out/command-line/dependency-injection.js +11 -5
  16. package/out/command-line/index.d.ts.map +1 -1
  17. package/out/command-line/index.js +2 -0
  18. package/out/command-line/register-eligibility-commands.d.ts +4 -0
  19. package/out/command-line/register-eligibility-commands.d.ts.map +1 -0
  20. package/out/command-line/register-eligibility-commands.js +29 -0
  21. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  22. package/out/command-line/register-installation-commands.js +5 -1
  23. package/out/command-line/view/deploy-view.d.ts +2 -0
  24. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  25. package/out/command-line/view/deploy-view.js +8 -0
  26. package/out/command-line/view/eligibility-view.d.ts +11 -0
  27. package/out/command-line/view/eligibility-view.d.ts.map +1 -0
  28. package/out/command-line/view/eligibility-view.js +25 -0
  29. package/out/deploy/packager/packager.d.ts +2 -4
  30. package/out/deploy/packager/packager.d.ts.map +1 -1
  31. package/out/deploy/packager/packager.js +2 -5
  32. package/out/deploy/packager/runtime-bundler.d.ts.map +1 -1
  33. package/out/deploy/packager/runtime-bundler.js +4 -6
  34. package/out/eligibility/graphql-client.d.ts +21 -0
  35. package/out/eligibility/graphql-client.d.ts.map +1 -0
  36. package/out/eligibility/graphql-client.js +74 -0
  37. package/out/installations/graphql-client.d.ts +1 -1
  38. package/out/installations/graphql-client.d.ts.map +1 -1
  39. package/out/installations/graphql-client.js +3 -2
  40. package/out/installations/install-app-site.d.ts +3 -2
  41. package/out/installations/install-app-site.d.ts.map +1 -1
  42. package/out/installations/install-app-site.js +3 -2
  43. package/out/service/roa-service.d.ts +18 -0
  44. package/out/service/roa-service.d.ts.map +1 -0
  45. package/out/service/roa-service.js +22 -0
  46. package/package.json +6 -6
  47. package/out/deploy/packager/nativeui-bundler.d.ts +0 -13
  48. package/out/deploy/packager/nativeui-bundler.d.ts.map +0 -1
  49. package/out/deploy/packager/nativeui-bundler.js +0 -39
@@ -12,6 +12,8 @@ interface InstallViewProps {
12
12
  nonInteractive?: boolean;
13
13
  confirmScopes: boolean;
14
14
  license?: string;
15
+ licenseModes?: string[];
16
+ usersWithAccess?: string[];
15
17
  }
16
18
  export declare class NoDeploymentError extends Error {
17
19
  constructor(environment: string);
@@ -33,8 +35,12 @@ export declare class InstallController {
33
35
  private getUniqueInstallationProductsFromScopes;
34
36
  private isValidLicense;
35
37
  private validateLicenseOption;
36
- run({ environment, site, product, upgrade, confirmScopes, license, nonInteractive }: InstallViewProps): Promise<void>;
38
+ run({ environment, site, product, upgrade, confirmScopes, license, licenseModes, usersWithAccess, nonInteractive }: InstallViewProps): Promise<void>;
37
39
  private extractAddedScopes;
40
+ private isValidLicenseMode;
41
+ private validateLicenseModes;
42
+ private validateUsersWithAccess;
43
+ private validateEcosystemAppInstallationOverridesInput;
38
44
  }
39
45
  export {};
40
46
  //# sourceMappingURL=install-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,iBAAiB,EAEjB,UAAU,EAEV,EAAE,EAYF,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAA6B,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,WAAW,EAAE,MAAM;CAGhC;AASD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBANd,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;YAGnC,cAAc;YAmBd,gBAAgB;YA2ChB,gBAAgB;YAMhB,aAAa;YAsBb,gBAAgB;IAqB9B,OAAO,CAAC,uCAAuC;IAY/C,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,qBAAqB;IAehB,GAAG,CAAC,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,OAAO,EACP,aAAa,EACb,OAAO,EACP,cAAc,EACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAqGrB,kBAAkB;CASjC"}
1
+ {"version":3,"file":"install-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/install-controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,iBAAiB,EAEjB,UAAU,EAEV,EAAE,EAcF,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAA6B,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAYD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,WAAW,EAAE,MAAM;CAGhC;AASD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBANd,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;YAGnC,cAAc;YAmBd,gBAAgB;YA6ChB,gBAAgB;YAMhB,aAAa;YAsBb,gBAAgB;IAqB9B,OAAO,CAAC,uCAAuC;IAY/C,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,qBAAqB;IAehB,GAAG,CAAC,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,OAAO,EACP,aAAa,EACb,OAAO,EACP,YAAY,EACZ,eAAe,EACf,cAAc,EACf,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YA2GrB,kBAAkB;IAUhC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,uBAAuB;YAoBjB,8CAA8C;CAW7D"}
@@ -42,7 +42,7 @@ class InstallController {
42
42
  }
43
43
  }
44
44
  }
45
- async installOrUpgrade(upgrade, environment, environmentType, site, product, appId, text, license) {
45
+ async installOrUpgrade(upgrade, environment, environmentType, site, product, appId, text, license, overrides) {
46
46
  return this.ui.displayProgress(async () => {
47
47
  if (upgrade) {
48
48
  const isAlreadyUpdated = await this.installationService.upgradeInstallation(site, product, environment, appId);
@@ -53,7 +53,8 @@ class InstallController {
53
53
  environmentKey: environment,
54
54
  site,
55
55
  product,
56
- licenseOverride: license
56
+ licenseOverride: license,
57
+ overrides
57
58
  });
58
59
  return false;
59
60
  }
@@ -135,10 +136,11 @@ class InstallController {
135
136
  }
136
137
  return upperCaseLicense;
137
138
  }
138
- async run({ environment, site, product, upgrade, confirmScopes, license, nonInteractive }) {
139
+ async run({ environment, site, product, upgrade, confirmScopes, license, licenseModes, usersWithAccess, nonInteractive }) {
139
140
  const { id } = await this.appConfigProvider();
140
141
  const text = upgrade ? cli_shared_1.Text.upgrade : cli_shared_1.Text.install;
141
142
  const validLicense = this.validateLicenseOption(license, environment);
143
+ const overrides = await this.validateEcosystemAppInstallationOverridesInput(licenseModes, usersWithAccess, environment);
142
144
  if (upgrade && (!site || !product)) {
143
145
  const upgradeResult = await this.promptForUpgrade(site, product, environment);
144
146
  environment = upgradeResult.environment;
@@ -171,7 +173,7 @@ class InstallController {
171
173
  const scopesConfirmationResult = await this.installView.promptForPermissionsConfirmation(environmentPermissions, addedScopes, [...manifestScopes], manifestEgressAddresses, environment, confirmScopes, !!nonInteractive, text);
172
174
  if (!scopesConfirmationResult)
173
175
  return;
174
- const isAlreadyUpdated = await this.installOrUpgrade(upgrade, environment, environmentType, site, product, id, text, validLicense);
176
+ const isAlreadyUpdated = await this.installOrUpgrade(upgrade, environment, environmentType, site, product, id, text, validLicense, overrides);
175
177
  if (isAlreadyUpdated) {
176
178
  this.ui.info(cli_shared_1.Text.upgrade.alreadyUpdated.banner(environment, product, site.host));
177
179
  }
@@ -202,5 +204,54 @@ class InstallController {
202
204
  requiresInteractiveConsent: scopesWithInteractiveConsent.has(scope)
203
205
  }));
204
206
  }
207
+ isValidLicenseMode(value) {
208
+ return Object.values(cli_shared_1.EcosystemLicenseMode).includes(value);
209
+ }
210
+ validateLicenseModes(licenseModes, usersWithAccess, environment) {
211
+ if (licenseModes === undefined) {
212
+ return undefined;
213
+ }
214
+ if (usersWithAccess === undefined) {
215
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.licenseModesOverrideErrors.userWithAccessRequired);
216
+ }
217
+ if (environment === cli_shared_1.PRODUCTION_ENVIRONMENT_KEY) {
218
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.licenseModesOverrideErrors.prodEnvNotSupported);
219
+ }
220
+ if (!Array.isArray(licenseModes) || licenseModes.length === 0) {
221
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.licenseModesOverrideErrors.empty);
222
+ }
223
+ const ecosystemLicenseModes = new Set();
224
+ for (const licenseMode of licenseModes) {
225
+ const upperCaseLicenseMode = licenseMode.toUpperCase();
226
+ if (!this.isValidLicenseMode(upperCaseLicenseMode)) {
227
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.licenseModesOverrideErrors.invalid);
228
+ }
229
+ ecosystemLicenseModes.add(upperCaseLicenseMode);
230
+ }
231
+ return Array.from(ecosystemLicenseModes);
232
+ }
233
+ validateUsersWithAccess(licenseModes, usersWithAccess, environment) {
234
+ if (usersWithAccess === undefined)
235
+ return;
236
+ if (licenseModes === undefined) {
237
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.userWithAccessOverrideErrors.licenseModeRequired);
238
+ }
239
+ if (environment === cli_shared_1.PRODUCTION_ENVIRONMENT_KEY) {
240
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.userWithAccessOverrideErrors.prodEnvNotSupported);
241
+ }
242
+ if (!Array.isArray(usersWithAccess) || usersWithAccess.length === 0) {
243
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.userWithAccessOverrideErrors.empty);
244
+ }
245
+ if (usersWithAccess.length > cli_shared_1.Text.maxSizeOfUsersWithAccess) {
246
+ throw new cli_shared_1.UserError(cli_shared_1.Text.error.userWithAccessOverrideErrors.countSize(cli_shared_1.Text.maxSizeOfUsersWithAccess));
247
+ }
248
+ }
249
+ async validateEcosystemAppInstallationOverridesInput(licenseModes, usersWithAccess, environment) {
250
+ const ecosystemLicenseModes = this.validateLicenseModes(licenseModes, usersWithAccess, environment);
251
+ this.validateUsersWithAccess(ecosystemLicenseModes, usersWithAccess, environment);
252
+ return ecosystemLicenseModes && usersWithAccess
253
+ ? { licenseModes: ecosystemLicenseModes, usersWithAccess }
254
+ : undefined;
255
+ }
205
256
  }
206
257
  exports.InstallController = InstallController;
@@ -28,6 +28,7 @@ import { TunnelController } from './controller/tunnel-controller';
28
28
  import { StubController } from './controller/stubController';
29
29
  import { PrerequisitesController } from './controller/prerequisites-controller';
30
30
  import { DefaultEnvironmentController } from './controller/default-environment-controller';
31
+ import { EligibilityController } from './controller/eligibility-controller';
31
32
  export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Promise<{
32
33
  ui: CommandLineUI;
33
34
  cmd: Command<[], import("./command").DefaultOpts>;
@@ -68,6 +69,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
68
69
  controllers: {
69
70
  autocompleteController: AutocompleteController;
70
71
  deployController: DeployController;
72
+ eligibilityController: EligibilityController;
71
73
  feedbackController: FeedbackController;
72
74
  installController: InstallController;
73
75
  lintController: LintController;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAKnB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoWvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAKnB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAGhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAG3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6WvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
@@ -63,9 +63,12 @@ const graphql_client_7 = require("../webtrigger/graphql-client");
63
63
  const stubController_1 = require("./controller/stubController");
64
64
  const prerequisites_controller_1 = require("./controller/prerequisites-controller");
65
65
  const runtime_bundler_1 = require("../deploy/packager/runtime-bundler");
66
- const nativeui_bundler_1 = require("../deploy/packager/nativeui-bundler");
67
66
  const sentry_1 = require("./sentry");
68
67
  const default_environment_controller_1 = require("./controller/default-environment-controller");
68
+ const graphql_client_8 = require("../eligibility/graphql-client");
69
+ const roa_service_1 = require("../service/roa-service");
70
+ const eligibility_controller_1 = require("./controller/eligibility-controller");
71
+ const eligibility_view_1 = require("./view/eligibility-view");
69
72
  const getDependencies = async (cliDetails) => {
70
73
  let cmd;
71
74
  const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
@@ -147,11 +150,11 @@ const getDependencies = async (cliDetails) => {
147
150
  const triggerDeployClient = new deploy_1.TriggerDeployGraphQLClient(graphQLClient);
148
151
  const archiveUploader = new deploy_1.AppArchiveUploader(assertiveAppConfigReader, uploaderArtifactClient, fileUploader, ui, new resources_uploader_service_1.ResourcesUploaderService(fileReader));
149
152
  const deployer = new deploy_1.ArtifactDeployer(assertiveAppConfigReader, triggerDeployClient, deployMonitorClient, cli_shared_1.pause, ui);
150
- const sandboxBundle = (0, bundler_1.getSandboxBundler)();
151
- const nodeBundle = (0, bundler_1.getNodeBundler)((0, bundler_1.getWrapperProvider)({ fileSystemReader: fileReader, statsigService }));
153
+ const sandboxBundle = new bundler_1.SandboxBundler(ui);
154
+ const nodeBundle = new bundler_1.NodeBundler(ui, (0, bundler_1.getWrapperProvider)({ fileSystemReader: fileReader, statsigService }));
152
155
  const sandboxRuntimeBundler = new runtime_bundler_1.SandboxRuntimeBundler(archiverFactory, ui, sandboxBundle, fileReader, configFile);
153
156
  const nodeRuntimeBundler = new runtime_bundler_1.NodeRuntimeBundler(archiverFactory, ui, nodeBundle, fileReader, configFile);
154
- const nativeUiBundler = new nativeui_bundler_1.NativeUIBundler(ui, bundler_1.nativeUiBundle);
157
+ const nativeUiBundler = new bundler_1.NativeUIBundler(ui);
155
158
  const sandboxAppPackager = new deploy_1.AppPackager(sandboxRuntimeBundler, nativeUiBundler, ui);
156
159
  const nodeAppPackager = new deploy_1.AppPackager(nodeRuntimeBundler, nativeUiBundler, ui);
157
160
  const getWebTriggerURLCommand = new get_webtrigger_url_1.GetWebTriggerURLCommand(assertiveAppConfigReader, installationsClient, appEnvironmentClient, webTriggerGraphqlClient);
@@ -160,6 +163,7 @@ const getDependencies = async (cliDetails) => {
160
163
  const installView = new install_view_1.InstallView(ui);
161
164
  const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, statsigService);
162
165
  const feedbackController = new feedback_controller_1.FeedbackController(credentialStore, feedbackPostClient);
166
+ const eligibilityController = new eligibility_controller_1.EligibilityController(new roa_service_1.RoaService(assertiveAppConfigReader, new graphql_client_8.RoaEligibilityClient(graphQLClient)), new eligibility_view_1.EligibilityView(ui));
163
167
  const lintService = new lint_service_1.LintService(configFile, fileReader);
164
168
  const lintView = new lint_view_1.LintView(ui);
165
169
  const lintController = new lint_controller_1.LintController(lintService, lintView);
@@ -170,7 +174,8 @@ const getDependencies = async (cliDetails) => {
170
174
  const i18nResourceBundlingService = new cli_shared_1.I18nResourceBundlingService();
171
175
  const sandboxPackageUploadDeployCommand = new deploy_1.PackageUploadDeployCommand(sandboxAppPackager, archiveUploader, deployer, resourcePackagingService, i18nResourceBundlingService);
172
176
  const nodePackageUploadDeployCommand = new deploy_1.PackageUploadDeployCommand(nodeAppPackager, archiveUploader, deployer, resourcePackagingService, i18nResourceBundlingService);
173
- const deployController = new deploy_controller_1.DeployController(assertiveAppConfigReader, configFile, lintService, installationsService, migrationKeysService, customEntitiesService, appEnvironmentClient, deployView, sandboxPackageUploadDeployCommand, nodePackageUploadDeployCommand, createEnvironmentCommand);
177
+ const roaService = new roa_service_1.RoaService(assertiveAppConfigReader, new graphql_client_8.RoaEligibilityClient(graphQLClient));
178
+ const deployController = new deploy_controller_1.DeployController(assertiveAppConfigReader, configFile, lintService, installationsService, roaService, migrationKeysService, customEntitiesService, appEnvironmentClient, deployView, sandboxPackageUploadDeployCommand, nodePackageUploadDeployCommand, createEnvironmentCommand);
174
179
  const createSandbox = async (cfg) => new tunnel_2.NodeSandbox(cfg);
175
180
  const functionHost = new tunnel_1.LocalFunctionHost(configFile, ui, null, createSandbox);
176
181
  const localInvocationService = new tunnel_1.LocalInvocationService(configFile, ui, runtime_1.notImplementedInspector);
@@ -228,6 +233,7 @@ const getDependencies = async (cliDetails) => {
228
233
  controllers: {
229
234
  autocompleteController,
230
235
  deployController,
236
+ eligibilityController,
231
237
  feedbackController,
232
238
  installController,
233
239
  lintController,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAmBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAgBlD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAUzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAoBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAiBlD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAUzC,CAAC"}
@@ -19,6 +19,7 @@ const register_settings_commands_1 = require("./register-settings-commands");
19
19
  const register_providers_commands_1 = require("./register-providers-commands");
20
20
  const register_environments_commands_1 = require("./register-environments-commands");
21
21
  const register_storage_commands_1 = require("./register-storage-commands");
22
+ const register_eligibility_commands_1 = require("./register-eligibility-commands");
22
23
  function registerCommands(deps) {
23
24
  (0, register_autocomplete_commands_1.registerCommands)(deps);
24
25
  (0, register_authentication_command_1.registerCommands)(deps);
@@ -35,6 +36,7 @@ function registerCommands(deps) {
35
36
  (0, register_settings_commands_1.registerCommands)(deps);
36
37
  (0, register_providers_commands_1.registerCommands)(deps);
37
38
  (0, register_storage_commands_1.registerCommands)(deps);
39
+ (0, register_eligibility_commands_1.registerCommands)(deps);
38
40
  }
39
41
  exports.registerCommands = registerCommands;
40
42
  const registerEvents = ({ ui }) => {
@@ -0,0 +1,4 @@
1
+ import { Dependencies } from './dependency-injection';
2
+ export declare function parseMajorVersion(majorVersionStr: string): number;
3
+ export declare const registerCommands: (deps: Dependencies) => void;
4
+ //# sourceMappingURL=register-eligibility-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-eligibility-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-eligibility-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAKjE;AAgBD,eAAO,MAAM,gBAAgB,SAAU,YAAY,SAGlD,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCommands = exports.parseMajorVersion = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ function parseMajorVersion(majorVersionStr) {
6
+ if (!/^\d+$/.test(majorVersionStr)) {
7
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.eligibility.cmd.error.invalidMajorVersion);
8
+ }
9
+ return parseInt(majorVersionStr, 10);
10
+ }
11
+ exports.parseMajorVersion = parseMajorVersion;
12
+ const registerEligibilityCommands = (parent, { controllers: { eligibilityController } }) => {
13
+ parent
14
+ .command(cli_shared_1.Text.eligibility.cmd.cmdName)
15
+ .description(cli_shared_1.Text.eligibility.cmd.desc)
16
+ .requireAppId()
17
+ .environmentOption()
18
+ .nonInteractiveOption('--environment')
19
+ .option('-v, --major-version [version]', cli_shared_1.Text.eligibility.cmd.option.majorVersion)
20
+ .action(async ({ environment, majorVersion }) => {
21
+ const majorVersionInt = majorVersion ? parseMajorVersion(majorVersion) : undefined;
22
+ await eligibilityController.checkRoaEligibility({ environment, majorVersion: majorVersionInt });
23
+ });
24
+ };
25
+ const registerCommands = (deps) => {
26
+ const { cmd } = deps;
27
+ registerEligibilityCommands(cmd, deps);
28
+ };
29
+ exports.registerCommands = registerCommands;
@@ -1 +1 @@
1
- {"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAY1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM/D,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,OAAO,EACR,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW/C;AA+DD,eAAO,MAAM,sBAAsB,cACtB,MAAM,6CAC0B,YAAY,kBAuBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oBACnB,YAAY,EAAE,6CACY,YAAY,kBA8CxD,CAAC;AAgEF,eAAO,MAAM,gBAAgB,qBAAsB,YAAY,KAAG,IAejE,CAAC"}
1
+ {"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAY1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM/D,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,OAAO,EACR,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW/C;AA+ED,eAAO,MAAM,sBAAsB,cACtB,MAAM,6CAC0B,YAAY,kBAuBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oBACnB,YAAY,EAAE,6CACY,YAAY,kBA8CxD,CAAC;AAgEF,eAAO,MAAM,gBAAgB,qBAAsB,YAAY,KAAG,IAejE,CAAC"}
@@ -27,9 +27,11 @@ const registerInstallAppCommand = ({ cmd, controllers: { installController } })
27
27
  .option('--upgrade', cli_shared_1.Text.install.optionUpgrade, false)
28
28
  .option('--confirm-scopes', cli_shared_1.Text.install.optionConfirmScopes, false)
29
29
  .option('-l, --license [license]', cli_shared_1.Text.install.optionLicense)
30
+ .option('--license-modes [licenseModes...]', cli_shared_1.Text.install.optionLicenseModes)
31
+ .option('--users-with-access [user...]', cli_shared_1.Text.install.optionUsersWithAccess)
30
32
  .nonInteractiveOption('--site', '--product', '--environment')
31
33
  .description(cli_shared_1.Text.install.cmd.description)
32
- .action(async ({ environment, siteURL, product, upgrade, confirmScopes, license, nonInteractive }) => {
34
+ .action(async ({ environment, siteURL, product, upgrade, confirmScopes, license, licenseModes, usersWithAccess, nonInteractive }) => {
33
35
  await installController.run({
34
36
  environment,
35
37
  site: siteURL,
@@ -37,6 +39,8 @@ const registerInstallAppCommand = ({ cmd, controllers: { installController } })
37
39
  upgrade,
38
40
  confirmScopes,
39
41
  license,
42
+ licenseModes,
43
+ usersWithAccess,
40
44
  nonInteractive
41
45
  });
42
46
  });
@@ -9,6 +9,8 @@ export declare class DeployView {
9
9
  displayListAppInstallationsError(): void;
10
10
  displayLintRunning(): void;
11
11
  displayOutdatedInstallationsMessage(): void;
12
+ displayRoaEligibilityFailureMessage(appVersion: string, envKey: string, envType: AppEnvironmentType): void;
13
+ displayRoaEligibilitySuccessMessage(appVersion: string, envKey: string, envType: AppEnvironmentType): void;
12
14
  displayIndexingCommand(environment: string): void;
13
15
  displayLintErrors(lintResults: LintResult[]): void;
14
16
  displayLintWarnings(warnings: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/deploy-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAkB,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIf,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,GAAG,IAAI;IAI5E,gCAAgC,IAAI,IAAI;IAIxC,kBAAkB,IAAI,IAAI;IAI1B,mCAAmC,IAAI,IAAI;IAK3C,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAKlD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAI7B,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAInG,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzD,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjF,0CAA0C,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAIrF,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM5D,wCAAwC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK7D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5D,wCAAwC,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI9D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7C,yCAAyC,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnE,0CAA0C,IAAI,IAAI;IAK5C,wBAAwB,CACnC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EACxE,wBAAwB,EAAE,OAAO,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
1
+ {"version":3,"file":"deploy-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/deploy-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAkB,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIf,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,GAAG,IAAI;IAI5E,gCAAgC,IAAI,IAAI;IAIxC,kBAAkB,IAAI,IAAI;IAI1B,mCAAmC,IAAI,IAAI;IAK3C,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAK1G,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAK1G,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAKlD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAI7B,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAInG,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzD,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjF,0CAA0C,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAIrF,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM5D,wCAAwC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK7D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5D,wCAAwC,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI9D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7C,yCAAyC,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnE,0CAA0C,IAAI,IAAI;IAK5C,wBAAwB,CACnC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EACxE,wBAAwB,EAAE,OAAO,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
@@ -25,6 +25,14 @@ class DeployView {
25
25
  this.ui.emptyLine();
26
26
  this.ui.warn(cli_shared_1.Text.deploy.outdatedInstallations);
27
27
  }
28
+ displayRoaEligibilityFailureMessage(appVersion, envKey, envType) {
29
+ this.ui.emptyLine();
30
+ this.ui.warn(cli_shared_1.Text.deploy.postDeploymentRoaEligibilityFailure(appVersion, envKey, envType));
31
+ }
32
+ displayRoaEligibilitySuccessMessage(appVersion, envKey, envType) {
33
+ this.ui.emptyLine();
34
+ this.ui.info(cli_shared_1.Text.deploy.postDeploymentRoaEligibilitySuccess(appVersion, envKey, envType));
35
+ }
28
36
  displayIndexingCommand(environment) {
29
37
  this.ui.emptyLine();
30
38
  this.ui.info(cli_shared_1.Text.deploy.listIndexes(environment));
@@ -0,0 +1,11 @@
1
+ import { AppEnvironmentType, UI } from '@forge/cli-shared';
2
+ import { RoaStatus } from '../../service/roa-service';
3
+ export declare class EligibilityView {
4
+ private readonly ui;
5
+ constructor(ui: UI);
6
+ getLogger(): UI;
7
+ displayProgress(progress: () => Promise<RoaStatus>): Promise<RoaStatus>;
8
+ displayRoaEligibilityFailureMessage(appVersion: string, envKey: string, envType: AppEnvironmentType, reason: string[]): void;
9
+ displayRoaEligibilitySuccessMessage(appVersion: string, envKey: string, envType: AppEnvironmentType): void;
10
+ }
11
+ //# sourceMappingURL=eligibility-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eligibility-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/eligibility-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAQ,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIT,eAAe,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAI7E,mCAAmC,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,EAAE,GACf,IAAI;IAYA,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;CAIlH"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EligibilityView = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ class EligibilityView {
6
+ ui;
7
+ constructor(ui) {
8
+ this.ui = ui;
9
+ }
10
+ getLogger() {
11
+ return this.ui;
12
+ }
13
+ async displayProgress(progress) {
14
+ return this.ui.displayProgress(progress, cli_shared_1.Text.eligibility.cmd.start, cli_shared_1.Text.eligibility.cmd.end);
15
+ }
16
+ displayRoaEligibilityFailureMessage(appVersion, envKey, envType, reason) {
17
+ this.ui.emptyLine();
18
+ this.ui.info(cli_shared_1.Text.eligibility.cmd.status.notEligible(envKey, envType, appVersion, reason.map(cli_shared_1.Text.eligibility.cmd.rule.conversion)));
19
+ }
20
+ displayRoaEligibilitySuccessMessage(appVersion, envKey, envType) {
21
+ this.ui.emptyLine();
22
+ this.ui.info(cli_shared_1.Text.eligibility.cmd.status.eligible(envKey, envType, appVersion));
23
+ }
24
+ }
25
+ exports.EligibilityView = EligibilityView;
@@ -1,6 +1,6 @@
1
- import { Handler, type I18nResourceBundle, Logger, ResourceDetails, UserError } from '@forge/cli-shared';
1
+ import { Handler, type I18nResourceBundle, Logger, ResourceDetails } from '@forge/cli-shared';
2
+ import { NativeUIBundler } from '@forge/bundler';
2
3
  import { App, Translations } from '@forge/manifest';
3
- import { NativeUIBundler } from './nativeui-bundler';
4
4
  import { RuntimeBundler } from './runtime-bundler';
5
5
  export interface PackageResult {
6
6
  runtimeArchivePath: string;
@@ -10,8 +10,6 @@ export interface PackageResult {
10
10
  export interface Packager {
11
11
  package(handlers: Handler[], resources: ResourceDetails[], packageConfig: App['package'], i18nResourceBundle: I18nResourceBundle, i18nConfig?: Translations): Promise<PackageResult>;
12
12
  }
13
- export declare class BundlerError extends UserError {
14
- }
15
13
  export declare class AppPackager implements Packager {
16
14
  private readonly runtimeBundler;
17
15
  private readonly nativeUiBundler;
@@ -1 +1 @@
1
- {"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,eAAe,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAC7B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,CAAC,EAAE,YAAY,GACxB,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,qBAAa,YAAa,SAAQ,SAAS;CAAG;AAE9C,qBAAa,WAAY,YAAW,QAAQ;IAExC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAGpB,OAAO,CAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAC7B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,CAAC,EAAE,YAAY,GACxB,OAAO,CAAC,aAAa,CAAC;CAW1B"}
1
+ {"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAQ,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,eAAe,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAC7B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,CAAC,EAAE,YAAY,GACxB,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,qBAAa,WAAY,YAAW,QAAQ;IAExC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAGpB,OAAO,CAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAC7B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,CAAC,EAAE,YAAY,GACxB,OAAO,CAAC,aAAa,CAAC;CAW1B"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppPackager = exports.BundlerError = void 0;
3
+ exports.AppPackager = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
- class BundlerError extends cli_shared_1.UserError {
6
- }
7
- exports.BundlerError = BundlerError;
8
5
  class AppPackager {
9
6
  runtimeBundler;
10
7
  nativeUiBundler;
@@ -17,7 +14,7 @@ class AppPackager {
17
14
  async package(handlers, resources, packageConfig, i18nResourceBundle, i18nConfig) {
18
15
  this.logger.info(cli_shared_1.Text.deploy.taskPackage.title);
19
16
  const runtimeBundle = await this.runtimeBundler.bundle(handlers, i18nResourceBundle, packageConfig);
20
- const nativeUiBundle = await this.nativeUiBundler.bundle(resources, i18nConfig);
17
+ const nativeUiBundle = await this.nativeUiBundler.bundleResources(resources, i18nConfig);
21
18
  return {
22
19
  ...runtimeBundle,
23
20
  ...nativeUiBundle
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAiB,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,gBAAgB,EAEhB,UAAU,EAEV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EACd,gBAAgB,EAAE,gBAAgB,EACpC,UAAU,EAAE,UAAU;cAGzB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAkC7E,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAatD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMnF,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAWhC;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAMhC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
1
+ {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAGP,UAAU,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,gBAAgB,EAEhB,UAAU,EAEV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EACd,gBAAgB,EAAE,gBAAgB,EACpC,UAAU,EAAE,UAAU;cAGzB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAkC7E,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAatD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMnF,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAWhC;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAMhC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
@@ -6,8 +6,6 @@ const path_1 = tslib_1.__importDefault(require("path"));
6
6
  const bundler_1 = require("@forge/bundler");
7
7
  const cli_shared_1 = require("@forge/cli-shared");
8
8
  const i18n_1 = require("@forge/i18n");
9
- const packager_1 = require("./packager");
10
- const node_1 = require("@forge/bundler/out/config/node");
11
9
  const path_2 = require("path");
12
10
  class RuntimeBundler {
13
11
  archiverFactory;
@@ -27,10 +25,10 @@ class RuntimeBundler {
27
25
  if (entryPoints.length > 0) {
28
26
  let bundlerResponse;
29
27
  try {
30
- bundlerResponse = await this.bundler(this.logger, process.cwd(), entryPoints);
28
+ bundlerResponse = await this.bundler.bundle({ appDirectory: process.cwd(), entryPoints });
31
29
  }
32
30
  catch (e) {
33
- throw new packager_1.BundlerError(e.message);
31
+ throw new bundler_1.BundlerError(e.message);
34
32
  }
35
33
  const { outputDir, metadata } = bundlerResponse;
36
34
  if (metadata) {
@@ -38,7 +36,7 @@ class RuntimeBundler {
38
36
  moduleList.push(...metadata.modules);
39
37
  }
40
38
  if (metadata.nodeRuntimeVersion) {
41
- archiver.addFile(node_1.NODE_RUNTIME_VERSION_FILE, Buffer.from(metadata.nodeRuntimeVersion));
39
+ archiver.addFile(bundler_1.NODE_RUNTIME_VERSION_FILE, Buffer.from(metadata.nodeRuntimeVersion));
42
40
  }
43
41
  }
44
42
  this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageBundledFiles);
@@ -81,7 +79,7 @@ exports.RuntimeBundler = RuntimeBundler;
81
79
  class SandboxRuntimeBundler extends RuntimeBundler {
82
80
  async bundle(handlers, i18nResourceBundle, packageConfig) {
83
81
  if (packageConfig) {
84
- throw new packager_1.BundlerError(cli_shared_1.Text.deploy.taskPackage.packageOptionsNotSupported);
82
+ throw new bundler_1.BundlerError(cli_shared_1.Text.deploy.taskPackage.packageOptionsNotSupported);
85
83
  }
86
84
  return await super.bundle(handlers, i18nResourceBundle, packageConfig);
87
85
  }
@@ -0,0 +1,21 @@
1
+ import { AppEnvironmentType, GraphQLClient, Maybe, TrustSignal, UserError } from '@forge/cli-shared';
2
+ export interface AppRoaEligibilityData {
3
+ trustSignal?: Maybe<TrustSignal> | null;
4
+ environmentType: AppEnvironmentType;
5
+ appVersion: string;
6
+ }
7
+ export declare class MissingAppError extends UserError {
8
+ }
9
+ export declare class EnvironmentNotFoundError extends UserError {
10
+ constructor(environmentKey: string);
11
+ }
12
+ export declare class MissingTrustSignalError extends Error {
13
+ }
14
+ export declare class MissingAppEnvironmentError extends Error {
15
+ }
16
+ export declare class RoaEligibilityClient {
17
+ private readonly graphqlClient;
18
+ constructor(graphqlClient: GraphQLClient);
19
+ getVersionEligibility(appId: string, environmentKey: string, majorVersion?: number): Promise<AppRoaEligibilityData>;
20
+ }
21
+ //# sourceMappingURL=graphql-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/eligibility/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,EAAiB,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AASpH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACxC,eAAe,EAAE,kBAAkB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,cAAc,EAAE,MAAM;CAGnC;AAED,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAErD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAExD,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,qBAAqB,CAChC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC;CAqDlC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoaEligibilityClient = exports.MissingAppEnvironmentError = exports.MissingTrustSignalError = exports.EnvironmentNotFoundError = exports.MissingAppError = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ class MissingAppError extends cli_shared_1.UserError {
6
+ }
7
+ exports.MissingAppError = MissingAppError;
8
+ class EnvironmentNotFoundError extends cli_shared_1.UserError {
9
+ constructor(environmentKey) {
10
+ super(cli_shared_1.Text.env.error.envNotExist(environmentKey));
11
+ }
12
+ }
13
+ exports.EnvironmentNotFoundError = EnvironmentNotFoundError;
14
+ class MissingTrustSignalError extends Error {
15
+ }
16
+ exports.MissingTrustSignalError = MissingTrustSignalError;
17
+ class MissingAppEnvironmentError extends Error {
18
+ }
19
+ exports.MissingAppEnvironmentError = MissingAppEnvironmentError;
20
+ class RoaEligibilityClient {
21
+ graphqlClient;
22
+ constructor(graphqlClient) {
23
+ this.graphqlClient = graphqlClient;
24
+ }
25
+ async getVersionEligibility(appId, environmentKey, majorVersion) {
26
+ const query = `
27
+ query forge_cli_getApplicationRoaEligibility($appId: ID!, $environmentKey: String!, $firstN: Int!, $majorVersion: Int) {
28
+ app(id: $appId) {
29
+ environmentByKey(key: $environmentKey) {
30
+ type
31
+ versions(first: $firstN, majorVersion: $majorVersion) {
32
+ nodes {
33
+ version
34
+ isLatest
35
+ trustSignal(key: "RUNS_ON_ATLASSIAN") @optIn(to: ["AppEnvironmentVersionTrustSignal"]) {
36
+ key
37
+ result
38
+ rules {
39
+ name
40
+ value
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ `;
49
+ const result = await this.graphqlClient.query(query, {
50
+ appId,
51
+ environmentKey,
52
+ firstN: 1,
53
+ majorVersion
54
+ });
55
+ if (!result.app) {
56
+ throw new MissingAppError();
57
+ }
58
+ if (!result.app.environmentByKey) {
59
+ throw new EnvironmentNotFoundError(environmentKey);
60
+ }
61
+ if (!result.app.environmentByKey.versions?.nodes?.length) {
62
+ throw new MissingAppEnvironmentError();
63
+ }
64
+ if (!result.app.environmentByKey.versions?.nodes?.[0]?.trustSignal) {
65
+ throw new MissingTrustSignalError();
66
+ }
67
+ return {
68
+ trustSignal: result.app.environmentByKey.versions?.nodes?.[0]?.trustSignal,
69
+ environmentType: result.app.environmentByKey.type,
70
+ appVersion: result.app.environmentByKey.versions?.nodes?.[0]?.version
71
+ };
72
+ }
73
+ }
74
+ exports.RoaEligibilityClient = RoaEligibilityClient;
@@ -55,7 +55,7 @@ export declare class InstallationsGraphqlClient implements InstallAppClient, Lis
55
55
  constructor(graphqlClient: GraphQLClient, cloudIdTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause);
56
56
  private buildInstallationContext;
57
57
  private getProductTranslation;
58
- installAppIntoSite({ environmentKey, site, product, appId, licenseOverride }: AppInstallSiteDetails): Promise<void>;
58
+ installAppIntoSite({ environmentKey, site, product, appId, licenseOverride, overrides }: AppInstallSiteDetails): Promise<void>;
59
59
  upgradeInstallation({ site, product, environmentKey, appId }: AppInstallSiteDetails): Promise<void>;
60
60
  private monitorAppInstallOrUpgrade;
61
61
  uninstallApp(input: AppUninstallationInput): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,sBAAsB,EAKtB,aAAa,EACb,oBAAoB,EAOpB,KAAK,EAGL,SAAS,EACT,SAAS,EAGV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AActD,eAAO,MAAM,qBAAqB,kCAAkC,CAAC;AAMrE,qBAAa,qBAAsB,SAAQ,oBAAoB;gBACjD,SAAS,oBAAY,EAAE,KAAK,oBAAY,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS;CAOrF;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBACjD,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS;CAG1E;AAED,qBAAa,iBAAkB,SAAQ,oBAAoB;gBAEvD,OAAO,EAAE,MAAM,EACf,EACE,SAAS,EACT,IAAI,EACJ,UAAU,EACX,EAAE;QACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;CAIJ;AAED,qBAAa,YAAa,SAAQ,oBAAoB;gBAElD,OAAO,EAAE,MAAM,EACf,EACE,SAAS,EACT,IAAI,EACJ,UAAU,EACX,EAAE;QACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;CAIJ;AAED,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,cAAc,EAAE,MAAM;CAGnC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD,qBAAa,8BAA+B,SAAQ,SAAS;IAEzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,QAAQ,CAAC,IAAI,CAAC;gBADG,SAAS,EAAE,OAAO,EAC1B,IAAI,CAAC,oBAAQ,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIzB,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAExD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAErD,qBAAa,yBAA0B,SAAQ,SAAS;CAAG;AAE3D,qBAAa,0BACX,YAAW,gBAAgB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,6BAA6B;IAgBxG,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBxB,kBAAkB,SAAU;IAC5B,uBAAuB,SAAe;WAExB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;gBAWtF,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,cAAc,EACjC,mBAAmB,EAAE,cAAc,EACnC,KAAK,EAAE,KAAK;YAGjB,wBAAwB;IAKtC,OAAO,CAAC,qBAAqB;IAQhB,kBAAkB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,qBAAqB;IAwDnG,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,qBAAqB;YAiDlF,0BAA0B;IAyB3B,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC7D,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAmB7F,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKzD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YAS5E,sBAAsB;YAqCtB,2BAA2B;YAY3B,mBAAmB;IAiBjC,OAAO,CAAC,yBAAyB;YAOnB,sBAAsB;YAoBtB,6BAA6B;YA6B7B,mBAAmB;IAuEpB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAyChH"}
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"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"}