@forge/cli 6.11.1-next.0 → 6.12.0-next.13

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 (28) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/npm-shrinkwrap.json +283 -280
  3. package/out/command-line/command.d.ts +3 -1
  4. package/out/command-line/command.d.ts.map +1 -1
  5. package/out/command-line/command.js +10 -8
  6. package/out/command-line/controller/default-environment-controller.d.ts +28 -0
  7. package/out/command-line/controller/default-environment-controller.d.ts.map +1 -0
  8. package/out/command-line/controller/default-environment-controller.js +106 -0
  9. package/out/command-line/controller/deploy-controller.d.ts +7 -2
  10. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  11. package/out/command-line/controller/deploy-controller.js +29 -4
  12. package/out/command-line/controller/settings-controller.d.ts +1 -0
  13. package/out/command-line/controller/settings-controller.d.ts.map +1 -1
  14. package/out/command-line/controller/settings-controller.js +3 -2
  15. package/out/command-line/dependency-injection.d.ts +4 -1
  16. package/out/command-line/dependency-injection.d.ts.map +1 -1
  17. package/out/command-line/dependency-injection.js +8 -3
  18. package/out/command-line/errors.d.ts +5 -0
  19. package/out/command-line/errors.d.ts.map +1 -1
  20. package/out/command-line/errors.js +11 -1
  21. package/out/command-line/register-lint-command.js +1 -1
  22. package/out/command-line/utils.d.ts +4 -0
  23. package/out/command-line/utils.d.ts.map +1 -0
  24. package/out/command-line/utils.js +30 -0
  25. package/out/command-line/view/deploy-view.d.ts +3 -0
  26. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  27. package/out/command-line/view/deploy-view.js +14 -0
  28. package/package.json +12 -11
@@ -5,6 +5,7 @@ import { Logger, CLIDetails, CredentialGetter, PersonalApiCredentialsValidated }
5
5
  import { PreCommandController } from './controller/pre-command-controller';
6
6
  import * as autocomplete from '../autocomplete/types';
7
7
  import { StubController } from './controller/stubController';
8
+ import { DefaultEnvironmentController } from './controller/default-environment-controller';
8
9
  declare type ActionResult = Promise<{
9
10
  creds?: PersonalApiCredentialsValidated;
10
11
  analytics: any;
@@ -43,6 +44,7 @@ export declare class Command<Args extends AnyArgs = [], Opts extends AnyOpts = D
43
44
  private readonly preCommandController;
44
45
  private readonly cliDetails;
45
46
  private readonly credentialStore;
47
+ private readonly defaultEnvironmentController;
46
48
  get verbose(): boolean;
47
49
  private static isError;
48
50
  private static isHelpTriggered;
@@ -56,7 +58,7 @@ export declare class Command<Args extends AnyArgs = [], Opts extends AnyOpts = D
56
58
  private readonly requiresAnalyticsConsent;
57
59
  private readonly requiredOptionFlags;
58
60
  private readonly preconditionFn;
59
- static program(ui: Logger, analyticsClient: AnalyticsClientReporter, preCommandController: PreCommandController, cliDetails: CLIDetails | undefined, credentialStore: CredentialGetter): Command<[], DefaultOpts>;
61
+ static program(ui: Logger, analyticsClient: AnalyticsClientReporter, preCommandController: PreCommandController, cliDetails: CLIDetails | undefined, credentialStore: CredentialGetter, defaultEnvironmentController: DefaultEnvironmentController): Command<[], DefaultOpts>;
60
62
  private constructor();
61
63
  private clone;
62
64
  version(str: string, flags?: string): Command<Args, Opts>;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,13 @@ function last(arg) {
26
26
  return arg[arg.length - 1];
27
27
  }
28
28
  class Command {
29
- constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
29
+ constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
30
30
  this.ui = ui;
31
31
  this.analyticsClient = analyticsClient;
32
32
  this.preCommandController = preCommandController;
33
33
  this.cliDetails = cliDetails;
34
34
  this.credentialStore = credentialStore;
35
+ this.defaultEnvironmentController = defaultEnvironmentController;
35
36
  this.requiredOptionFlags = [];
36
37
  this.preconditionFn = [];
37
38
  this.actionProcessor = async (cb, ...args) => {
@@ -133,13 +134,13 @@ class Command {
133
134
  get verbose() {
134
135
  return this.cmd.opts().verbose;
135
136
  }
136
- static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore) {
137
+ static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController) {
137
138
  var _a;
138
- const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, {});
139
+ const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, {});
139
140
  return cmd.version((_a = cliDetails === null || cliDetails === void 0 ? void 0 : cliDetails.version) !== null && _a !== void 0 ? _a : 'unknown', '--version').option('--verbose', cli_shared_1.Text.optionVerbose);
140
141
  }
141
142
  clone(overrides) {
142
- return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, Object.assign({ cmd: this.cmd, analyticsName: this.analyticsName, requiresAuthentication: this.requiresAuthentication, requiresAnalyticsConsent: this.requiresAnalyticsConsent, requiredOptionFlags: this.requiredOptionFlags, preconditionFn: this.preconditionFn }, overrides));
143
+ return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, Object.assign({ cmd: this.cmd, analyticsName: this.analyticsName, requiresAuthentication: this.requiresAuthentication, requiresAnalyticsConsent: this.requiresAnalyticsConsent, requiredOptionFlags: this.requiredOptionFlags, preconditionFn: this.preconditionFn }, overrides));
143
144
  }
