@forge/cli 10.13.6 → 11.0.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 (74) hide show
  1. package/CHANGELOG.md +203 -0
  2. package/LICENSE.txt +7 -0
  3. package/npm-shrinkwrap.json +142 -130
  4. package/out/autocomplete/autocomplete-config.json +26 -0
  5. package/out/command-line/command.d.ts +15 -2
  6. package/out/command-line/command.d.ts.map +1 -1
  7. package/out/command-line/command.js +29 -6
  8. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  9. package/out/command-line/controller/deploy-controller.js +4 -7
  10. package/out/command-line/controller/install-controller.d.ts +3 -3
  11. package/out/command-line/controller/install-controller.d.ts.map +1 -1
  12. package/out/command-line/controller/install-controller.js +16 -13
  13. package/out/command-line/controller/version-controller.d.ts +36 -0
  14. package/out/command-line/controller/version-controller.d.ts.map +1 -0
  15. package/out/command-line/controller/version-controller.js +114 -0
  16. package/out/command-line/dependency-injection.d.ts +4 -1
  17. package/out/command-line/dependency-injection.d.ts.map +1 -1
  18. package/out/command-line/dependency-injection.js +14 -6
  19. package/out/command-line/index.d.ts +1 -1
  20. package/out/command-line/index.d.ts.map +1 -1
  21. package/out/command-line/index.js +6 -4
  22. package/out/command-line/register-app-commands.d.ts.map +1 -1
  23. package/out/command-line/register-app-commands.js +9 -1
  24. package/out/command-line/register-installation-commands.d.ts +2 -10
  25. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  26. package/out/command-line/register-installation-commands.js +29 -32
  27. package/out/command-line/register-version-commands.d.ts +4 -0
  28. package/out/command-line/register-version-commands.d.ts.map +1 -0
  29. package/out/command-line/register-version-commands.js +76 -0
  30. package/out/command-line/register-webtrigger-commands.d.ts +1 -1
  31. package/out/command-line/register-webtrigger-commands.d.ts.map +1 -1
  32. package/out/command-line/register-webtrigger-commands.js +13 -5
  33. package/out/command-line/view/deploy-view.d.ts +1 -1
  34. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  35. package/out/command-line/view/deploy-view.js +2 -2
  36. package/out/command-line/view/version-view.d.ts +26 -0
  37. package/out/command-line/view/version-view.d.ts.map +1 -0
  38. package/out/command-line/view/version-view.js +198 -0
  39. package/out/environment/graphql-client.d.ts +1 -0
  40. package/out/environment/graphql-client.d.ts.map +1 -1
  41. package/out/environment/graphql-client.js +3 -1
  42. package/out/environment/list-environment.d.ts +1 -0
  43. package/out/environment/list-environment.d.ts.map +1 -1
  44. package/out/installations/graphql-client.d.ts +6 -5
  45. package/out/installations/graphql-client.d.ts.map +1 -1
  46. package/out/installations/graphql-client.js +44 -7
  47. package/out/installations/installation-helper.d.ts.map +1 -1
  48. package/out/installations/installation-helper.js +1 -1
  49. package/out/installations/site-translation/bitbucket.d.ts +3 -4
  50. package/out/installations/site-translation/bitbucket.d.ts.map +1 -1
  51. package/out/installations/site-translation/bitbucket.js +1 -1
  52. package/out/installations/site-translation/index.d.ts +1 -1
  53. package/out/installations/site-translation/index.d.ts.map +1 -1
  54. package/out/installations/site-translation/index.js +1 -1
  55. package/out/installations/site-translation/site-translation.d.ts +3 -4
  56. package/out/installations/site-translation/site-translation.d.ts.map +1 -1
  57. package/out/installations/site-translation/sited-products.d.ts +29 -0
  58. package/out/installations/site-translation/sited-products.d.ts.map +1 -0
  59. package/out/installations/site-translation/sited-products.js +133 -0
  60. package/out/service/installation-service.d.ts +18 -4
  61. package/out/service/installation-service.d.ts.map +1 -1
  62. package/out/service/installation-service.js +44 -10
  63. package/out/service/tunnel-service.d.ts.map +1 -1
  64. package/out/service/tunnel-service.js +1 -1
  65. package/out/service/version-service.d.ts +77 -0
  66. package/out/service/version-service.d.ts.map +1 -0
  67. package/out/service/version-service.js +163 -0
  68. package/out/version/graphql-client.d.ts +25 -0
  69. package/out/version/graphql-client.d.ts.map +1 -0
  70. package/out/version/graphql-client.js +144 -0
  71. package/package.json +13 -11
  72. package/out/installations/site-translation/cloudid-products.d.ts +0 -25
  73. package/out/installations/site-translation/cloudid-products.d.ts.map +0 -1
  74. package/out/installations/site-translation/cloudid-products.js +0 -103
