@forge/cli 6.4.3 → 6.5.0-next.9

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 (48) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/npm-shrinkwrap.json +104 -101
  3. package/out/autocomplete/autocomplete-config.json +7 -30
  4. package/out/command-line/command.d.ts +63 -40
  5. package/out/command-line/command.d.ts.map +1 -1
  6. package/out/command-line/command.js +133 -128
  7. package/out/command-line/controller/feedback-controller.d.ts +3 -3
  8. package/out/command-line/controller/feedback-controller.d.ts.map +1 -1
  9. package/out/command-line/controller/feedback-controller.js +3 -4
  10. package/out/command-line/controller/prerequisites-controller.d.ts +6 -1
  11. package/out/command-line/controller/prerequisites-controller.d.ts.map +1 -1
  12. package/out/command-line/controller/prerequisites-controller.js +9 -1
  13. package/out/command-line/dependency-injection.d.ts +3 -1
  14. package/out/command-line/dependency-injection.d.ts.map +1 -1
  15. package/out/command-line/dependency-injection.js +11 -6
  16. package/out/command-line/index.d.ts +1 -2
  17. package/out/command-line/index.d.ts.map +1 -1
  18. package/out/command-line/index.js +10 -26
  19. package/out/command-line/register-app-commands.d.ts +2 -2
  20. package/out/command-line/register-app-commands.d.ts.map +1 -1
  21. package/out/command-line/register-app-commands.js +3 -1
  22. package/out/command-line/register-authentication-command.d.ts +2 -2
  23. package/out/command-line/register-authentication-command.d.ts.map +1 -1
  24. package/out/command-line/register-authentication-command.js +2 -1
  25. package/out/command-line/register-contributors-commands.d.ts.map +1 -1
  26. package/out/command-line/register-contributors-commands.js +2 -1
  27. package/out/command-line/register-environment-commands.d.ts +6 -0
  28. package/out/command-line/register-environment-commands.d.ts.map +1 -0
  29. package/out/command-line/register-environment-commands.js +35 -0
  30. package/out/command-line/register-installation-commands.d.ts +4 -2
  31. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  32. package/out/command-line/register-installation-commands.js +6 -8
  33. package/out/command-line/register-lint-command.js +1 -1
  34. package/out/command-line/register-log-commands.d.ts +1 -1
  35. package/out/command-line/register-log-commands.d.ts.map +1 -1
  36. package/out/command-line/register-log-commands.js +4 -3
  37. package/out/command-line/register-providers-commands.d.ts.map +1 -1
  38. package/out/command-line/register-providers-commands.js +2 -1
  39. package/out/command-line/sentry.js +1 -1
  40. package/out/environment/create-environment.d.ts +17 -0
  41. package/out/environment/create-environment.d.ts.map +1 -0
  42. package/out/environment/create-environment.js +14 -0
  43. package/out/environment/graphql-client.d.ts +8 -0
  44. package/out/environment/graphql-client.d.ts.map +1 -0
  45. package/out/environment/graphql-client.js +47 -0
  46. package/out/service/tunnel-service.d.ts.map +1 -1
  47. package/out/service/tunnel-service.js +2 -0
  48. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"prerequisites-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/prerequisites-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,iBAAiB,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAI7F,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,UAAU,GAAG,SAAS;IAG/C,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAUlC,gBAAgB;YAgBhB,kBAAkB;YAOlB,gBAAgB;CAG/B"}