144
145
  version(str, flags) {
145
146
  this.cmd.version(str, flags);
@@ -150,7 +151,7 @@ class Command {
150
151
  .command(name, opts)
151
152
  .allowUnknownOption(false)
152
153
  .allowExcessArguments(false);
153
- const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, {
154
+ const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, {
154
155
  cmd,
155
156
  analyticsName: Command.concatenateNames(this.analyticsName, cmd.name())
156
157
  }).option('--verbose', cli_shared_1.Text.optionVerbose);
@@ -212,9 +213,10 @@ class Command {
212
213
  }
213
214
  }
214
215
  environmentOption() {
215
- return this.option('-e, --environment [environment]', cli_shared_1.Text.env.option(cli_shared_1.DEFAULT_ENVIRONMENT_OPTION)).precondition(async (...args) => {
216
- const environment = (0, environment_1.checkEnvironmentOption)(last(args).environment || cli_shared_1.DEFAULT_ENVIRONMENT_OPTION);
217
- return { environment };
216
+ return this.option('-e, --environment [environment]', cli_shared_1.Text.env.option).precondition(async (...args) => {
217
+ const { environment: environmentArg, nonInteractive } = last(args);
218
+ const environment = environmentArg || (await this.defaultEnvironmentController.run(nonInteractive));
219
+ return { environment: (0, environment_1.checkEnvironmentOption)(environment) };
218
220
  });
219
221
  }
220
222
  jsonOption() {
@@ -0,0 +1,28 @@
1
+ import { AppConfigProvider, CredentialStore, FeatureFlagService, GetAppOwnerQuery, LoginCommand, UI } from '@forge/cli-shared';
2
+ import { CreateEnvironmentCommand } from '../../environment/create-environment';
3
+ import { ListEnvironmentCommand } from '../../environment/list-environment';
4
+ import { CachedConfigService } from '../../service/cached-config-service';
5
+ export declare class DefaultEnvironmentNotSetError extends Error {
6
+ constructor();
7
+ }
8
+ export declare class DefaultEnvironmentController {
9
+ private ui;
10
+ private readonly credentialStore;
11
+ private readonly featureFlagService;
12
+ private readonly cachedConfigService;
13
+ private readonly getAppConfig;
14
+ private readonly loginCommand;
15
+ private readonly createEnvironmentCommand;
16
+ private readonly listEnvironmentCommand;
17
+ private readonly getAppOwnerQuery;
18
+ constructor(ui: UI, credentialStore: CredentialStore, featureFlagService: FeatureFlagService, cachedConfigService: CachedConfigService, getAppConfig: AppConfigProvider, loginCommand: LoginCommand, createEnvironmentCommand: CreateEnvironmentCommand, listEnvironmentCommand: ListEnvironmentCommand, getAppOwnerQuery: GetAppOwnerQuery);
19
+ run(nonInteractive?: boolean): Promise<string>;
20
+ getDefaultEnvironment(): Promise<string | undefined>;
21
+ private promptAndSetDefaultEnvironmentForContributor;
22
+ private promptAndSetDefaultEnvironment;
23
+ private environmentExists;
24
+ private setExistingEnvironmentAsDefault;
25
+ private createAndSetDefaultEnvironment;
26
+ private setDefaultEnvironment;
27
+ }
28
+ //# sourceMappingURL=default-environment-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-environment-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/default-environment-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,eAAe,EAEf,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EAEZ,EAAE,EAGH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAI1E,qBAAa,6BAA8B,SAAQ,KAAK;;CAIvD;AAED,qBAAa,4BAA4B;IAErC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBARzB,EAAE,EAAE,EAAE,EACG,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,iBAAiB,EAC/B,YAAY,EAAE,YAAY,EAC1B,wBAAwB,EAAE,wBAAwB,EAClD,sBAAsB,EAAE,sBAAsB,EAC9C,gBAAgB,EAAE,gBAAgB;IAGxC,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAyB9C,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAgBnD,4CAA4C;YAO5C,8BAA8B;YAgB9B,iBAAiB;YAKjB,+BAA+B;YAoB/B,8BAA8B;YAY9B,qBAAqB;CAKpC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultEnvironmentController = exports.DefaultEnvironmentNotSetError = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ const environment_1 = require("../environment");
6
+ const manifest_1 = require("@forge/manifest");
7
+ const utils_1 = require("../utils");
8
+ class DefaultEnvironmentNotSetError extends Error {
9
+ constructor() {
10
+ super(cli_shared_1.Text.defaultEnv.info);
11
+ }
12
+ }
13
+ exports.DefaultEnvironmentNotSetError = DefaultEnvironmentNotSetError;
14
+ class DefaultEnvironmentController {
15
+ constructor(ui, credentialStore, featureFlagService, cachedConfigService, getAppConfig, loginCommand, createEnvironmentCommand, listEnvironmentCommand, getAppOwnerQuery) {
16
+ this.ui = ui;
17
+ this.credentialStore = credentialStore;
18
+ this.featureFlagService = featureFlagService;
19
+ this.cachedConfigService = cachedConfigService;
20
+ this.getAppConfig = getAppConfig;
21
+ this.loginCommand = loginCommand;
22
+ this.createEnvironmentCommand = createEnvironmentCommand;
23
+ this.listEnvironmentCommand = listEnvironmentCommand;
24
+ this.getAppOwnerQuery = getAppOwnerQuery;
25
+ }
26
+ async run(nonInteractive) {
27
+ const defaultEnvironment = await this.getDefaultEnvironment();
28
+ if (defaultEnvironment) {
29
+ return defaultEnvironment;
30
+ }
31
+ const credentials = await this.credentialStore.getCredentials();
32
+ const [currentUser, owner] = await Promise.all([
33
+ this.loginCommand.getUser(credentials),
34
+ this.getAppOwnerQuery.execute()
35
+ ]);
36
+ if (owner.accountId === currentUser.accountId) {
37
+ return this.setDefaultEnvironment(cli_shared_1.DEFAULT_ENVIRONMENT_KEY);
38
+ }
39
+ if (nonInteractive) {
40
+ throw new DefaultEnvironmentNotSetError();
41
+ }
42
+ return this.promptAndSetDefaultEnvironmentForContributor(currentUser.name);
43
+ }
44
+ async getDefaultEnvironment() {
45
+ try {
46
+ const concurrentDevEnabled = await this.featureFlagService.isConcurrentDevEnabled();
47
+ if (!concurrentDevEnabled) {
48
+ return cli_shared_1.DEFAULT_ENVIRONMENT_KEY;
49
+ }
50
+ const { id: appId } = await this.getAppConfig();
51
+ return this.cachedConfigService.getDefaultEnvironment(appId);
52
+ }
53
+ catch (e) {
54
+ if (e instanceof cli_shared_1.ValidationError && e.message === cli_shared_1.Text.artifact.error.invalidYaml(manifest_1.MANIFEST_FILE)) {
55
+ return undefined;
56
+ }
57
+ throw e;
58
+ }
59
+ }
60
+ async promptAndSetDefaultEnvironmentForContributor(contributorName) {
61
+ this.ui.info(cli_shared_1.Text.defaultEnv.info);
62
+ this.ui.emptyLine();
63
+ return this.promptAndSetDefaultEnvironment(contributorName);
64
+ }
65
+ async promptAndSetDefaultEnvironment(contributorName) {
66
+ const suggestedName = (0, utils_1.getAcceptableSlug)(contributorName);
67
+ let newEnvironmentKey = await this.ui.promptForText(cli_shared_1.Text.defaultEnv.prompt, suggestedName);
68
+ this.ui.emptyLine();
69
+ (0, environment_1.validateDevEnvironment)(newEnvironmentKey);
70
+ newEnvironmentKey = (0, environment_1.checkEnvironmentOption)(newEnvironmentKey);
71
+ if (await this.environmentExists(newEnvironmentKey)) {
72
+ return this.setExistingEnvironmentAsDefault(contributorName, newEnvironmentKey);
73
+ }
74
+ return this.createAndSetDefaultEnvironment(newEnvironmentKey);
75
+ }
76
+ async environmentExists(environmentKey) {
77
+ const environments = await this.listEnvironmentCommand.execute();
78
+ return environments.some((environment) => environmentKey === environment.key);
79
+ }
80
+ async setExistingEnvironmentAsDefault(contributorName, environmentKey) {
81
+ this.ui.warn(cli_shared_1.Text.defaultEnv.warn);
82
+ this.ui.emptyLine();
83
+ const confirm = await this.ui.confirm(cli_shared_1.Text.defaultEnv.confirm);
84
+ this.ui.emptyLine();
85
+ if (confirm) {
86
+ await this.setDefaultEnvironment(environmentKey);
87
+ this.ui.info(cli_shared_1.Text.defaultEnv.setSuccess(environmentKey, cli_shared_1.AppEnvironmentType.Development, cli_shared_1.environmentToOption));
88
+ this.ui.emptyLine();
89
+ return environmentKey;
90
+ }
91
+ return this.promptAndSetDefaultEnvironment(contributorName);
92
+ }
93
+ async createAndSetDefaultEnvironment(environmentKey) {
94
+ await this.createEnvironmentCommand.execute({ environmentKey });
95
+ await this.setDefaultEnvironment(environmentKey);
96
+ this.ui.info(cli_shared_1.Text.defaultEnv.createAndSetSuccess(environmentKey, cli_shared_1.AppEnvironmentType.Development, cli_shared_1.environmentToOption));
97
+ this.ui.emptyLine();
98
+ return environmentKey;
99
+ }
100
+ async setDefaultEnvironment(environmentKey) {
101
+ const { id: appId } = await this.getAppConfig();
102
+ this.cachedConfigService.setDefaultEnvironment(appId, environmentKey);
103
+ return environmentKey;
104
+ }
105
+ }
106
+ exports.DefaultEnvironmentController = DefaultEnvironmentController;
@@ -5,9 +5,11 @@ import { InstallationService } from '../../service/installation-service';
5
5
  import { MigrationKeysService } from '../../service/migration-keys-service';
6
6
  import { PackageUploadDeployCommand } from '../../deploy';
7
7
  import { DeploymentResult } from '../register-deployment-commands';
8
+ import { CreateEnvironmentCommand } from '../../environment/create-environment';
8
9
  interface DeployOptions {
9
10
  environment: string;
10
11
  verify: boolean;
12
+ nonInteractive?: boolean;
11
13
  }
12
14
  export declare class DeployLintFailureError extends HiddenError {
13
15
  private readonly scopes;
@@ -30,14 +32,17 @@ export declare class DeployController {
30
32
  private readonly appEnvironmentClient;
31
33
  private readonly deployView;
32
34
  private readonly packageUploadDeployCommand;
33
- constructor(appConfigProvider: AppConfigProvider, configFile: ConfigFile, lintService: LintService, installationsService: InstallationService, migrationKeysService: MigrationKeysService, appEnvironmentClient: AppEnvironmentClient, deployView: DeployView, packageUploadDeployCommand: PackageUploadDeployCommand);
35
+ private readonly createEnvironmentCommand;
36
+ constructor(appConfigProvider: AppConfigProvider, configFile: ConfigFile, lintService: LintService, installationsService: InstallationService, migrationKeysService: MigrationKeysService, appEnvironmentClient: AppEnvironmentClient, deployView: DeployView, packageUploadDeployCommand: PackageUploadDeployCommand, createEnvironmentCommand: CreateEnvironmentCommand);
34
37
  private isMpacProductionApp;
35
38
  private connectKeyDeleted;
36
39
  private connectKeyChanged;
37
40
  private validateConnectKeyChange;
38
41
  private verifyPreDeployment;
39
42
  private verifyPostDeployment;
40
- run({ environment, verify }: DeployOptions): Promise<DeploymentResult | void>;
43
+ private confirmAndCreateEnvironment;
44
+ private getAppEnvironmentDetails;
45
+ run({ environment, verify, nonInteractive }: DeployOptions): Promise<DeploymentResult | void>;
41
46
  }
42
47
  export {};
43
48
  //# sourceMappingURL=deploy-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EAEV,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMpC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMvC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAP1B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YAiBnB,oBAAoB;IAYrB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAuD3F"}
1
+ {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAEpB,UAAU,EAEV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGhF,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMpC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMvC,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBARxB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,0BAA0B,EACtD,wBAAwB,EAAE,wBAAwB;IAGrE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YAiBnB,oBAAoB;YAYpB,2BAA2B;YAe3B,wBAAwB;IAkBzB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAwD3G"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeployController = exports.InvalidConnectKeyError = exports.DeployLintFailureError = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
+ const errors_1 = require("../errors");
5
6
  class DeployLintFailureError extends cli_shared_1.HiddenError {
6
7
  constructor(scopes) {
7
8
  super();
@@ -29,7 +30,7 @@ class InvalidConnectKeyError extends cli_shared_1.HiddenError {
29
30
  }
30
31
  exports.InvalidConnectKeyError = InvalidConnectKeyError;
31
32
  class DeployController {
32
- constructor(appConfigProvider, configFile, lintService, installationsService, migrationKeysService, appEnvironmentClient, deployView, packageUploadDeployCommand) {
33
+ constructor(appConfigProvider, configFile, lintService, installationsService, migrationKeysService, appEnvironmentClient, deployView, packageUploadDeployCommand, createEnvironmentCommand) {
33
34
  this.appConfigProvider = appConfigProvider;
34
35
  this.configFile = configFile;
35
36
  this.lintService = lintService;
@@ -38,6 +39,7 @@ class DeployController {
38
39
  this.appEnvironmentClient = appEnvironmentClient;
39
40
  this.deployView = deployView;
40
41
  this.packageUploadDeployCommand = packageUploadDeployCommand;
42
+ this.createEnvironmentCommand = createEnvironmentCommand;
41
43
  }
42
44
  isMpacProductionApp(mpacAppKey, environment) {
43
45
  return !!(mpacAppKey && environment === 'production');
@@ -96,7 +98,32 @@ class DeployController {
96
98
  this.deployView.displayIndexingCommand((0, cli_shared_1.environmentToOption)(environment));
97
99
  }
98
100
  }
99
- async run({ environment, verify }) {
101
+ async confirmAndCreateEnvironment(environment, nonInteractive) {
102
+ if (!nonInteractive) {
103
+ this.deployView.displayEnvironmentCreationWarning(environment);
104
+ const confirm = await this.deployView.promptToCreateEnvironment();
105
+ if (!confirm) {
106
+ throw new errors_1.UserAbortError();
107
+ }
108
+ }
109
+ await this.createEnvironmentCommand.execute({ environmentKey: environment });
110
+ this.deployView.displayEnvironmentCreationSuccessMessage(environment);
111
+ }
112
+ async getAppEnvironmentDetails(id, environment, nonInteractive) {
113
+ try {
114
+ return await this.appEnvironmentClient.getAppEnvironmentDetails(id, environment);
115
+ }
116
+ catch (e) {
117
+ if (!(e instanceof cli_shared_1.MissingAppEnvironmentError)) {
118
+ throw e;
119
+ }
120
+ await this.confirmAndCreateEnvironment(environment, nonInteractive);
121
+ return this.appEnvironmentClient.getAppEnvironmentDetails(id, environment);
122
+ }
123
+ }
124
+ async run({ environment, verify, nonInteractive }) {
125
+ const { id } = await this.appConfigProvider();
126
+ const appDetails = await this.getAppEnvironmentDetails(id, environment, nonInteractive);
100
127
  this.deployView.displayStart(environment);
101
128
  let hasConnectKeyChanged = false;
102
129
  let hasConnectKeyDeleted = false;
@@ -110,10 +137,8 @@ class DeployController {
110
137
  hasConnectKeyChanged = connectKeyChanged;
111
138
  hasConnectKeyDeleted = connectKeyDeleted;
112
139
  }
113
- const { id } = await this.appConfigProvider();
114
140
  const handlers = await this.configFile.getAppHandlers();
115
141
  const resources = await this.configFile.getResources();
116
- const appDetails = await this.appEnvironmentClient.getAppEnvironmentDetails(id, environment);
117
142
  let hasProdInstallations = false;
118
143
  try {
119
144
  const prodInstallations = await this.installationsService.listAppInstallations({
@@ -1,6 +1,7 @@
1
1
  import { CachedConfigService } from '../../service/cached-config-service';
2
2
  import { SettingsView } from '../view/settings-view';
3
3
  import { AppConfigProvider, FeatureFlagService } from '@forge/cli-shared';
4
+ export declare const DEFAULT_ENVIRONMENT_SETTING = "default-environment";
4
5
  export declare class SettingsController {
5
6
  private readonly settingsView;
6
7
  private readonly cachedConfigService;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/settings-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAiB3B,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAHlB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,iBAAiB,EAC/B,kBAAkB,EAAE,kBAAkB;IAGzD,OAAO,CAAC,YAAY,CA6BlB;YAEY,QAAQ;YAKR,mBAAmB;IAKjC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;YAIV,UAAU;IAWX,iBAAiB;IAWjB,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;IAY3B,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAY1D"}
1
+ {"version":3,"file":"settings-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/settings-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAK3B,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AAajE,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAHlB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,iBAAiB,EAC/B,kBAAkB,EAAE,kBAAkB;IAGzD,OAAO,CAAC,YAAY,CA6BlB;YAEY,QAAQ;YAKR,mBAAmB;IAKjC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;YAIV,UAAU;IAWX,iBAAiB;IAWjB,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;IAY3B,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAY1D"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingsController = void 0;
3
+ exports.SettingsController = exports.DEFAULT_ENVIRONMENT_SETTING = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
5
  const manifest_1 = require("@forge/manifest");
6
6
  const environment_1 = require("../environment");
7
- const ALLOWED_SETTINGS = ['usage-analytics', 'default-environment'];
7
+ exports.DEFAULT_ENVIRONMENT_SETTING = 'default-environment';
8
+ const ALLOWED_SETTINGS = ['usage-analytics', exports.DEFAULT_ENVIRONMENT_SETTING];
8
9
  class SettingsController {
9
10
  constructor(settingsView, cachedConfigService, getAppConfig, featureFlagService) {
10
11
  this.settingsView = settingsView;
@@ -1,4 +1,4 @@
1
- import { CLIDetails, CommandLineUI, ConfigFile, CreateAppCommand, FeatureFlagService, LoginCommand, LogoutCommand, RegisterAppCommand, ViewAppLogsCommand } from '@forge/cli-shared';
1
+ import { CLIDetails, CommandLineUI, ConfigFile, CreateAppCommand, FeatureFlagService, GetAppOwnerQuery, LoginCommand, LogoutCommand, RegisterAppCommand, ViewAppLogsCommand } from '@forge/cli-shared';
2
2
  import { AnalyticsClientReporter } from '../analytics-client/analytics-client';
3
3
  import { PackageUploadDeployCommand } from '../deploy';
4
4
  import { DeleteEnvironmentVariableCommand } from '../environment-variables/delete-environment-variable';
@@ -29,6 +29,7 @@ import { TunnelController } from './controller/tunnel-controller';
29
29
  import { StubController } from './controller/stubController';
30
30
  import { PrerequisitesController } from './controller/prerequisites-controller';
31
31
  import { ListEntitiesIndexesCommand } from '../entities/list-indexes';
32
+ import { DefaultEnvironmentController } from './controller/default-environment-controller';
32
33
  export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Promise<{
33
34
  ui: CommandLineUI;
34
35
  cmd: Command<[], import("./command").DefaultOpts>;
@@ -44,6 +45,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
44
45
  registerAppCommand: RegisterAppCommand;
45
46
  installAppSiteCommand: InstallAppSiteCommand;
46
47
  uninstallAppCommand: UninstallAppCommand;
48
+ getAppOwnerQuery: GetAppOwnerQuery;
47
49
  packageUploadDeployCommand: PackageUploadDeployCommand;
48
50
  setEnvironmentVariableCommand: SetEnvironmentVariableCommand;
49
51
  deleteEnvironmentVariableCommand: DeleteEnvironmentVariableCommand;
@@ -76,6 +78,7 @@ export declare const getDependencies: (cliDetails: CLIDetails | undefined) => Pr
76
78
  settingsController: SettingsController;
77
79
  stubController: StubController;
78
80
  prerequisitesController: PrerequisitesController;
81
+ defaultEnvironmentController: DefaultEnvironmentController;
79
82
  };
80
83
  }>;
81
84
  declare type PromiseType<T> = T extends Promise<infer R> ? R : any;
@@ -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,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAEnB,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;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;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;AAIhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4TvE,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":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAEnB,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;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;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;AAIhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqVvE,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"}
@@ -68,6 +68,7 @@ const runtime_bundler_1 = require("../deploy/packager/runtime-bundler");
68
68
  const nativeui_bundler_1 = require("../deploy/packager/nativeui-bundler");
69
69
  const sentry_1 = require("./sentry");
70
70
  const list_indexes_1 = require("../entities/list-indexes");
71
+ const default_environment_controller_1 = require("./controller/default-environment-controller");
71
72
  const getDependencies = async (cliDetails) => {
72
73
  let cmd;
73
74
  const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
@@ -92,7 +93,6 @@ const getDependencies = async (cliDetails) => {
92
93
  const preCommandController = new pre_command_controller_1.PreCommandController(liteLintService, liteLintView, configFile, cachedConfigService, analyticsSettingsView, settingsView);
93
94
  const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
94
95
  const authenticator = new cli_shared_1.PersonalTokenAuthenticator(credentialStore);
95
- cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore);
96
96
  await (0, sentry_1.initialiseSentry)(cachedConfigService);
97
97
  const createGraphQLClient = (auth) => {
98
98
  const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, graphqlGateway, cliDetails);
@@ -113,6 +113,7 @@ const getDependencies = async (cliDetails) => {
113
113
  const templater = new cli_shared_1.ComposableTemplater(downloader, extractor, lister, ui);
114
114
  const npmInstaller = new cli_shared_1.NpmInstaller(ui);
115
115
  const createAppCommand = new cli_shared_1.CreateAppCommand(templater, registerAppCommand, npmInstaller);
116
+ const getAppOwnerQuery = new cli_shared_1.GetAppOwnerQuery(graphQLClient, assertiveAppConfigReader);
116
117
  const environmentVariablesClient = new graphql_client_1.GraphqlClient(graphQLClient);
117
118
  const setEnvironmentVariableCommand = new set_environment_variable_1.SetEnvironmentVariableCommand(environmentVariablesClient, assertiveAppConfigReader);
118
119
  const deleteEnvironmentVariableCommand = new delete_environment_variable_1.DeleteEnvironmentVariableCommand(environmentVariablesClient, assertiveAppConfigReader);
@@ -167,7 +168,7 @@ const getDependencies = async (cliDetails) => {
167
168
  const iframeResizerScriptService = new cli_shared_1.IframeResizerScriptService();
168
169
  const resourcePackagingService = new resource_packaging_service_1.ResourcePackagingService(archiverFactory, fileReader, process.cwd(), bridgeScriptService, iframeResizerScriptService);
169
170
  const packageUploadDeployCommand = new deploy_1.PackageUploadDeployCommand(appPackager, archiveUploader, deployer, resourcePackagingService);
170
- const deployController = new deploy_controller_1.DeployController(assertiveAppConfigReader, configFile, lintService, installationsService, migrationKeysService, appEnvironmentClient, deployView, packageUploadDeployCommand);
171
+ const deployController = new deploy_controller_1.DeployController(assertiveAppConfigReader, configFile, lintService, installationsService, migrationKeysService, appEnvironmentClient, deployView, packageUploadDeployCommand, createEnvironmentCommand);
171
172
  const createSandbox = async (cfg) => new runtime_1.NodeSandbox(cfg);
172
173
  const functionHost = new tunnel_1.LocalFunctionHost(configFile, ui, null, createSandbox, featureFlagService);
173
174
  const localInvocationService = new tunnel_1.LocalInvocationService(configFile, ui, runtime_1.notImplementedInspector);
@@ -183,6 +184,8 @@ const getDependencies = async (cliDetails) => {
183
184
  const tunnelController = new tunnel_controller_1.TunnelController(tunnelAnalyticsService, nodeTunnelService, localTunnelService, dockerTunnelService, tunnelView, featureFlagService);
184
185
  const stubController = new stubController_1.StubController();
185
186
  const prerequisitesController = new prerequisites_controller_1.PrerequisitesController(ui, featureFlagService, cliDetails);
187
+ const defaultEnvironmentController = new default_environment_controller_1.DefaultEnvironmentController(ui, credentialStore, featureFlagService, cachedConfigService, assertiveAppConfigReader, loginCommand, createEnvironmentCommand, listEnvironmentCommand, getAppOwnerQuery);
188
+ cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore, defaultEnvironmentController);
186
189
  return {
187
190
  ui,
188
191
  cmd,
@@ -198,6 +201,7 @@ const getDependencies = async (cliDetails) => {
198
201
  registerAppCommand,
199
202
  installAppSiteCommand,
200
203
  uninstallAppCommand,
204
+ getAppOwnerQuery,
201
205
  packageUploadDeployCommand,
202
206
  setEnvironmentVariableCommand,
203
207
  deleteEnvironmentVariableCommand,
@@ -229,7 +233,8 @@ const getDependencies = async (cliDetails) => {
229
233
  tunnelController,
230
234
  settingsController,
231
235
  stubController,
232
- prerequisitesController
236
+ prerequisitesController,
237
+ defaultEnvironmentController
233
238
  }
234
239
  };
235
240
  };
@@ -1,6 +1,11 @@
1
+ import { HiddenError } from '@forge/cli-shared';
1
2
  export declare class DeferredErrors {
2
3
  private errors;
3
4
  constructor(errors: Error[]);
4
5
  getErrors(): Error[];
5
6
  }
7
+ export declare class UserAbortError extends HiddenError {
8
+ constructor();
9
+ isUserError(): boolean;
10
+ }
6
11
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/command-line/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,EAAE,KAAK,EAAE;IAIpB,SAAS;CAGjB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/command-line/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,EAAE,KAAK,EAAE;IAIpB,SAAS;CAGjB;AAED,qBAAa,cAAe,SAAQ,WAAW;;IAKtC,WAAW,IAAI,OAAO;CAG9B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeferredErrors = void 0;
3
+ exports.UserAbortError = exports.DeferredErrors = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
4
5
  class DeferredErrors {
5
6
  constructor(errors) {
6
7
  this.errors = errors;
@@ -10,3 +11,12 @@ class DeferredErrors {
10
11
  }
11
12
  }
12
13
  exports.DeferredErrors = DeferredErrors;
14
+ class UserAbortError extends cli_shared_1.HiddenError {
15
+ constructor() {
16
+ super();
17
+ }
18
+ isUserError() {
19
+ return true;
20
+ }
21
+ }
22
+ exports.UserAbortError = UserAbortError;
@@ -5,7 +5,7 @@ const cli_shared_1 = require("@forge/cli-shared");
5
5
  const registerCommands = ({ cmd, controllers: { lintController } }) => {
6
6
  cmd
7
7
  .command('lint')
8
- .requireManifestFile()
8
+ .requireAppId()
9
9
  .description(cli_shared_1.Text.lint.cmd)
10
10
  .option('--fix', 'Attempt to automatically fix any issues encountered', false)
11
11
  .environmentOption()
@@ -0,0 +1,4 @@
1
+ export declare const slugify: (value: string) => string;
2
+ export declare const filterSlug: (slug: string) => string | undefined;
3
+ export declare const getAcceptableSlug: (value: string) => string | undefined;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/command-line/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAW,MAAM,WAQpC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,MAAM,uBAatC,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,MAAM,uBAI9C,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAcceptableSlug = exports.filterSlug = exports.slugify = void 0;
4
+ const slugify = (value) => {
5
+ return value
6
+ .normalize('NFD')
7
+ .replace(/[\u0300-\u036f]/g, '')
8
+ .toLowerCase()
9
+ .trim()
10
+ .replace(/[^a-z0-9 ]/g, '')
11
+ .replace(/\s+/g, '-');
12
+ };
13
+ exports.slugify = slugify;
14
+ const filterSlug = (slug) => {
15
+ if (slug === '') {
16
+ return undefined;
17
+ }
18
+ const characters = Array.from(slug);
19
+ const dashesOnly = characters.every((char) => char === '-');
20
+ if (dashesOnly) {
21
+ return undefined;
22
+ }
23
+ return slug;
24
+ };
25
+ exports.filterSlug = filterSlug;
26
+ const getAcceptableSlug = (value) => {
27
+ const slug = (0, exports.slugify)(value);
28
+ return (0, exports.filterSlug)(slug);
29
+ };
30
+ exports.getAcceptableSlug = getAcceptableSlug;
@@ -16,8 +16,11 @@ export declare class DeployView {
16
16
  displayConnectKeyChangeWarning(environment: string, migrationKey: string, connectKey: string): void;
17
17
  displayConnectKeyDeleteWarning(environment: string): void;
18
18
  displayMPACAppConnectKeyChangeError(mpacAppKey: string, connectKey: string): void;
19
+ displayEnvironmentCreationWarning(environment: string): void;
20
+ displayEnvironmentCreationSuccessMessage(environment: string): void;
19
21
  promptToContinueDeletingConnectKey(): Promise<boolean>;
20
22
  promptToContinueChangingConnectKey(): Promise<boolean>;
23
+ promptToCreateEnvironment(): Promise<boolean>;
21
24
  reportDeploymentProgress({ appAri, name, environmentKey, environmentType }: AppEnvironmentDetails, showDistributionPageLink: boolean, deployCallback: () => Promise<DeploymentResult>): Promise<DeploymentResult>;
22
25
  }
23
26
  //# sourceMappingURL=deploy-view.d.ts.map
@@ -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,EAA2D,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvH,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,GAAG,IAAI;IAIvC,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;IAI3E,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,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,EAA2D,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvH,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,GAAG,IAAI;IAIvC,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,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM5D,wCAAwC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK7D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7C,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"}