@@ -69,6 +69,10 @@ const graphql_client_8 = require("../eligibility/graphql-client");
69
69
  const roa_service_1 = require("../service/roa-service");
70
70
  const eligibility_controller_1 = require("./controller/eligibility-controller");
71
71
  const eligibility_view_1 = require("./view/eligibility-view");
72
+ const version_controller_1 = require("./controller/version-controller");
73
+ const version_service_1 = require("../service/version-service");
74
+ const version_view_1 = require("./view/version-view");
75
+ const graphql_client_9 = require("../version/graphql-client");
72
76
  const getDependencies = async (cliDetails) => {
73
77
  let cmd;
74
78
  const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
@@ -93,6 +97,7 @@ const getDependencies = async (cliDetails) => {
93
97
  const credentialStore = (0, cli_shared_1.getCredentialStore)(ui, userRepository);
94
98
  const featureFlagService = new cli_shared_1.FeatureFlagService(ui, cliDetails, credentialStore, appConfigReader);
95
99
  const statsigService = new cli_shared_1.StatsigService(ui, cliDetails, credentialStore, appConfigReader);
100
+ const supportedProductsService = new cli_shared_1.SupportedProductsService(statsigService);
96
101
  const settingsView = new settings_view_1.SettingsView(ui);
97
102
  const settingsController = new settings_controller_1.SettingsController(settingsView, cachedConfigService, assertiveAppConfigReader);
98
103
  const liteLintView = new lite_lint_view_1.LiteLintView(ui);
@@ -139,7 +144,7 @@ const getDependencies = async (cliDetails) => {
139
144
  const customEntitiesService = new custom_entities_service_1.CustomEntitiesService(assertiveAppConfigReader, appOauthClientGraphql, entitiesClient);
140
145
  const listEntitiesIndexesCommand = new list_indexes_1.ListEntitiesIndexesCommand(customEntitiesService);
141
146
  const bitbucketTranslation = new site_translation_1.BitbucketTranslator();
142
- const cloudProductTranslation = new site_translation_1.CloudIdTranslator(graphQLClient);
147
+ const cloudProductTranslation = new site_translation_1.SitedProductTranslator(graphQLClient);
143
148
  const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause);
144
149
  const installAppSiteCommand = new install_app_site_1.InstallAppSiteCommand(assertiveAppConfigReader, installationsClient);
145
150
  const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
@@ -159,11 +164,12 @@ const getDependencies = async (cliDetails) => {
159
164
  const nodeAppPackager = new deploy_1.AppPackager(nodeRuntimeBundler, nativeUiBundler, ui);
160
165
  const getWebTriggerURLCommand = new get_webtrigger_url_1.GetWebTriggerURLCommand(assertiveAppConfigReader, installationsClient, appEnvironmentClient, webTriggerGraphqlClient);
161
166
  const autocompleteController = new autocomplete_controller_1.AutocompleteController(ui);
162
- const installationsService = new installation_service_1.InstallationService(assertiveAppConfigReader, installationsClient, installationsClient);
167
+ const installationsService = new installation_service_1.InstallationService(assertiveAppConfigReader, installationsClient, installationsClient, installationsClient);
163
168
  const installView = new install_view_1.InstallView(ui);
164
- const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, statsigService);
169
+ const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, supportedProductsService);
165
170
  const feedbackController = new feedback_controller_1.FeedbackController(credentialStore, feedbackPostClient);
166
171
  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));
172
+ const versionController = new version_controller_1.VersionController(new version_service_1.VersionService(assertiveAppConfigReader, new graphql_client_9.AppVersionDetailsClient(graphQLClient)), new version_view_1.VersionView(ui));
167
173
  const lintService = new lint_service_1.LintService(configFile, fileReader);
168
174
  const lintView = new lint_view_1.LintView(ui);