1
+ {"version":3,"file":"prerequisites-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/prerequisites-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,iBAAiB,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAI7F,UAAU,iBAAiB;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,oBAAY,wBAAwB,GAAG,iBAAiB,CAAC;AACzD,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,UAAU,GAAG,SAAS;IAG/C,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAOlC,oBAAoB;YAWpB,gBAAgB;YAgBhB,kBAAkB;YAOlB,gBAAgB;YAIhB,iCAAiC;CAGhD"}
@@ -14,9 +14,14 @@ class PrerequisitesController {
14
14
  async check() {
15
15
  await this.checkNodeVersion();
16
16
  await this.checkCustomWarning();
17
+ return await this.evaluateFeatureFlags();
18
+ }
19
+ async evaluateFeatureFlags() {
17
20
  const muaoEnabled = (await this.checkMUAOEnabled()) || process.env.ENABLE_MUAO === 'true';
21
+ const concurrentDevEnabled = (await this.checkConcurrentDevelopmentEnabled()) || process.env.ENABLE_CONCURRENT_DEVELOPMENT === 'true';
18
22
  return {
19
- muaoEnabled
23
+ muaoEnabled,
24
+ concurrentDevEnabled
20
25
  };
21
26
  }
22
27
  async checkNodeVersion() {
@@ -37,5 +42,8 @@ class PrerequisitesController {
37
42
  async checkMUAOEnabled() {
38
43
  return this.featureFlags.readFlag('forge-cli-enable-muao');
39
44
  }
45
+ async checkConcurrentDevelopmentEnabled() {
46
+ return this.featureFlags.readFlag('forge-cli-enable-concurrent-development');
47
+ }
40
48
  }
41
49
  exports.PrerequisitesController = PrerequisitesController;
@@ -8,6 +8,7 @@ import { ConfigureProviderCommand } from '../providers/configure-provider';
8
8
  import { AddContributorCommand } from '../contributors/add-contributor';
9
9
  import { ListContributorsCommand } from '../contributors/list-contributors';
10
10
  import { RemoveContributorsCommand } from '../contributors/remove-contributors';
11
+ import { CreateEnvironmentCommand } from '../environment/create-environment';
11
12
  import { InstallAppSiteCommand } from '../installations/install-app-site';
12
13
  import { UninstallAppCommand } from '../installations/uninstall-app';
13
14
  import { InstallationService } from '../service/installation-service';
@@ -27,7 +28,7 @@ import { StubController } from './controller/stubController';
27
28
  import { PrerequisitesController } from './controller/prerequisites-controller';
28
29
  export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Promise<{
29
30
  ui: CommandLineUI;
30
- cmd: Command;
31
+ cmd: Command<[], import("./command").DefaultOpts>;
31
32
  configFile: ConfigFile;
32
33
  appConfigProvider: import("@forge/cli-shared").AppConfigProvider;
33
34
  graphqlGateway: string;
@@ -48,6 +49,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
48
49
  addContributorCommand: AddContributorCommand;
49
50
  listContributorCommand: ListContributorsCommand;
50
51
  removeContributorsCommand: RemoveContributorsCommand;
52
+ createEnvironmentCommand: CreateEnvironmentCommand;
51
53
  viewAppLogsCommand: ViewAppLogsCommand;
52
54
  getWebTriggerURLCommand: GetWebTriggerURLCommand;
53
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAMA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EACnB,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,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAMhF,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;AAIzE,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;AAWlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAKhF,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkSvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,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":"AAMA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EACnB,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,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,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;AAIzE,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;AAWlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAKhF,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuSvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
@@ -21,7 +21,9 @@ const add_contributor_1 = require("../contributors/add-contributor");
21
21
  const list_contributors_1 = require("../contributors/list-contributors");
22
22
  const remove_contributors_1 = require("../contributors/remove-contributors");
23
23
  const graphql_client_4 = require("../contributors/graphql-client");
24
- const graphql_client_5 = require("../installations/graphql-client");
24
+ const create_environment_1 = require("../environment/create-environment");
25
+ const graphql_client_5 = require("../environment/graphql-client");
26
+ const graphql_client_6 = require("../installations/graphql-client");
25
27
  const site_translation_1 = require("../installations/site-translation");
26
28
  const install_app_site_1 = require("../installations/install-app-site");
27
29
  const uninstall_app_1 = require("../installations/uninstall-app");
@@ -57,7 +59,7 @@ const lint_view_1 = require("./view/lint-view");
57
59
  const lite_lint_view_1 = require("./view/lite-lint-view");
58
60
  const settings_view_1 = require("./view/settings-view");
59
61
  const tunnel_view_1 = require("./view/tunnel-view");
60
- const graphql_client_6 = require("../webtrigger/graphql-client");
62
+ const graphql_client_7 = require("../webtrigger/graphql-client");
61
63
  const stubController_1 = require("./controller/stubController");
62
64
  const prerequisites_controller_1 = require("./controller/prerequisites-controller");
63
65
  const runtime_bundler_1 = require("../deploy/packager/runtime-bundler");
@@ -83,10 +85,10 @@ const getDependencies = async (cliDetails) => {
83
85
  const liteLintService = new lite_lint_service_1.LiteLintService();
84
86
  const analyticsSettingsView = new analytics_settings_view_1.AnalyticsSettingsView(ui);
85
87
  const preCommandController = new pre_command_controller_1.PreCommandController(liteLintService, liteLintView, configFile, cachedConfigService, analyticsSettingsView, settingsView);
86
- cmd = new command_1.Command(ui, analyticsClientReporter, preCommandController, cliDetails);
87
88
  const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
88
89
  const credentialStore = (0, cli_shared_1.getCredentialStore)(ui);
89
90
  const authenticator = new cli_shared_1.PersonalTokenAuthenticator(credentialStore);
91
+ cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore);
90
92
  const featureFlagService = new cli_shared_1.FeatureFlagService(ui, cliDetails, credentialStore, appConfigReader);
91
93
  await (0, sentry_1.initialiseSentry)(featureFlagService, cachedConfigService);
92
94
  const createGraphQLClient = (auth) => {
@@ -118,6 +120,8 @@ const getDependencies = async (cliDetails) => {
118
120
  const addContributorCommand = new add_contributor_1.AddContributorCommand(contributorClient, assertiveAppConfigReader);
119
121
  const listContributorCommand = new list_contributors_1.ListContributorsCommand(contributorClient, assertiveAppConfigReader);
120
122
  const removeContributorsCommand = new remove_contributors_1.RemoveContributorsCommand(contributorClient, assertiveAppConfigReader);
123
+ const environmentClient = new graphql_client_5.GraphqlClient(graphQLClient);
124
+ const createEnvironmentCommand = new create_environment_1.CreateEnvironmentCommand(environmentClient, assertiveAppConfigReader);
121
125
  const migrationKeysClient = new graphql_client_2.GraphqlClient(graphQLClient);
122
126
  const migrationKeysService = new migration_keys_service_1.MigrationKeysService(migrationKeysClient, assertiveAppConfigReader);
123
127
  const appEnvironmentClient = new cli_shared_1.AppEnvironmentsGraphqlClient(graphQLClient);
@@ -127,11 +131,11 @@ const getDependencies = async (cliDetails) => {
127
131
  const viewAppLogsCommand = new cli_shared_1.ViewAppLogsCommand(assertiveAppConfigReader, appEnvironmentClient, globalEdgeClient, logsClient);
128
132
  const bitbucketTranslation = new site_translation_1.BitbucketTranslator();
129
133
  const cloudProductTranslation = new site_translation_1.CloudIdTranslator(graphQLClient);
130
- const installationsClient = new graphql_client_5.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause);
134
+ const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause);
131
135
  const installAppSiteCommand = new install_app_site_1.InstallAppSiteCommand(assertiveAppConfigReader, installationsClient);
132
136
  const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
133
137
  const deployMonitorClient = new deploy_1.DeployMonitorGraphqlClient(graphQLClient);
134
- const webTriggerGraphqlClient = new graphql_client_6.WebTriggerGraphQLClient(graphQLClient);
138
+ const webTriggerGraphqlClient = new graphql_client_7.WebTriggerGraphQLClient(graphQLClient);
135
139
  const archiverFactory = () => new deploy_1.ZipArchiver(ui);
136
140
  const uploaderArtifactClient = new deploy_1.ArtifactGraphQLClient(graphQLClient);
137
141
  const triggerDeployClient = new deploy_1.TriggerDeployGraphQLClient(graphQLClient);
@@ -146,7 +150,7 @@ const getDependencies = async (cliDetails) => {
146
150
  const installationsService = new installation_service_1.InstallationService(assertiveAppConfigReader, installationsClient, installationsClient);
147
151
  const installView = new install_view_1.InstallView(ui, featureFlagService);
148
152
  const installController = new install_controller_1.InstallController(assertiveAppConfigReader, configFile, ui, installAppSiteCommand, installationsService, installView, featureFlagService);
149
- const feedbackController = new feedback_controller_1.FeedbackController(ui, feedbackPostClient);
153
+ const feedbackController = new feedback_controller_1.FeedbackController(credentialStore, feedbackPostClient);
150
154
  const lintService = new lint_service_1.LintService(configFile, fileReader);
151
155
  const lintView = new lint_view_1.LintView(ui);
152
156
  const lintController = new lint_controller_1.LintController(lintService, lintView);
@@ -194,6 +198,7 @@ const getDependencies = async (cliDetails) => {
194
198
  addContributorCommand,
195
199
  listContributorCommand,
196
200
  removeContributorsCommand,
201
+ createEnvironmentCommand,
197
202
  viewAppLogsCommand,
198
203
  getWebTriggerURLCommand
199
204
  },
@@ -1,5 +1,4 @@
1
- import { CLIDetails } from '@forge/cli-shared';
2
1
  import { Dependencies } from './dependency-injection';
3
- export declare const registerCommands: (deps: Dependencies, cliDetails?: CLIDetails) => void;
2
+ export declare function registerCommands(deps: Dependencies): void;
4
3
  export declare const main: () => Promise<void>;
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command-line/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAwBvE,eAAO,MAAM,gBAAgB,SAAU,YAAY,eAAe,UAAU,KAAG,IAyB9E,CAAC;AAiBF,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAezC,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;AAmBvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAclD;AAQD,eAAO,MAAM,IAAI,QAAa,QAAQ,IAAI,CAiBzC,CAAC"}
@@ -4,7 +4,6 @@ exports.main = exports.registerCommands = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
5
  const dependency_injection_1 = require("./dependency-injection");
6
6
  const version_info_1 = require("./version-info");
7
- const command_1 = require("./command");
8
7
  const register_app_commands_1 = require("./register-app-commands");
9
8
  const register_authentication_command_1 = require("./register-authentication-command");
10
9
  const register_autocomplete_commands_1 = require("./register-autocomplete-commands");
@@ -19,18 +18,8 @@ const register_feedback_commands_1 = require("./register-feedback-commands");
19
18
  const register_settings_commands_1 = require("./register-settings-commands");
20
19
  const register_providers_commands_1 = require("./register-providers-commands");
21
20
  const register_contributors_commands_1 = require("./register-contributors-commands");
22
- const sortCommands = (cmd) => {
23
- cmd.getDefinedCommands().sort((a, b) => a.name().localeCompare(b.name()));
24
- cmd.getCommands().sort((a, b) => a.getCmdName().localeCompare(b.getCmdName()));
25
- };
26
- const registerCommands = (deps, cliDetails) => {
27
- if (cliDetails) {
28
- deps.cmd.version(cliDetails.version, '--version');
29
- }
30
- else {
31
- deps.cmd.version('unknown');
32
- }
33
- deps.cmd.option('--verbose', cli_shared_1.Text.optionVerbose);
21
+ const register_environment_commands_1 = require("./register-environment-commands");
22
+ function registerCommands(deps) {
34
23
  (0, register_autocomplete_commands_1.registerCommands)(deps);
35
24
  (0, register_authentication_command_1.registerCommands)(deps);
36
25
  (0, register_app_commands_1.registerCommands)(deps);
@@ -44,16 +33,9 @@ const registerCommands = (deps, cliDetails) => {
44
33
  (0, register_feedback_commands_1.registerCommands)(deps);
45
34
  (0, register_settings_commands_1.registerCommands)(deps);
46
35
  (0, register_providers_commands_1.registerCommands)(deps);
47
- sortCommands(deps.cmd);
48
- };
36
+ }
49
37
  exports.registerCommands = registerCommands;
50
- const registerEvents = ({ cmd, ui }) => {
51
- cmd.configureOutput({
52
- writeErr: () => { }
53
- });
54
- cmd.exitOverride((err) => {
55
- throw new command_1.WrapperError(err, 'cli');
56
- });
38
+ const registerEvents = ({ ui }) => {
57
39
  process.on('unhandledRejection', async (reason, promise) => {
58
40
  await (0, cli_shared_1.exitOnError)(ui, new Error(cli_shared_1.Text.error.unhandledRejection(reason, promise)));
59
41
  });
@@ -61,12 +43,14 @@ const registerEvents = ({ cmd, ui }) => {
61
43
  const main = async () => {
62
44
  const cliDetails = (0, version_info_1.getCLIDetails)();
63
45
  const deps = await (0, dependency_injection_1.getDependencies)(cliDetails);
64
- (0, exports.registerCommands)(deps, cliDetails);
46
+ registerCommands(deps);
65
47
  registerEvents(deps);
66
- const checkResult = await deps.controllers.prerequisitesController.check();
67
- if (checkResult.muaoEnabled) {
48
+ const { muaoEnabled, concurrentDevEnabled } = await deps.controllers.prerequisitesController.check();
49
+ if (muaoEnabled) {
68
50
  (0, register_contributors_commands_1.registerCommands)(deps);
69
- sortCommands(deps.cmd);
51
+ }
52
+ if (concurrentDevEnabled) {
53
+ (0, register_environment_commands_1.registerCommands)(deps);
70
54
  }
71
55
  await deps.cmd.parse(process.argv);
72
56
  };
@@ -2,8 +2,8 @@ import { CreateAppCommandResult, CommandLineUI, CreateAppCommand } from '@forge/
2
2
  import { Dependencies } from './dependency-injection';
3
3
  export declare function directoryNameFromAppName(appName?: string): string | undefined;
4
4
  export interface CreateCommandHandlerOptions {
5
- template: string;
6
- directory: string;
5
+ template?: string;
6
+ directory?: string;
7
7
  }
8
8
  export declare function createCommandHandler(ui: CommandLineUI, createAppCommand: CreateAppCommand, name: string, { template, directory }: CreateCommandHandlerOptions): Promise<CreateAppCommandResult>;
9
9
  export declare function registerCommands(deps: Dependencies): void;
@@ -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;AAsBtD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY7E;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;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,CAoFjC;AA0CD,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;AAsBtD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY7E;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,CAwFjC;AA0CD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAGlD"}
@@ -89,7 +89,9 @@ async function createCommandHandler(ui, createAppCommand, name, { template, dire
89
89
  }
90
90
  }
91
91
  ui.emptyLine();
92
- const result = await ui.displayProgress(() => createAppCommand.execute({ name, template, directory }), cli_shared_1.Text.create.cmd.start, cli_shared_1.Text.create.cmd.success(name));
92
+ directory = directory;
93
+ const args = { name, template, directory };
94
+ const result = await ui.displayProgress(() => createAppCommand.execute(args), cli_shared_1.Text.create.cmd.start, cli_shared_1.Text.create.cmd.success(name));
93
95
  ui.info(cli_shared_1.Text.create.cmd.successDetails(directory, cli_shared_2.VALID_ENVIRONMENT_OPTIONS));
94
96
  return result;
95
97
  }
@@ -2,8 +2,8 @@ import { PersonalApiCredentialsValidated } from '@forge/cli-shared';
2
2
  import { CommandLineUI, LoginCommand } from '@forge/cli-shared';
3
3
  import { Dependencies } from './dependency-injection';
4
4
  export interface LoginCommandOptions {
5
- email: string;
6
- token: string;
5
+ email?: string;
6
+ token?: string;
7
7
  }
8
8
  export declare function loginCommandHandler(ui: CommandLineUI, instructionsUrl: string, loginCommand: LoginCommand, { email, token }: LoginCommandOptions): Promise<{
9
9
  creds: PersonalApiCredentialsValidated;
@@ -1 +1 @@
1
- {"version":3,"file":"register-authentication-command.d.ts","sourceRoot":"","sources":["../../src/command-line/register-authentication-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,+BAA+B,EAIhC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAQ,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAYtD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,aAAa,EACjB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,YAAY,EAC1B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,mBAAmB,GACpC,OAAO,CAAC;IAAE,KAAK,EAAE,+BAA+B,CAAC;IAAC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAoCrH;AAiDD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAIlD"}
1
+ {"version":3,"file":"register-authentication-command.d.ts","sourceRoot":"","sources":["../../src/command-line/register-authentication-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,+BAA+B,EAIhC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAQ,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAYtD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,aAAa,EACjB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,YAAY,EAC1B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,mBAAmB,GACpC,OAAO,CAAC;IAAE,KAAK,EAAE,+BAA+B,CAAC;IAAC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAqCrH;AAiDD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,QAIlD"}
@@ -29,7 +29,8 @@ async function loginCommandHandler(ui, instructionsUrl, loginCommand, { email, t
29
29
  token = await ui.promptForSecret(cli_shared_2.Text.login.promptToken);
30
30
  ui.emptyLine();
31
31
  }
32
- const { creds, analytics } = await ui.displayProgress(() => loginCommand.execute({ email, token }), cli_shared_2.Text.login.checking, (data) => cli_shared_2.Text.login.success(data.user.name));
32
+ const args = { email, token };
33
+ const { creds, analytics } = await ui.displayProgress(() => loginCommand.execute(args), cli_shared_2.Text.login.checking, (data) => cli_shared_2.Text.login.success(data.user.name));
33
34
  ui.emptyLine();
34
35
  ui.info(cli_shared_2.Text.login.nextStep);
35
36
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"register-contributors-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-contributors-commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA+KtD,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAOrD,CAAC"}
1
+ {"version":3,"file":"register-contributors-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-contributors-commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgLtD,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAOrD,CAAC"}
@@ -35,8 +35,9 @@ const registerAddContributorCommand = (parent, { ui, commands: { addContributorC
35
35
  if (confirmAddContributor)
36
36
  ui.emptyLine();
37
37
  }
38
+ const args = { email };
38
39
  if (confirmAddContributor) {
39
- await ui.displayProgress(() => addContributorCommand.execute({ email }), cli_shared_1.Text.addContributor.cmd.start, cli_shared_1.Text.addContributor.cmd.success);
40
+ await ui.displayProgress(() => addContributorCommand.execute(args), cli_shared_1.Text.addContributor.cmd.start, cli_shared_1.Text.addContributor.cmd.success);
40
41
  }
41
42
  });
42
43
  };
@@ -0,0 +1,6 @@
1
+ import { CommandLineUI } from '@forge/cli-shared';
2
+ import { Dependencies } from './dependency-injection';
3
+ import { CreateEnvironmentCommand } from '../environment/create-environment';
4
+ export declare const createEnvironmentHandler: (ui: CommandLineUI, createEnvironmentCommand: CreateEnvironmentCommand, environmentKey?: string) => Promise<void>;
5
+ export declare const registerCommands: (deps: Dependencies) => void;
6
+ //# sourceMappingURL=register-environment-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-environment-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-environment-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAQ,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAI7E,eAAO,MAAM,wBAAwB,OAC/B,aAAa,4BACS,wBAAwB,mBACjC,MAAM,kBAmBxB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAKrD,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCommands = exports.createEnvironmentHandler = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ const COMMAND_NAME = 'environment';
6
+ const createEnvironmentHandler = async (ui, createEnvironmentCommand, environmentKey) => {
7
+ ui.info(cli_shared_1.Text.createEnvironment.overview);
8
+ ui.emptyLine();
9
+ if (!environmentKey) {
10
+ environmentKey = await ui.promptForText(cli_shared_1.Text.createEnvironment.promptEnvironmentKey);
11
+ ui.emptyLine();
12
+ }
13
+ const args = { environmentKey };
14
+ await ui.displayProgress(() => createEnvironmentCommand.execute(args), cli_shared_1.Text.createEnvironment.cmd.start, cli_shared_1.Text.createEnvironment.cmd.success(environmentKey));
15
+ ui.emptyLine();
16
+ ui.info(cli_shared_1.Text.createEnvironment.successMessage);
17
+ };
18
+ exports.createEnvironmentHandler = createEnvironmentHandler;
19
+ const registerCreateEnvironmentCommand = (parent, { ui, commands: { createEnvironmentCommand } }) => {
20
+ parent
21
+ .command('create')
22
+ .requireAppId()
23
+ .description(cli_shared_1.Text.createEnvironment.cmd.desc)
24
+ .option('-e, --environment [environment]', cli_shared_1.Text.createEnvironment.optionEnvironmentKey)
25
+ .nonInteractiveOption('--environment')
26
+ .action(async ({ environment }) => {
27
+ await (0, exports.createEnvironmentHandler)(ui, createEnvironmentCommand, environment);
28
+ });
29
+ };
30
+ const registerCommands = (deps) => {
31
+ const { cmd } = deps;
32
+ const environment = cmd.command(COMMAND_NAME).description(cli_shared_1.Text.environment.desc);
33
+ registerCreateEnvironmentCommand(environment, deps);
34
+ };
35
+ exports.registerCommands = registerCommands;
@@ -1,10 +1,12 @@
1
- import commander from 'commander';
1
+ /// <reference types="node" />
2
+ import { URL } from 'url';
2
3
  import { Dependencies } from './dependency-injection';
3
4
  import { Installation } from '../service/installation-service';
4
5
  export declare function validateContext({ site, product }: {
5
6
  site?: string;
6
7
  product?: string;
7
- }, cmd: commander.Command): Promise<{
8
+ }): Promise<{
9
+ siteURL?: URL;
8
10
  product?: string;
9
11
  }>;
10
12
  export declare const performSingleUninstall: (installId: string, { ui, commands: { uninstallAppCommand } }: Dependencies) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"register-installation-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-installation-commands.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAYlC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,wBAAsB,eAAe,CACnC,EACE,IAAI,EACJ,OAAO,EACR,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,GAAG,EAAE,SAAS,CAAC,OAAO,GACrB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAc/B;AAoDD,eAAO,MAAM,sBAAsB,cACtB,MAAM,6CAC0B,YAAY,kBAwBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oBACnB,YAAY,EAAE,6CACY,YAAY,kBA+CxD,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;AAK/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;AAoDD,eAAO,MAAM,sBAAsB,cACtB,MAAM,6CAC0B,YAAY,kBAwBxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,oBACnB,YAAY,EAAE,6CACY,YAAY,kBA+CxD,CAAC;AAgEF,eAAO,MAAM,gBAAgB,qBAAsB,YAAY,KAAG,IAejE,CAAC"}
@@ -6,7 +6,7 @@ const cli_shared_1 = require("@forge/cli-shared");
6
6
  const shared_1 = require("../installations/shared");
7
7
  const errors_1 = require("./errors");
8
8
  const COMMAND_NAME = 'install';
9
- async function validateContext({ site, product }, cmd) {
9
+ async function validateContext({ site, product }) {
10
10
  if (product) {
11
11
  product = (0, cli_shared_1.capitalizeProduct)(product);
12
12
  if (!(0, cli_shared_1.isSupportedProduct)(product)) {
@@ -14,9 +14,7 @@ async function validateContext({ site, product }, cmd) {
14
14
  }
15
15
  }
16
16
  const siteURL = site ? (0, cli_shared_1.validateSite)(site, product) : undefined;
17
- cmd.opts().product = product;
18
- cmd.opts().site = siteURL;
19
- return { product };
17
+ return { siteURL, product };
20
18
  }
21
19
  exports.validateContext = validateContext;
22
20
  const registerInstallAppCommand = ({ cmd, controllers: { installController } }) => {
@@ -26,12 +24,12 @@ const registerInstallAppCommand = ({ cmd, controllers: { installController } })
26
24
  .option('-s, --site [site]', cli_shared_1.Text.optionSite)
27
25
  .option('-p, --product [product]', cli_shared_1.Text.optionProduct(cli_shared_1.SUPPORTED_PRODUCTS))
28
26
  .precondition(validateContext)
29
- .option('--upgrade', cli_shared_1.Text.install.optionUpgrade)
30
- .option('--confirm-scopes', cli_shared_1.Text.install.optionConfirmScopes)
27
+ .option('--upgrade', cli_shared_1.Text.install.optionUpgrade, false)
28
+ .option('--confirm-scopes', cli_shared_1.Text.install.optionConfirmScopes, false)
31
29
  .nonInteractiveOption('--site', '--product', '--environment')
32
30
  .description(cli_shared_1.Text.install.cmd.description)
33
- .action(async ({ environment, site, product, upgrade, confirmScopes, nonInteractive }) => {
34
- await installController.run({ environment, site, product, upgrade, confirmScopes, nonInteractive });
31
+ .action(async ({ environment, siteURL, product, upgrade, confirmScopes, nonInteractive }) => {
32
+ await installController.run({ environment, site: siteURL, product, upgrade, confirmScopes, nonInteractive });
35
33
  });
36
34
  };
37
35
  const LIST_COMMAND_NAME = 'list';
@@ -7,7 +7,7 @@ const registerCommands = ({ cmd, controllers: { lintController } }) => {
7
7
  .command('lint')
8
8
  .requireManifestFile()
9
9
  .description(cli_shared_1.Text.lint.cmd)
10
- .option('--fix', 'Attempt to automatically fix any issues encountered')
10
+ .option('--fix', 'Attempt to automatically fix any issues encountered', false)
11
11
  .environmentOption()
12
12
  .action(async ({ environment, fix }) => {
13
13
  await lintController.run(environment, fix);
@@ -1,4 +1,4 @@
1
1
  import { Dependencies } from './dependency-injection';
2
- export declare function parseSinceDateTime(dateTime: string | null): string | null;
2
+ export declare function parseSinceDateTime(dateTime: string | undefined): string | null;
3
3
  export declare const registerCommands: ({ cmd, ui, commands: { viewAppLogsCommand } }: Dependencies) => void;
4
4
  //# sourceMappingURL=register-log-commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-log-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-log-commands.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAStD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAczE;AAwFD,eAAO,MAAM,gBAAgB,kDAAmD,YAAY,SAgC3F,CAAC"}
1
+ {"version":3,"file":"register-log-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-log-commands.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAStD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAc9E;AAwFD,eAAO,MAAM,gBAAgB,kDAAmD,YAAY,SAiC3F,CAAC"}
@@ -108,10 +108,11 @@ const registerCommands = ({ cmd, ui, commands: { viewAppLogsCommand } }) => {
108
108
  .description(cli_shared_3.Text.logs.cmd)
109
109
  .environmentOption()
110
110
  .option('-i, --invocation <invocation>', cli_shared_3.Text.logs.optionInvocation)
111
- .option('-n, --limit <limit>', cli_shared_3.Text.logs.optionLimit, parseLimit, DEFAULT_LIMIT)
111
+ .option('-n, --limit <limit>', cli_shared_3.Text.logs.optionLimit)
112
112
  .option('-s, --since <since>', cli_shared_3.Text.logs.optionSince)
113
- .option('-g, --grouped', cli_shared_3.Text.logs.optionGroup)
114
- .action(async ({ environment, invocation, limit, grouped, since }) => {
113
+ .option('-g, --grouped', cli_shared_3.Text.logs.optionGroup, false)
114
+ .action(async ({ environment, invocation, limit: limitStr, grouped, since }) => {
115
+ const limit = limitStr ? parseLimit(limitStr) : DEFAULT_LIMIT;
115
116
  if (invocation) {
116
117
  const log = await viewAppLogsCommand.getOne({
117
118
  environmentKey: environment,
@@ -1 +1 @@
1
- {"version":3,"file":"register-providers-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-providers-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA8DtD,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAErD,CAAC"}
1
+ {"version":3,"file":"register-providers-commands.d.ts","sourceRoot":"","sources":["../../src/command-line/register-providers-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA+DtD,eAAO,MAAM,gBAAgB,SAAU,YAAY,KAAG,IAErD,CAAC"}
@@ -35,7 +35,8 @@ const registerConfigureProviderCommand = ({ cmd, ui, commands: { configureProvid
35
35
  oauthClientSecret = await ui.promptForSecret(cli_shared_1.Text.configureProvider.promptClientSecret);
36
36
  ui.emptyLine();
37
37
  }
38
- await ui.displayProgress(() => configureProviderCommand.execute({ environment, providerKey, clientSecret: oauthClientSecret }), cli_shared_1.Text.configureProvider.cmd.start, cli_shared_1.Text.configureProvider.cmd.success);
38
+ const args = { environment, providerKey, clientSecret: oauthClientSecret };
39
+ await ui.displayProgress(() => configureProviderCommand.execute(args), cli_shared_1.Text.configureProvider.cmd.start, cli_shared_1.Text.configureProvider.cmd.success);
39
40
  });
40
41
  };
41
42
  const registerCommands = (deps) => {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initialiseSentry = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Sentry = tslib_1.__importStar(require("@sentry/node"));
6
- const SENTRY_DSN = 'https://9829489b1be84a728351c238c6107a33@api.atlassian.com/sentry-cloud/4504449550843904';
6
+ const SENTRY_DSN = 'https://9829489b1be84a728351c238c6107a33@o55978.ingest.sentry.io/4504449550843904';
7
7
  async function initialiseSentry(featureFlagSerive, cachedConfigService) {
8
8
  const enabledSentryFF = await featureFlagSerive.readFlag('forge-cli-enable-sentry');
9
9
  if (!enabledSentryFF || !cachedConfigService.getAnalyticsPreferences()) {
@@ -0,0 +1,17 @@
1
+ import { AppConfigProvider } from '@forge/cli-shared';
2
+ export interface EnvironmentDetails {
3
+ environmentKey: string;
4
+ }
5
+ export interface AppEnvironmentDetails extends EnvironmentDetails {
6
+ appId: string;
7
+ }
8
+ export interface CreateEnvironmentClient {
9
+ createEnvironment(details: AppEnvironmentDetails): Promise<void>;
10
+ }
11
+ export declare class CreateEnvironmentCommand {
12
+ private readonly client;
13
+ private readonly getAppConfig;
14
+ constructor(client: CreateEnvironmentClient, getAppConfig: AppConfigProvider);
15
+ execute(details: EnvironmentDetails): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=create-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-environment.d.ts","sourceRoot":"","sources":["../../src/environment/create-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA2B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAA9D,MAAM,EAAE,uBAAuB,EAAmB,YAAY,EAAE,iBAAiB;IAEjG,OAAO,CAAC,OAAO,EAAE,kBAAkB;CAOjD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateEnvironmentCommand = void 0;
4
+ class CreateEnvironmentCommand {
5
+ constructor(client, getAppConfig) {
6
+ this.client = client;
7
+ this.getAppConfig = getAppConfig;
8
+ }
9
+ async execute(details) {
10
+ const { id: appId } = await this.getAppConfig();
11
+ await this.client.createEnvironment(Object.assign(Object.assign({}, details), { appId }));
12
+ }
13
+ }
14
+ exports.CreateEnvironmentCommand = CreateEnvironmentCommand;
@@ -0,0 +1,8 @@
1
+ import { GraphQLClient } from '@forge/cli-shared';
2
+ import { AppEnvironmentDetails, CreateEnvironmentClient } from './create-environment';
3
+ export declare class GraphqlClient implements CreateEnvironmentClient {
4
+ private readonly graphqlClient;
5
+ constructor(graphqlClient: GraphQLClient);
6
+ createEnvironment(details: AppEnvironmentDetails): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=graphql-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/environment/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,qBAAa,aAAc,YAAW,uBAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,iBAAiB,CAAC,OAAO,EAAE,qBAAqB;CA+C9D"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphqlClient = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ class GraphqlClient {
6
+ constructor(graphqlClient) {
7
+ this.graphqlClient = graphqlClient;
8
+ }
9
+ async createEnvironment(details) {
10
+ const mutation = `
11
+ mutation forge_cli_createEnvironment($input: CreateAppEnvironmentInput!) {
12
+ ecosystem {
13
+ createAppEnvironment(input: $input) {
14
+ success
15
+ errors {
16
+ message
17
+ extensions {
18
+ errorType
19
+ statusCode
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
25
+ `;
26
+ const { response: { ecosystem: { createAppEnvironment } }, requestId } = await this.graphqlClient.mutate(mutation, {
27
+ input: {
28
+ appAri: details.appId,
29
+ environmentKey: details.environmentKey,
30
+ environmentType: cli_shared_1.AppEnvironmentType.Development
31
+ }
32
+ });
33
+ if (!createAppEnvironment) {
34
+ throw new cli_shared_1.GraphQlMutationError(`Unable to get a response (requestId: ${requestId || 'unknown'})`, { requestId });
35
+ }
36
+ const { success, errors } = createAppEnvironment;
37
+ const error = (0, cli_shared_1.getError)(errors);
38
+ if (!success) {
39
+ throw new cli_shared_1.GraphQlMutationError(`${error.message} (requestId: ${requestId || 'unknown'})`, {
40
+ requestId,
41
+ code: error.code,
42
+ statusCode: error.statusCode
43
+ });
44
+ }
45
+ }
46
+ }
47
+ exports.GraphqlClient = GraphqlClient;
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,8 @@ class TunnelServiceBase {
74
74
  '--rm',
75
75
  `--name`,
76
76
  exports.CONTAINER_NAME,
77
+ '--platform',
78
+ 'linux/amd64',
77
79
  `--env`,
78
80
  `APP_FOLDER=/app`,
79
81
  `--env`,