169
175
  const lintController = new lint_controller_1.LintController(lintService, lintView);
@@ -192,7 +198,7 @@ const getDependencies = async (cliDetails) => {
192
198
  const stubController = new stubController_1.StubController();
193
199
  const prerequisitesController = new prerequisites_controller_1.PrerequisitesController(ui, cliDetails);
194
200
  const defaultEnvironmentController = new default_environment_controller_1.DefaultEnvironmentController(ui, credentialStore, cachedConfigService, assertiveAppConfigReader, userRepository, createEnvironmentCommand, listEnvironmentCommand, getAppOwnerQuery);
195
- cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService);
201
+ cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService, supportedProductsService);
196
202
  return {
197
203
  ui,
198
204
  cmd,
@@ -228,7 +234,8 @@ const getDependencies = async (cliDetails) => {
228
234
  migrationKeysService,
229
235
  customEntitiesService,
230
236
  credentialStore,
231
- userRepository
237
+ userRepository,
238
+ supportedProductsService
232
239
  },
233
240
  controllers: {
234
241
  autocompleteController,
@@ -242,7 +249,8 @@ const getDependencies = async (cliDetails) => {
242
249
  settingsController,
243
250
  stubController,
244
251
  prerequisitesController,
245
- defaultEnvironmentController
252
+ defaultEnvironmentController,
253
+ versionController
246
254
  }
247
255
  };
248
256
  };
@@ -1,4 +1,4 @@
1
1
  import { Dependencies } from './dependency-injection';
2
- export declare function registerCommands(deps: Dependencies): void;
2
+ export declare function registerCommands(deps: Dependencies): Promise<void>;
3
3
  export declare const main: () => Promise<void>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAoBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAiBlD;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;AAqBvE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,YAAY,iBAkBxD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAUzC,CAAC"}
@@ -20,23 +20,25 @@ 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
22
  const register_eligibility_commands_1 = require("./register-eligibility-commands");
23
- function registerCommands(deps) {
23
+ const register_version_commands_1 = require("./register-version-commands");
24
+ async function registerCommands(deps) {
24
25
  (0, register_autocomplete_commands_1.registerCommands)(deps);
25
26
  (0, register_authentication_command_1.registerCommands)(deps);
26
27
  (0, register_app_commands_1.registerCommands)(deps);
27
28
  (0, register_deployment_commands_1.registerCommands)(deps);
28
- (0, register_installation_commands_1.registerCommands)(deps);
29
+ await (0, register_installation_commands_1.registerCommands)(deps);
29
30
  (0, register_environments_commands_1.registerCommands)(deps);
30
31
  (0, register_environment_variables_commands_1.registerCommands)(deps);
31
32
  (0, register_lint_command_1.registerCommands)(deps);
32
33
  (0, register_log_commands_1.registerCommands)(deps);
33
34
  (0, register_tunnel_commands_1.registerCommands)(deps);
34
- (0, register_webtrigger_commands_1.registerCommands)(deps);
35
+ await (0, register_webtrigger_commands_1.registerCommands)(deps);
35
36
  (0, register_feedback_commands_1.registerCommands)(deps);
36
37
  (0, register_settings_commands_1.registerCommands)(deps);
37
38
  (0, register_providers_commands_1.registerCommands)(deps);
38
39
  (0, register_storage_commands_1.registerCommands)(deps);
39
40
  (0, register_eligibility_commands_1.registerCommands)(deps);
41
+ (0, register_version_commands_1.registerCommands)(deps);
40
42
  }
41
43
  exports.registerCommands = registerCommands;
42
44
  const registerEvents = ({ ui }) => {
@@ -48,7 +50,7 @@ const main = async () => {
48
50
  const cliDetails = (0, version_info_1.getCLIDetails)();
49
51
  const deps = await (0, dependency_injection_1.getDependencies)(cliDetails);
50
52
  registerEvents(deps);
51
- registerCommands(deps);
53
+ await registerCommands(deps);
52
54
  await deps.controllers.prerequisitesController.check();
53
55
  await deps.cmd.parse(process.argv);
54
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"register-app-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-app-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAqB,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAetD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AA6CD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAC1B,OAAO,CAQT;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW7E;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,MAAM,EACZ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,2BAA2B,GACnD,OAAO,CAAC,sBAAsB,CAAC,CAuBjC;AAuJD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
1
+ {"version":3,"file":"register-app-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-app-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAqB,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAuBtD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AA6CD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAC1B,OAAO,CAQT;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW7E;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,MAAM,EACZ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,2BAA2B,GACnD,OAAO,CAAC,sBAAsB,CAAC,CAuBjC;AAuJD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
@@ -13,7 +13,15 @@ var TemplateCategory;
13
13
  TemplateCategory["CUSTOM_UI"] = "Custom UI";
14
14
  TemplateCategory["BACKEND"] = "Triggers and Validators";
15
15
  })(TemplateCategory || (TemplateCategory = {}));
16
- const PRODUCT_OPTIONS = ['show-all', 'bitbucket', 'compass', 'confluence', 'jira', 'jira-service-management'];
16
+ const PRODUCT_OPTIONS = [
17
+ 'show-all',
18
+ 'bitbucket',
19
+ 'compass',
20
+ 'confluence',
21
+ 'jira',
22
+ 'jira-service-management',
23
+ 'teamwork-graph'
24
+ ];
17
25
  const MAX_NAME_LENGTH = 60;
18
26
  function formatProduct(product) {
19
27
  return product
@@ -1,15 +1,7 @@
1
- /// <reference types="node" />
2
- import { URL } from 'url';
3
1
  import { Dependencies } from './dependency-injection';
4
2
  import { Installation } from '../service/installation-service';
5
- export declare function validateContext({ site, product }: {
6
- site?: string;
7
- product?: string;
8
- }): Promise<{
9
- siteURL?: URL;
10
- product?: string;
11
- }>;
3
+ export declare const registerListInstallationsCommand: ({ cmd, ui, services: { installationsService } }: Dependencies) => void;
12
4
  export declare const performSingleUninstall: (installId: string, { ui, commands: { uninstallAppCommand } }: Dependencies) => Promise<void>;
13
5
  export declare const performMultipleUninstalls: (appsToUninstall: Installation[], { ui, commands: { uninstallAppCommand } }: Dependencies) => Promise<void>;
14
- export declare const registerCommands: ({ cmd, ...deps }: Dependencies) => void;
6
+ export declare const registerCommands: ({ cmd, ...deps }: Dependencies) => Promise<void>;
15
7
  //# sourceMappingURL=register-installation-commands.d.ts.map
@@ -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+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"}
1
+ {"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAqD/D,eAAO,MAAM,gCAAgC,oDAAqD,YAAY,SAmC7G,CAAC;AAEF,eAAO,MAAM,sBAAsB,cACtB,MAAM,6CAC0B,YAAY,kBAuBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oBACnB,YAAY,EAAE,6CACY,YAAY,kBA8CxD,CAAC;AAsEF,eAAO,MAAM,gBAAgB,qBAA4B,YAAY,KAAG,QAAQ,IAAI,CAenF,CAAC"}
@@ -1,29 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerCommands = exports.performMultipleUninstalls = exports.performSingleUninstall = exports.validateContext = void 0;
3
+ exports.registerCommands = exports.performMultipleUninstalls = exports.performSingleUninstall = exports.registerListInstallationsCommand = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
5
  const shared_1 = require("../installations/shared");
6
6
  const errors_1 = require("./errors");
7
7
  const semver_1 = require("semver");
8
8
  const COMMAND_NAME = 'install';
9
- async function validateContext({ site, product }) {
10
- if (product) {
11
- product = (0, cli_shared_1.productDisplayName)(product);
12
- if (!(0, cli_shared_1.isSupportedProduct)(product)) {
13
- throw new cli_shared_1.ValidationError(cli_shared_1.Text.error.invalidProduct);
14
- }
15
- }
16
- const siteURL = site ? (0, cli_shared_1.validateSite)(site, product) : undefined;
17
- return { siteURL, product };
18
- }
19
- exports.validateContext = validateContext;
20
- const registerInstallAppCommand = ({ cmd, controllers: { installController } }) => {
9
+ const registerInstallAppCommand = async ({ cmd, controllers: { installController }, services: { supportedProductsService } }) => {
10
+ const supportedProducts = await supportedProductsService.getSupportedProducts();
21
11
  cmd
22
12
  .requireAppId()
23
13
  .environmentOption()
24
- .option('-s, --site [site]', cli_shared_1.Text.optionSite)
25
- .option('-p, --product [product]', cli_shared_1.Text.optionProduct((0, cli_shared_1.getSupportedProducts)()))
26
- .precondition(validateContext)
14
+ .contextOption(supportedProducts)
27
15
  .option('--upgrade', cli_shared_1.Text.install.optionUpgrade, false)
28
16
  .option('--confirm-scopes', cli_shared_1.Text.install.optionConfirmScopes, false)
29
17
  .option('-l, --license [license]', cli_shared_1.Text.install.optionLicense)
@@ -31,10 +19,10 @@ const registerInstallAppCommand = ({ cmd, controllers: { installController } })
31
19
  .option('--users-with-access [user...]', cli_shared_1.Text.install.optionUsersWithAccess)
32
20
  .nonInteractiveOption('--site', '--product', '--environment')
33
21
  .description(cli_shared_1.Text.install.cmd.description)
34
- .action(async ({ environment, siteURL, product, upgrade, confirmScopes, license, licenseModes, usersWithAccess, nonInteractive }) => {
22
+ .action(async ({ environment, site, product, upgrade, confirmScopes, license, licenseModes, usersWithAccess, nonInteractive }) => {
35
23
  await installController.run({
36
24
  environment,
37
- site: siteURL,
25
+ site,
38
26
  product,
39
27
  upgrade,
40
28
  confirmScopes,
@@ -54,18 +42,19 @@ const registerListInstallationsCommand = ({ cmd, ui, services: { installationsSe
54
42
  .description(cli_shared_1.Text.installList.cmd)
55
43
  .action(async ({ json }) => {
56
44
  const { installations } = await installationsService.listAppInstallations();
45
+ const hasSecondaryInstallations = installations.some(({ secondaryProducts }) => secondaryProducts?.length);
57
46
  ui.table([
58
47
  ['id', 'Installation ID'],
59
48
  ['environment', 'Environment'],
60
49
  ['site', 'Site'],
61
- ['product', 'Product'],
50
+ ['product', hasSecondaryInstallations ? 'Product(s)' : 'Product'],
62
51
  ['version', 'Version'],
63
52
  ['majorVersion', 'Major Version']
64
- ], installations.map(({ id, environmentKey, product, site, version: { isLatest, version } }) => ({
53
+ ], installations.map(({ id, environmentKey, product, secondaryProducts, site, version: { isLatest, version } }) => ({
65
54
  id,
66
55
  environment: (0, cli_shared_1.environmentToOption)(environmentKey),
67
56
  site,
68
- product: (0, cli_shared_1.productDisplayName)(product),
57
+ product: (0, cli_shared_1.productsDisplayName)(product, secondaryProducts),
69
58
  version: cli_shared_1.Text.install.booleanToScope(isLatest),
70
59
  majorVersion: (0, semver_1.major)(version).toString()
71
60
  })), {
@@ -75,6 +64,7 @@ const registerListInstallationsCommand = ({ cmd, ui, services: { installationsSe
75
64
  });
76
65
  });
77
66
  };
67
+ exports.registerListInstallationsCommand = registerListInstallationsCommand;
78
68
  const performSingleUninstall = async (installId, { ui, commands: { uninstallAppCommand } }) => {
79
69
  const installation = await ui.displayProgress(() => uninstallAppCommand.execute(installId), cli_shared_1.Text.uninstall.cmd.start, (result) => ({
80
70
  successful: !!result.successful,
@@ -121,24 +111,31 @@ const performMultipleUninstalls = async (appsToUninstall, { ui, commands: { unin
121
111
  }
122
112
  };
123
113
  exports.performMultipleUninstalls = performMultipleUninstalls;
124
- const registerUninstallCommand = (deps) => {
125
- const { cmd, ui, services: { installationsService } } = deps;
114
+ const registerUninstallCommand = async (deps) => {
115
+ const { cmd, ui, services: { installationsService, supportedProductsService } } = deps;
116
+ const supportedProducts = await supportedProductsService.getSupportedProducts();
126
117
  cmd
127
- .command('uninstall [installationId]')
118
+ .command('uninstall')
119
+ .contextOption(supportedProducts)
120
+ .environmentOption()
128
121
  .requireAppId()
129
122
  .description(cli_shared_1.Text.uninstall.cmd.desc)
130
- .action(async (installationId) => {
123
+ .action(async ({ site, environment, product }) => {
131
124
  const { installations } = await installationsService.listAppInstallations();
132
125
  if (!installations.length) {
133
126
  ui.info(cli_shared_1.Text.installList.noInstallations);
134
127
  return;
135
128
  }
136
- const installId = installationId?.trim();
137
- if (installId && installId.length > 0) {
129
+ if (site && product) {
130
+ const installation = await installationsService.findOnlyMatchingInstallation({
131
+ site,
132
+ product,
133
+ environment
134
+ });
138
135
  ui.info(cli_shared_1.Text.uninstall.info);
139
136
  ui.info(cli_shared_1.Text.ctrlC);
140
137
  ui.emptyLine();
141
- await (0, exports.performSingleUninstall)(installId, deps);
138
+ await (0, exports.performSingleUninstall)(installation.id, deps);
142
139
  }
143
140
  else {
144
141
  const filteredInstallations = installations.filter((install) => install.product !== 'identity' && install.product !== 'jira-servicedesk');
@@ -160,11 +157,11 @@ const registerUninstallCommand = (deps) => {
160
157
  });
161
158
  };
162
159
  const DEPRECATED_LIST_COMMAND = 'install:list';
163
- const registerCommands = ({ cmd, ...deps }) => {
160
+ const registerCommands = async ({ cmd, ...deps }) => {
164
161
  const install = cmd.command(COMMAND_NAME).description(cli_shared_1.Text.variables.description);
165
- registerUninstallCommand({ cmd, ...deps });
162
+ await registerUninstallCommand({ cmd, ...deps });
166
163
  cmd.deprecatedCommand(DEPRECATED_LIST_COMMAND, `${COMMAND_NAME} ${LIST_COMMAND_NAME}`, deps.controllers.stubController);
167
- registerInstallAppCommand({ cmd: install, ...deps });
168
- registerListInstallationsCommand({ cmd: install, ...deps });
164
+ await registerInstallAppCommand({ cmd: install, ...deps });
165
+ (0, exports.registerListInstallationsCommand)({ cmd: install, ...deps });
169
166
  };
170
167
  exports.registerCommands = registerCommands;
@@ -0,0 +1,4 @@
1
+ import { Dependencies } from './dependency-injection';
2
+ export declare function parseMajorVersion(majorVersionStr: string, property?: string): number;
3
+ export declare const registerCommands: (deps: Dependencies) => void;
4
+ //# sourceMappingURL=register-version-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-version-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-version-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CASpF;AA2DD,eAAO,MAAM,gBAAgB,SAAU,YAAY,SAMlD,CAAC"}
@@ -0,0 +1,76 @@
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, property) {
6
+ if (!/^\d+$/.test(majorVersionStr)) {
7
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.version.check.error.invalidMajorVersion(property));
8
+ }
9
+ const version = parseInt(majorVersionStr, 10);
10
+ if (version < 1) {
11
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.version.check.error.invalidMajorVersion(property));
12
+ }
13
+ return version;
14
+ }
15
+ exports.parseMajorVersion = parseMajorVersion;
16
+ const registerDetailsCommands = (parent, { controllers: { versionController } }) => {
17
+ parent
18
+ .command(cli_shared_1.Text.version.check.cmdName)
19
+ .description(cli_shared_1.Text.version.check.desc)
20
+ .requireAppId()
21
+ .environmentOption()
22
+ .nonInteractiveOption()
23
+ .option('-v, --major-version [version]', cli_shared_1.Text.version.check.option.majorVersion)
24
+ .option('--json', cli_shared_1.Text.version.check.option.json)
25
+ .option('-f, --out-file [outFile]', cli_shared_1.Text.version.check.option.outFile)
26
+ .action(async ({ environment, majorVersion, json, outFile, nonInteractive }) => {
27
+ const majorVersionInt = majorVersion ? parseMajorVersion(majorVersion) : undefined;
28
+ await versionController.getAppVersionDetails({
29
+ environment,
30
+ majorVersion: majorVersionInt,
31
+ json,
32
+ outFile,
33
+ nonInteractive
34
+ });
35
+ });
36
+ };
37
+ const registerListCommands = (parent, { controllers: { versionController } }) => {
38
+ parent
39
+ .command(cli_shared_1.Text.version.list.cmdName)
40
+ .description(cli_shared_1.Text.version.list.desc)
41
+ .requireAppId()
42
+ .environmentOption()
43
+ .nonInteractiveOption()
44
+ .option('--json', cli_shared_1.Text.version.list.option.json)
45
+ .option('-f, --out-file [outFile]', cli_shared_1.Text.version.list.option.outFile)
46
+ .action(async ({ environment, json, outFile, nonInteractive }) => {
47
+ await versionController.getVersionList({ environment, json, outFile, nonInteractive });
48
+ });
49
+ };
50
+ const registerDiffCommands = (parent, { controllers: { versionController } }) => {
51
+ parent
52
+ .command(cli_shared_1.Text.version.diff.cmdName)
53
+ .description(cli_shared_1.Text.version.diff.desc)
54
+ .requireAppId()
55
+ .environmentOption()
56
+ .nonInteractiveOption()
57
+ .option('-v1, --version1 [version]', cli_shared_1.Text.version.diff.option.version1)
58
+ .option('-v2, --version2 [version]', cli_shared_1.Text.version.diff.option.version2)
59
+ .option('-f, --out-file [outFile]', cli_shared_1.Text.version.diff.option.outFile)
60
+ .action(async ({ environment, version1, version2, outFile }) => {
61
+ if (!version1 || !version2) {
62
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.version.diff.error.noVersionProvided);
63
+ }
64
+ const version1Int = parseMajorVersion(version1, '--version1');
65
+ const version2Int = parseMajorVersion(version2, '--version2');
66
+ await versionController.getAppVersionDiff({ environment, version1: version1Int, version2: version2Int, outFile });
67
+ });
68
+ };
69
+ const registerCommands = (deps) => {
70
+ const { cmd } = deps;
71
+ const version = cmd.command(cli_shared_1.Text.version.cmd.cmdName).description(cli_shared_1.Text.version.cmd.desc);
72
+ registerDetailsCommands(version, deps);
73
+ registerDiffCommands(version, deps);
74
+ registerListCommands(version, deps);
75
+ };
76
+ exports.registerCommands = registerCommands;
@@ -1,3 +1,3 @@
1
1
  import { Dependencies } from './dependency-injection';
2
- export declare const registerCommands: ({ cmd, ui, graphqlGateway, configFile, services: { installationsService }, commands: { getWebTriggerURLCommand } }: Dependencies) => void;
2
+ export declare const registerCommands: ({ cmd, ui, configFile, services: { installationsService, supportedProductsService }, commands: { getWebTriggerURLCommand } }: Dependencies) => Promise<void>;
3
3
  //# sourceMappingURL=register-webtrigger-commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-webtrigger-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-webtrigger-commands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgCtD,eAAO,MAAM,gBAAgB,uHAO1B,YAAY,SA6Cd,CAAC"}
1
+ {"version":3,"file":"register-webtrigger-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-webtrigger-commands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgCtD,eAAO,MAAM,gBAAgB,iIAM1B,YAAY,kBAyDd,CAAC"}
@@ -26,7 +26,7 @@ function manifestDefinesTriggers(configFile) {
26
26
  await getValidWebtriggers(configFile);
27
27
  };
28
28
  }
29
- const registerCommands = ({ cmd, ui, graphqlGateway, configFile, services: { installationsService }, commands: { getWebTriggerURLCommand } }) => {
29
+ const registerCommands = async ({ cmd, ui, configFile, services: { installationsService, supportedProductsService }, commands: { getWebTriggerURLCommand } }) => {
30
30
  const validateWebtriggerKey = async (functionKey) => {
31
31
  const availableWebTriggers = await getValidWebtriggers(configFile);
32
32
  if (functionKey) {
@@ -40,17 +40,25 @@ const registerCommands = ({ cmd, ui, graphqlGateway, configFile, services: { ins
40
40
  return await ui.promptForList(cli_shared_1.Text.webtrigger.promptFuncKey, options);
41
41
  }
42
42
  };
43
+ const supportedProducts = await supportedProductsService.getSupportedProducts();
43
44
  cmd
44
- .command('webtrigger [installationId]')
45
+ .command('webtrigger')
45
46
  .requireAppId()
46
47
  .description(cli_shared_1.Text.webtrigger.cmd)
47
48
  .option('-f, --functionKey [function]', cli_shared_1.Text.webtrigger.optionFuncKey)
49
+ .contextOption(supportedProducts)
50
+ .environmentOption()
48
51
  .precondition(manifestDefinesTriggers(configFile))
49
- .action(async (argInstallationId, { functionKey }) => {
52
+ .action(async ({ functionKey, site, environment, product }) => {
50
53
  let selectedInstallationId = '';
51
- if (argInstallationId) {
54
+ if (site && product) {
52
55
  ui.info(cli_shared_1.Text.webtrigger.overviewFuncKey);
53
- selectedInstallationId = (0, installation_helper_1.validateInstallationId)(argInstallationId);
56
+ const installation = await installationsService.findOnlyMatchingInstallation({
57
+ site,
58
+ environment,
59
+ product
60
+ });
61
+ selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation?.id);
54
62
  }
55
63
  else {
56
64
  const appInstallation = await installationsService.listNonTechnicalAppInstallations();
@@ -6,7 +6,7 @@ export declare class DeployView {
6
6
  constructor(ui: UI);
7
7
  getLogger(): UI;
8
8
  displayStart(environment: string, environmentType: AppEnvironmentType): void;
9
- displayListAppInstallationsError(): void;
9
+ displayHasNoAppInstallationsForEnvError(): void;
10
10
  displayLintRunning(): void;
11
11
  displayOutdatedInstallationsMessage(): void;
12
12
  displayRoaEligibilityFailureMessage(appVersion: string, envKey: string, envType: AppEnvironmentType): 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,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;IAKlD,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMlD,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,uCAAuC,IAAI,IAAI;IAI/C,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;IAKlD,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMlD,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"}
@@ -15,8 +15,8 @@ class DeployView {
15
15
  displayStart(environment, environmentType) {
16
16
  this.ui.info(cli_shared_1.Text.deploy.cmd.start1(environment, environmentType));
17
17
  }
18
- displayListAppInstallationsError() {
19
- this.ui.info(cli_shared_1.Text.deploy.taskListInstallation.listInstallationError);
18
+ displayHasNoAppInstallationsForEnvError() {
19
+ this.ui.info(cli_shared_1.Text.deploy.hasNoAppInstallationsForEnv.hasNoAppInstallationsForEnvError);
20
20
  }
21
21
  displayLintRunning() {
22
22
  this.ui.info(cli_shared_1.Text.lint.running);
@@ -0,0 +1,26 @@
1
+ import { AppEnvironmentType, UI } from '@forge/cli-shared';
2
+ import { VersionDetails, VersionOverview } from '../../service/version-service';
3
+ import { Change } from 'diff';
4
+ export declare class VersionView {
5
+ private readonly ui;
6
+ constructor(ui: UI);
7
+ displayDetailsProgress(progress: () => Promise<VersionDetails>): Promise<VersionDetails>;
8
+ displayDiffProgress(progress: () => Promise<VersionDetails[]>): Promise<VersionDetails[]>;
9
+ displayListProgress(progress: () => Promise<VersionOverview[]>): Promise<VersionOverview[]>;
10
+ promptVersionDetailsProperties(): Promise<(keyof VersionDetails)[]>;
11
+ displayVersionDetailsBanner(appVersion: number, envKey: string, envType: AppEnvironmentType): void;
12
+ displayDetailsAsTable(details: Partial<VersionDetails>): void;
13
+ displayDataInJson(data: VersionDetails): void;
14
+ displayDiffBanner(version1: number, version2: number, envKey: string, envType: AppEnvironmentType): void;
15
+ displayDiffAsTable(versions: {
16
+ v1: number;
17
+ v2: number;
18
+ }, input: {
19
+ key: string;
20
+ diff: Change[];
21
+ }[]): void;
22
+ displayListBanner(versions: number, envKey: string, envType: AppEnvironmentType): void;
23
+ displayWriteToFile(outFile: string): void;
24
+ displayVersionList(data: VersionOverview[]): void;
25
+ }
26
+ //# sourceMappingURL=version-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/version-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAQ,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAG9B,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAEtB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxF,mBAAmB,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzF,mBAAmB,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI3F,8BAA8B,IAAI,OAAO,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC;IAmDzE,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAMlG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAuE7D,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI7C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAMxG,kBAAkB,CAAC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,GAAG,IAAI;IAkCxG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAMtF,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,IAAI;CAwBzD"}