@hubspot/cli 7.2.2-experimental.0 → 7.2.4-experimental.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/bin/cli.js +3 -52
  2. package/commands/account/info.d.ts +1 -1
  3. package/commands/account/info.js +8 -5
  4. package/commands/account/list.js +0 -4
  5. package/commands/account.js +0 -4
  6. package/commands/auth.d.ts +9 -0
  7. package/commands/auth.js +89 -87
  8. package/commands/config/set.d.ts +0 -12
  9. package/commands/config/set.js +29 -30
  10. package/commands/config.d.ts +1 -4
  11. package/commands/config.js +10 -45
  12. package/commands/create/api-sample.js +14 -4
  13. package/commands/customObject/create.d.ts +11 -0
  14. package/commands/customObject/create.js +37 -28
  15. package/commands/customObject/schema/create.d.ts +10 -0
  16. package/commands/customObject/schema/create.js +40 -42
  17. package/commands/customObject/schema/delete.d.ts +11 -0
  18. package/commands/customObject/schema/delete.js +34 -27
  19. package/commands/customObject/schema/fetch-all.d.ts +10 -0
  20. package/commands/customObject/schema/fetch-all.js +31 -24
  21. package/commands/customObject/schema/fetch.d.ts +11 -0
  22. package/commands/customObject/schema/fetch.js +34 -42
  23. package/commands/customObject/schema/list.d.ts +7 -0
  24. package/commands/customObject/schema/list.js +23 -14
  25. package/commands/customObject/schema/update.d.ts +11 -0
  26. package/commands/customObject/schema/update.js +44 -46
  27. package/commands/customObject/schema.d.ts +5 -1
  28. package/commands/customObject/schema.js +49 -11
  29. package/commands/customObject.d.ts +4 -1
  30. package/commands/customObject.js +54 -21
  31. package/commands/filemanager/fetch.d.ts +12 -0
  32. package/commands/filemanager/fetch.js +33 -30
  33. package/commands/filemanager/upload.d.ts +11 -0
  34. package/commands/filemanager/upload.js +53 -47
  35. package/commands/filemanager.d.ts +4 -1
  36. package/commands/filemanager.js +41 -7
  37. package/commands/init.d.ts +11 -0
  38. package/commands/init.js +123 -98
  39. package/commands/list.d.ts +9 -0
  40. package/commands/list.js +63 -57
  41. package/commands/mv.d.ts +10 -0
  42. package/commands/mv.js +32 -32
  43. package/commands/open.d.ts +10 -0
  44. package/commands/open.js +37 -34
  45. package/commands/project/add.js +62 -16
  46. package/commands/project/cloneApp.js +3 -3
  47. package/commands/project/create.js +72 -15
  48. package/commands/project/dev/deprecatedFlow.d.ts +5 -0
  49. package/commands/project/dev/deprecatedFlow.js +137 -0
  50. package/commands/project/dev/index.d.ts +6 -0
  51. package/commands/project/dev/index.js +52 -0
  52. package/commands/project/dev/unifiedFlow.d.ts +5 -0
  53. package/commands/project/dev/unifiedFlow.js +112 -0
  54. package/commands/project/migrateApp.js +3 -3
  55. package/commands/project/upload.js +7 -2
  56. package/commands/remove.d.ts +9 -0
  57. package/commands/remove.js +25 -23
  58. package/commands/sandbox/create.d.ts +12 -0
  59. package/commands/sandbox/create.js +90 -72
  60. package/commands/sandbox/delete.d.ts +11 -0
  61. package/commands/sandbox/delete.js +112 -95
  62. package/commands/sandbox.d.ts +4 -1
  63. package/commands/sandbox.js +44 -10
  64. package/commands/theme/generate-selectors.d.ts +9 -0
  65. package/commands/theme/generate-selectors.js +61 -43
  66. package/commands/theme/marketplace-validate.d.ts +10 -0
  67. package/commands/theme/marketplace-validate.js +32 -26
  68. package/commands/theme/preview.d.ts +16 -0
  69. package/commands/theme/preview.js +104 -97
  70. package/commands/theme.d.ts +4 -1
  71. package/commands/theme.js +44 -10
  72. package/lang/en.lyaml +55 -77
  73. package/lib/DevServerManagerV2.d.ts +34 -0
  74. package/lib/DevServerManagerV2.js +85 -0
  75. package/lib/LocalDevManager.d.ts +2 -2
  76. package/lib/LocalDevManager.js +1 -1
  77. package/lib/LocalDevManagerV2.d.ts +64 -0
  78. package/lib/LocalDevManagerV2.js +382 -0
  79. package/lib/buildAccount.d.ts +2 -3
  80. package/lib/commonOpts.d.ts +1 -0
  81. package/lib/commonOpts.js +30 -0
  82. package/lib/constants.d.ts +12 -3
  83. package/lib/constants.js +13 -4
  84. package/lib/customObject.d.ts +3 -0
  85. package/lib/customObject.js +15 -0
  86. package/lib/doctor/Diagnosis.d.ts +0 -1
  87. package/lib/doctor/Diagnosis.js +0 -7
  88. package/lib/doctor/DiagnosticInfoBuilder.d.ts +6 -1
  89. package/lib/doctor/DiagnosticInfoBuilder.js +5 -1
  90. package/lib/doctor/Doctor.d.ts +1 -1
  91. package/lib/doctor/Doctor.js +6 -14
  92. package/lib/localDev.d.ts +3 -2
  93. package/lib/localDev.js +2 -2
  94. package/lib/marketplaceValidate.d.ts +2 -2
  95. package/lib/projects/buildAndDeploy.js +4 -1
  96. package/lib/projects/create.d.ts +5 -0
  97. package/lib/projects/create.js +51 -0
  98. package/lib/projects/index.d.ts +1 -5
  99. package/lib/projects/index.js +1 -62
  100. package/lib/projects/structure.d.ts +4 -0
  101. package/lib/projects/structure.js +9 -0
  102. package/lib/projects/upload.d.ts +1 -1
  103. package/lib/projects/upload.js +2 -2
  104. package/lib/prompts/accountNamePrompt.d.ts +1 -2
  105. package/lib/prompts/createProjectPrompt.d.ts +6 -8
  106. package/lib/prompts/createProjectPrompt.js +36 -62
  107. package/lib/prompts/personalAccessKeyPrompt.d.ts +4 -4
  108. package/lib/prompts/projectAddPrompt.d.ts +3 -3
  109. package/lib/prompts/projectAddPrompt.js +16 -6
  110. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +3 -2
  111. package/lib/prompts/sandboxesPrompt.d.ts +3 -2
  112. package/lib/prompts/sandboxesPrompt.js +1 -1
  113. package/lib/sandboxSync.js +6 -2
  114. package/lib/sandboxes.d.ts +2 -5
  115. package/lib/testUtils.d.ts +12 -0
  116. package/lib/testUtils.js +10 -0
  117. package/lib/ui/index.d.ts +3 -3
  118. package/lib/ui/index.js +9 -8
  119. package/lib/ui/supportHyperlinks.js +2 -2
  120. package/lib/ui/supportsColor.js +2 -2
  121. package/lib/upload.d.ts +1 -1
  122. package/lib/upload.js +20 -20
  123. package/lib/validation.d.ts +1 -1
  124. package/lib/yargsUtils.d.ts +9 -0
  125. package/lib/yargsUtils.js +40 -0
  126. package/package.json +5 -4
  127. package/types/ProjectComponents.d.ts +38 -0
  128. package/types/ProjectComponents.js +3 -0
  129. package/types/Projects.d.ts +1 -6
  130. package/types/Prompts.d.ts +7 -0
  131. package/types/Sandboxes.d.ts +2 -0
  132. package/types/Yargs.d.ts +8 -0
  133. package/commands/account/auth.d.ts +0 -10
  134. package/commands/account/auth.js +0 -154
  135. package/commands/account/createOverride.d.ts +0 -10
  136. package/commands/account/createOverride.js +0 -62
  137. package/commands/config/migrate.d.ts +0 -10
  138. package/commands/config/migrate.js +0 -86
  139. package/commands/project/dev.d.ts +0 -1
  140. package/commands/project/dev.js +0 -146
  141. package/lib/configMigrate.d.ts +0 -2
  142. package/lib/configMigrate.js +0 -83
  143. package/lib/hasFlag.d.ts +0 -1
  144. package/lib/hasFlag.js +0 -15
package/bin/cli.js CHANGED
@@ -6,7 +6,6 @@ const chalk = require('chalk');
6
6
  const { logger } = require('@hubspot/local-dev-lib/logger');
7
7
  const { addUserAgentHeader } = require('@hubspot/local-dev-lib/http');
8
8
  const { loadConfig, getAccountId, configFileExists, getConfigPath, validateConfig, } = require('@hubspot/local-dev-lib/config');
9
- const { DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID, DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND, DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME, } = require('@hubspot/local-dev-lib/constants/config');
10
9
  const { logError } = require('../lib/errorHandlers/index');
11
10
  const { setLogLevel, getCommandName } = require('../lib/commonOpts');
12
11
  const { validateAccount } = require('../lib/validation');
@@ -138,17 +137,9 @@ const isTargetedCommand = (options, commandMap) => {
138
137
  };
139
138
  return checkCommand(options, commandMap);
140
139
  };
141
- const skipConfigAccountsSubCommands = {
142
- target: false,
143
- subCommands: {
144
- auth: { target: true },
145
- },
146
- };
147
140
  const SKIP_CONFIG_VALIDATION = {
148
141
  init: { target: true },
149
142
  auth: { target: true },
150
- accounts: skipConfigAccountsSubCommands,
151
- account: skipConfigAccountsSubCommands,
152
143
  };
153
144
  const handleDeprecatedEnvVariables = options => {
154
145
  // HUBSPOT_PORTAL_ID is deprecated, but we'll still support it for now
@@ -173,39 +164,9 @@ const injectAccountIdMiddleware = async (options) => {
173
164
  options.derivedAccountId = parseInt(process.env.HUBSPOT_ACCOUNT_ID, 10);
174
165
  }
175
166
  else {
176
- try {
177
- options.derivedAccountId = getAccountId(account);
178
- }
179
- catch (error) {
180
- logError(error);
181
- if (error.cause === DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID) {
182
- logger.log(i18n(`${i18nKey}.injectAccountIdMiddleware.invalidAccountId`, {
183
- overrideCommand: uiCommandReference('hs account create-override'),
184
- hsAccountFileName: DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME,
185
- }));
186
- }
187
- if (error.cause === DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND) {
188
- logger.log(i18n(`${i18nKey}.injectAccountIdMiddleware.accountNotFound`, {
189
- configPath: getConfigPath(),
190
- authCommand: uiCommandReference('hs account auth'),
191
- hsAccountFileName: DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME,
192
- }));
193
- }
194
- process.exit(EXIT_CODES.ERROR);
195
- }
167
+ options.derivedAccountId = getAccountId(account);
196
168
  }
197
169
  };
198
- const skipLoadConfigAccountSubCommands = {
199
- target: false,
200
- subCommands: { auth: { target: true } },
201
- };
202
- const SKIP_LOAD_CONFIG = {
203
- account: skipLoadConfigAccountSubCommands,
204
- accounts: skipLoadConfigAccountSubCommands,
205
- };
206
- const SKIP_CONFIG_FLAG_VALIDATION = {
207
- config: { target: false, subCommands: { migrate: { target: true } } },
208
- };
209
170
  const loadConfigMiddleware = async (options) => {
210
171
  // Skip this when no command is provided
211
172
  if (!options._.length) {
@@ -217,21 +178,13 @@ const loadConfigMiddleware = async (options) => {
217
178
  process.exit(EXIT_CODES.ERROR);
218
179
  }
219
180
  };
220
- if (configFileExists(true) &&
221
- options.config &&
222
- !isTargetedCommand(options, SKIP_CONFIG_FLAG_VALIDATION)) {
181
+ if (configFileExists(true) && options.config) {
223
182
  logger.error(i18n(`${i18nKey}.loadConfigMiddleware.configFileExists`, {
224
183
  configPath: getConfigPath(),
225
184
  }));
226
185
  process.exit(EXIT_CODES.ERROR);
227
186
  }
228
- // There are two commands where we don't load config:
229
- // 1. `hs init`
230
- // 2. `hs account auth` only if the global config file does not exist
231
- if (!isTargetedCommand(options, {
232
- init: { target: true },
233
- }) &&
234
- !(isTargetedCommand(options, SKIP_LOAD_CONFIG) && !configFileExists(true))) {
187
+ else if (!isTargetedCommand(options, { init: { target: true } })) {
235
188
  const { config: configPath } = options;
236
189
  const config = loadConfig(configPath, options);
237
190
  // We don't run validateConfig() for auth because users should be able to run it when
@@ -252,7 +205,6 @@ const checkAndWarnGitInclusionMiddleware = options => {
252
205
  const accountsSubCommands = {
253
206
  target: false,
254
207
  subCommands: {
255
- auth: { target: true },
256
208
  clean: { target: true },
257
209
  list: { target: true },
258
210
  ls: { target: true },
@@ -268,7 +220,6 @@ const sandboxesSubCommands = {
268
220
  const SKIP_ACCOUNT_VALIDATION = {
269
221
  init: { target: true },
270
222
  auth: { target: true },
271
- config: { target: false, subCommands: { migrate: { target: true } } },
272
223
  account: accountsSubCommands,
273
224
  accounts: accountsSubCommands,
274
225
  sandbox: sandboxesSubCommands,
@@ -4,5 +4,5 @@ export declare const describe: string;
4
4
  export declare const command = "info [account]";
5
5
  type AccountInfoArgs = CommonArgs & ConfigArgs;
6
6
  export declare function handler(args: ArgumentsCamelCase<AccountInfoArgs>): Promise<void>;
7
- export declare function builder(yargs: Argv): Argv<AccountInfoArgs>;
7
+ export declare const builder: (yargs: Argv) => Promise<Argv<AccountInfoArgs>>;
8
8
  export {};
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.command = exports.describe = void 0;
3
+ exports.builder = exports.command = exports.describe = void 0;
4
4
  exports.handler = handler;
5
- exports.builder = builder;
6
5
  const logger_1 = require("@hubspot/local-dev-lib/logger");
7
6
  const config_1 = require("@hubspot/local-dev-lib/config");
8
7
  const personalAccessKey_1 = require("@hubspot/local-dev-lib/personalAccessKey");
9
- const commonOpts_1 = require("../../lib/commonOpts");
8
+ const yargsUtils_1 = require("../../lib/yargsUtils");
10
9
  const lang_1 = require("../../lib/lang");
11
10
  const table_1 = require("../../lib/ui/table");
12
11
  const i18nKey = 'commands.account.subcommands.info';
@@ -30,8 +29,11 @@ async function handler(args) {
30
29
  logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.errors.notUsingPersonalAccessKey`));
31
30
  }
32
31
  }
33
- function builder(yargs) {
34
- (0, commonOpts_1.addConfigOptions)(yargs);
32
+ function accountInfoBuilder(yargs) {
33
+ yargs.positional('account', {
34
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.account.describe`),
35
+ type: 'string',
36
+ });
35
37
  yargs.example([
36
38
  ['$0 accounts info', (0, lang_1.i18n)(`${i18nKey}.examples.default`)],
37
39
  ['$0 accounts info MyAccount', (0, lang_1.i18n)(`${i18nKey}.examples.nameBased`)],
@@ -39,3 +41,4 @@ function builder(yargs) {
39
41
  ]);
40
42
  return yargs;
41
43
  }
44
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(accountInfoBuilder, exports.command, exports.describe, { useConfigOptions: true });
@@ -73,7 +73,6 @@ async function handler(args) {
73
73
  const { derivedAccountId } = args;
74
74
  (0, usageTracking_1.trackCommandUsage)('accounts-list', undefined, derivedAccountId);
75
75
  const configPath = (0, config_1.getConfigPath)();
76
- const overrideFilePath = (0, config_1.getDefaultAccountOverrideFilePath)();
77
76
  const accountsList = (0, config_1.getConfigAccounts)() || [];
78
77
  const mappedAccountData = sortAndMapAccounts(accountsList);
79
78
  const accountData = getAccountData(mappedAccountData);
@@ -83,9 +82,6 @@ async function handler(args) {
83
82
  (0, lang_1.i18n)(`${i18nKey}.labels.authType`),
84
83
  ]));
85
84
  logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.configPath`, { configPath: configPath }));
86
- if (overrideFilePath) {
87
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.overrideFilePath`, { overrideFilePath }));
88
- }
89
85
  logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.defaultAccount`, {
90
86
  account: (0, config_1.getConfigDefaultAccount)(),
91
87
  }));
@@ -37,28 +37,24 @@ exports.describe = exports.command = void 0;
37
37
  exports.builder = builder;
38
38
  const commonOpts_1 = require("../lib/commonOpts");
39
39
  const lang_1 = require("../lib/lang");
40
- const auth = __importStar(require("./account/auth"));
41
40
  const list = __importStar(require("./account/list"));
42
41
  const rename = __importStar(require("./account/rename"));
43
42
  const use = __importStar(require("./account/use"));
44
43
  const info = __importStar(require("./account/info"));
45
44
  const remove = __importStar(require("./account/remove"));
46
45
  const clean = __importStar(require("./account/clean"));
47
- const createOverride = __importStar(require("./account/createOverride"));
48
46
  const i18nKey = 'commands.account';
49
47
  exports.command = ['account', 'accounts'];
50
48
  exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
51
49
  function builder(yargs) {
52
50
  (0, commonOpts_1.addGlobalOptions)(yargs);
53
51
  yargs
54
- .command(auth)
55
52
  .command(list)
56
53
  .command(rename)
57
54
  .command(use)
58
55
  .command(info)
59
56
  .command(remove)
60
57
  .command(clean)
61
- .command(createOverride)
62
58
  .demandCommand(1, '');
63
59
  return yargs;
64
60
  }
@@ -1 +1,10 @@
1
+ import { Argv, ArgumentsCamelCase } from 'yargs';
2
+ import { AccountArgs, CommonArgs, ConfigArgs, TestingArgs } from '../types/Yargs';
3
+ export declare const command = "auth";
4
+ export declare const describe: string;
5
+ type AuthArgs = CommonArgs & ConfigArgs & TestingArgs & AccountArgs & {
6
+ authType?: string;
7
+ };
8
+ export declare function handler(args: ArgumentsCamelCase<AuthArgs>): Promise<void>;
9
+ export declare const builder: (yargs: Argv) => Promise<Argv<AuthArgs>>;
1
10
  export {};
package/commands/auth.js CHANGED
@@ -1,25 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { checkAndWarnGitInclusion } = require('../lib/ui/git');
5
- const { logger } = require('@hubspot/local-dev-lib/logger');
6
- const { OAUTH_AUTH_METHOD, PERSONAL_ACCESS_KEY_AUTH_METHOD, } = require('@hubspot/local-dev-lib/constants/auth');
7
- const { ENVIRONMENTS, } = require('@hubspot/local-dev-lib/constants/environments');
8
- const { DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME, } = require('@hubspot/local-dev-lib/constants/config');
9
- const { i18n } = require('../lib/lang');
10
- const { getAccessToken, updateConfigWithAccessToken, } = require('@hubspot/local-dev-lib/personalAccessKey');
11
- const { updateAccountConfig, writeConfig, getConfigPath, loadConfig, getConfigDefaultAccount, getAccountId, configFileExists, } = require('@hubspot/local-dev-lib/config');
12
- const { commaSeparatedValues, toKebabCase, } = require('@hubspot/local-dev-lib/text');
13
- const { promptUser } = require('../lib/prompts/promptUtils');
14
- const { personalAccessKeyPrompt, OAUTH_FLOW, } = require('../lib/prompts/personalAccessKeyPrompt');
15
- const { cliAccountNamePrompt } = require('../lib/prompts/accountNamePrompt');
16
- const { setAsDefaultAccountPrompt, } = require('../lib/prompts/setAsDefaultAccountPrompt');
17
- const { addConfigOptions, setLogLevel, addTestingOptions, addGlobalOptions, } = require('../lib/commonOpts');
18
- const { trackAuthAction, trackCommandUsage } = require('../lib/usageTracking');
19
- const { authenticateWithOauth } = require('../lib/oauth');
20
- const { EXIT_CODES } = require('../lib/enums/exitCodes');
21
- const { uiFeatureHighlight, uiCommandReference } = require('../lib/ui');
22
- const { logError } = require('../lib/errorHandlers/index');
3
+ exports.builder = exports.describe = exports.command = void 0;
4
+ exports.handler = handler;
5
+ const git_1 = require("../lib/ui/git");
6
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
7
+ const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
8
+ const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
9
+ const config_1 = require("@hubspot/local-dev-lib/constants/config");
10
+ const lang_1 = require("../lib/lang");
11
+ const personalAccessKey_1 = require("@hubspot/local-dev-lib/personalAccessKey");
12
+ const config_2 = require("@hubspot/local-dev-lib/config");
13
+ const text_1 = require("@hubspot/local-dev-lib/text");
14
+ const promptUtils_1 = require("../lib/prompts/promptUtils");
15
+ const personalAccessKeyPrompt_1 = require("../lib/prompts/personalAccessKeyPrompt");
16
+ const accountNamePrompt_1 = require("../lib/prompts/accountNamePrompt");
17
+ const setAsDefaultAccountPrompt_1 = require("../lib/prompts/setAsDefaultAccountPrompt");
18
+ const commonOpts_1 = require("../lib/commonOpts");
19
+ const yargsUtils_1 = require("../lib/yargsUtils");
20
+ const usageTracking_1 = require("../lib/usageTracking");
21
+ const oauth_1 = require("../lib/oauth");
22
+ const exitCodes_1 = require("../lib/enums/exitCodes");
23
+ const ui_1 = require("../lib/ui");
24
+ const index_1 = require("../lib/errorHandlers/index");
23
25
  const i18nKey = 'commands.auth';
24
26
  const TRACKING_STATUS = {
25
27
  STARTED: 'started',
@@ -27,33 +29,30 @@ const TRACKING_STATUS = {
27
29
  COMPLETE: 'complete',
28
30
  };
29
31
  const ALLOWED_AUTH_METHODS = [
30
- OAUTH_AUTH_METHOD.value,
31
- PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
32
+ auth_1.OAUTH_AUTH_METHOD.value,
33
+ auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
32
34
  ];
33
- const SUPPORTED_AUTHENTICATION_PROTOCOLS_TEXT = commaSeparatedValues(ALLOWED_AUTH_METHODS);
35
+ const SUPPORTED_AUTHENTICATION_PROTOCOLS_TEXT = (0, text_1.commaSeparatedValues)(ALLOWED_AUTH_METHODS);
34
36
  exports.command = 'auth';
35
- exports.describe = i18n(`${i18nKey}.describe`, {
36
- configName: DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME,
37
- });
38
- exports.handler = async (options) => {
39
- const { authType: authTypeFlagValue, config: configFlagValue, qa, providedAccountId, } = options;
37
+ exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
38
+ async function handler(args) {
39
+ const { authType: authTypeFlagValue, config: configFlagValue, qa, providedAccountId, } = args;
40
40
  const authType = (authTypeFlagValue && authTypeFlagValue.toLowerCase()) ||
41
- PERSONAL_ACCESS_KEY_AUTH_METHOD.value;
42
- setLogLevel(options);
43
- const env = qa ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD;
41
+ auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value;
42
+ (0, commonOpts_1.setLogLevel)(args);
43
+ const env = qa ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD;
44
44
  // Needed to load deprecated config
45
- loadConfig(configFlagValue);
46
- const configPath = getConfigPath(configFlagValue);
47
- checkAndWarnGitInclusion(configPath);
48
- if (configFileExists(true)) {
49
- logger.error(i18n(`${i18nKey}.errors.globalConfigFileExists`, {
50
- configPath,
51
- authCommand: uiCommandReference('hs account auth'),
52
- }));
53
- process.exit(EXIT_CODES.ERROR);
45
+ (0, config_2.loadConfig)(configFlagValue);
46
+ const configPath = (0, config_2.getConfigPath)();
47
+ if (configPath) {
48
+ (0, git_1.checkAndWarnGitInclusion)(configPath);
49
+ }
50
+ if (!(0, config_2.getConfigPath)(configFlagValue)) {
51
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noConfigFileFound`));
52
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
54
53
  }
55
- trackCommandUsage('auth');
56
- trackAuthAction('auth', authType, TRACKING_STATUS.STARTED);
54
+ (0, usageTracking_1.trackCommandUsage)('auth');
55
+ (0, usageTracking_1.trackAuthAction)('auth', authType, TRACKING_STATUS.STARTED, providedAccountId);
57
56
  let configData;
58
57
  let updatedConfig;
59
58
  let validName;
@@ -61,104 +60,107 @@ exports.handler = async (options) => {
61
60
  let token;
62
61
  let defaultName;
63
62
  switch (authType) {
64
- case OAUTH_AUTH_METHOD.value:
65
- configData = await promptUser(OAUTH_FLOW);
66
- await authenticateWithOauth({
63
+ case auth_1.OAUTH_AUTH_METHOD.value:
64
+ configData = await (0, promptUtils_1.promptUser)(personalAccessKeyPrompt_1.OAUTH_FLOW);
65
+ await (0, oauth_1.authenticateWithOauth)({
67
66
  ...configData,
68
67
  env,
69
68
  });
70
- successAuthMethod = OAUTH_AUTH_METHOD.name;
69
+ successAuthMethod = auth_1.OAUTH_AUTH_METHOD.name;
71
70
  break;
72
- case PERSONAL_ACCESS_KEY_AUTH_METHOD.value:
73
- configData = await personalAccessKeyPrompt({
71
+ case auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value:
72
+ configData = await (0, personalAccessKeyPrompt_1.personalAccessKeyPrompt)({
74
73
  env,
75
74
  account: providedAccountId,
76
75
  });
77
76
  try {
78
- token = await getAccessToken(configData.personalAccessKey, env);
79
- defaultName = toKebabCase(token.hubName);
80
- updatedConfig = await updateConfigWithAccessToken(token, configData.personalAccessKey, env);
77
+ token = await (0, personalAccessKey_1.getAccessToken)(configData.personalAccessKey, env);
78
+ defaultName = (0, text_1.toKebabCase)(token.hubName);
79
+ updatedConfig = await (0, personalAccessKey_1.updateConfigWithAccessToken)(token, configData.personalAccessKey, env);
81
80
  }
82
81
  catch (e) {
83
- logError(e);
82
+ (0, index_1.logError)(e);
84
83
  }
85
84
  if (!updatedConfig) {
86
85
  break;
87
86
  }
88
87
  validName = updatedConfig.name;
89
88
  if (!validName) {
90
- const { name: namePrompt } = await cliAccountNamePrompt(defaultName);
89
+ const { name: namePrompt } = await (0, accountNamePrompt_1.cliAccountNamePrompt)(defaultName);
91
90
  validName = namePrompt;
92
91
  }
93
- updateAccountConfig({
92
+ (0, config_2.updateAccountConfig)({
94
93
  ...updatedConfig,
95
- environment: updatedConfig.env,
94
+ env: updatedConfig.env,
96
95
  tokenInfo: updatedConfig.auth.tokenInfo,
97
96
  name: validName,
98
97
  });
99
- writeConfig();
100
- successAuthMethod = PERSONAL_ACCESS_KEY_AUTH_METHOD.name;
98
+ (0, config_2.writeConfig)();
99
+ successAuthMethod = auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.name;
101
100
  break;
102
101
  default:
103
- logger.error(i18n(`${i18nKey}.errors.unsupportedAuthType`, {
102
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.unsupportedAuthType`, {
104
103
  supportedProtocols: SUPPORTED_AUTHENTICATION_PROTOCOLS_TEXT,
105
- type,
104
+ type: authType,
106
105
  }));
107
106
  break;
108
107
  }
109
108
  if (!successAuthMethod) {
110
- await trackAuthAction('auth', authType, TRACKING_STATUS.ERROR);
111
- process.exit(EXIT_CODES.ERROR);
109
+ await (0, usageTracking_1.trackAuthAction)('auth', authType, TRACKING_STATUS.ERROR, providedAccountId);
110
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
112
111
  }
113
- const accountName = (updatedConfig && updatedConfig.name) || validName || configData.name;
114
- const setAsDefault = await setAsDefaultAccountPrompt(accountName);
115
- logger.log('');
112
+ const nameFromConfigData = 'name' in configData ? configData.name : undefined;
113
+ const accountName = (updatedConfig && updatedConfig.name) || validName || nameFromConfigData;
114
+ const setAsDefault = await (0, setAsDefaultAccountPrompt_1.setAsDefaultAccountPrompt)(accountName);
115
+ logger_1.logger.log('');
116
116
  if (setAsDefault) {
117
- logger.success(i18n(`lib.prompts.setAsDefaultAccountPrompt.setAsDefaultAccount`, {
117
+ logger_1.logger.success((0, lang_1.i18n)(`lib.prompts.setAsDefaultAccountPrompt.setAsDefaultAccount`, {
118
118
  accountName,
119
119
  }));
120
120
  }
121
121
  else {
122
- logger.info(i18n(`lib.prompts.setAsDefaultAccountPrompt.keepingCurrentDefault`, {
123
- accountName: getConfigDefaultAccount(),
122
+ logger_1.logger.info((0, lang_1.i18n)(`lib.prompts.setAsDefaultAccountPrompt.keepingCurrentDefault`, {
123
+ accountName: (0, config_2.getConfigDefaultAccount)(),
124
124
  }));
125
125
  }
126
- logger.success(i18n(`${i18nKey}.success.configFileUpdated`, {
127
- configFilename: DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME,
126
+ logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success.configFileUpdated`, {
127
+ configFilename: config_1.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME,
128
128
  authType: successAuthMethod,
129
129
  accountName,
130
130
  }));
131
- uiFeatureHighlight([
131
+ (0, ui_1.uiFeatureHighlight)([
132
132
  'accountsUseCommand',
133
133
  'accountOption',
134
134
  'accountsListCommand',
135
135
  ]);
136
- const accountId = getAccountId(accountName);
137
- await trackAuthAction('auth', authType, TRACKING_STATUS.COMPLETE, accountId);
138
- process.exit(EXIT_CODES.SUCCESS);
139
- };
140
- exports.builder = yargs => {
136
+ const accountId = (0, config_2.getAccountId)(accountName) || undefined;
137
+ await (0, usageTracking_1.trackAuthAction)('auth', authType, TRACKING_STATUS.COMPLETE, accountId);
138
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
139
+ }
140
+ function authBuilder(yargs) {
141
141
  yargs.options({
142
142
  'auth-type': {
143
- describe: i18n(`${i18nKey}.options.authType.describe`),
143
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.authType.describe`),
144
144
  type: 'string',
145
145
  choices: [
146
- `${PERSONAL_ACCESS_KEY_AUTH_METHOD.value}`,
147
- `${OAUTH_AUTH_METHOD.value}`,
146
+ `${auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value}`,
147
+ `${auth_1.OAUTH_AUTH_METHOD.value}`,
148
148
  ],
149
- default: PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
150
- defaultDescription: i18n(`${i18nKey}.options.authType.defaultDescription`, {
151
- authMethod: PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
152
- }),
149
+ default: auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
153
150
  },
154
151
  account: {
155
- describe: i18n(`${i18nKey}.options.account.describe`),
152
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.account.describe`),
156
153
  type: 'string',
157
154
  alias: 'a',
158
155
  },
159
156
  });
160
- addConfigOptions(yargs);
161
- addTestingOptions(yargs);
162
- addGlobalOptions(yargs);
163
157
  return yargs;
164
- };
158
+ }
159
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(authBuilder, exports.command, (0, lang_1.i18n)(`${i18nKey}.verboseDescribe`, {
160
+ authMethod: auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
161
+ configName: config_1.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME,
162
+ }), {
163
+ useGlobalOptions: true,
164
+ useConfigOptions: true,
165
+ useTestingOptions: true,
166
+ });
@@ -1,13 +1 @@
1
- import { ArgumentsCamelCase, Argv } from 'yargs';
2
- import { CommonArgs } from '../../types/Yargs';
3
- import { CmsPublishMode } from '@hubspot/local-dev-lib/types/Files';
4
- export declare const command = "set";
5
- export declare const describe: string;
6
- type ConfigSetArgs = CommonArgs & {
7
- defaultCmsPublishMode: CmsPublishMode;
8
- allowUsageTracking?: boolean;
9
- httpTimeout?: string;
10
- };
11
- export declare function handler(args: ArgumentsCamelCase<ConfigSetArgs>): Promise<void>;
12
- export declare function builder(yargs: Argv): Argv<ConfigSetArgs>;
13
1
  export {};
@@ -1,23 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describe = exports.command = void 0;
4
- exports.handler = handler;
5
- exports.builder = builder;
6
- const lang_1 = require("../../lib/lang");
7
- const usageTracking_1 = require("../../lib/usageTracking");
8
- const promptUtils_1 = require("../../lib/prompts/promptUtils");
9
- const exitCodes_1 = require("../../lib/enums/exitCodes");
10
- const configOptions_1 = require("../../lib/configOptions");
3
+ // @ts-nocheck
4
+ const { i18n } = require('../../lib/lang');
5
+ const { trackCommandUsage } = require('../../lib/usageTracking');
6
+ const { promptUser } = require('../../lib/prompts/promptUtils');
7
+ const { EXIT_CODES } = require('../../lib/enums/exitCodes');
8
+ const { setDefaultCmsPublishMode, setHttpTimeout, setAllowUsageTracking, } = require('../../lib/configOptions');
11
9
  const i18nKey = 'commands.config.subcommands.set';
12
10
  exports.command = 'set';
13
- exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
14
- async function selectOptions() {
15
- const { cmsPublishMode } = await (0, promptUtils_1.promptUser)([
11
+ exports.describe = i18n(`${i18nKey}.describe`);
12
+ const selectOptions = async () => {
13
+ const { cmsPublishMode } = await promptUser([
16
14
  {
17
15
  type: 'list',
16
+ look: false,
18
17
  name: 'cmsPublishMode',
19
18
  pageSize: 20,
20
- message: (0, lang_1.i18n)(`${i18nKey}.promptMessage`),
19
+ message: i18n(`${i18nKey}.promptMessage`),
21
20
  choices: [
22
21
  {
23
22
  name: 'Default CMS publish mode',
@@ -29,52 +28,52 @@ async function selectOptions() {
29
28
  },
30
29
  ]);
31
30
  return cmsPublishMode;
32
- }
33
- async function handleConfigUpdate(accountId, options) {
31
+ };
32
+ const handleConfigUpdate = async (accountId, options) => {
34
33
  const { allowUsageTracking, defaultCmsPublishMode, httpTimeout } = options;
35
34
  if (typeof defaultCmsPublishMode !== 'undefined') {
36
- await (0, configOptions_1.setDefaultCmsPublishMode)({ defaultCmsPublishMode, accountId });
35
+ await setDefaultCmsPublishMode({ defaultCmsPublishMode, accountId });
37
36
  return true;
38
37
  }
39
38
  else if (typeof httpTimeout !== 'undefined') {
40
- await (0, configOptions_1.setHttpTimeout)({ httpTimeout, accountId });
39
+ await setHttpTimeout({ httpTimeout, accountId });
41
40
  return true;
42
41
  }
43
42
  else if (typeof allowUsageTracking !== 'undefined') {
44
- await (0, configOptions_1.setAllowUsageTracking)({ allowUsageTracking, accountId });
43
+ await setAllowUsageTracking({ allowUsageTracking, accountId });
45
44
  return true;
46
45
  }
47
46
  return false;
48
- }
49
- async function handler(args) {
50
- const { derivedAccountId } = args;
51
- (0, usageTracking_1.trackCommandUsage)('config-set', {}, derivedAccountId);
52
- const configUpdated = await handleConfigUpdate(derivedAccountId, args);
47
+ };
48
+ exports.handler = async (options) => {
49
+ const { derivedAccountId } = options;
50
+ trackCommandUsage('config-set', null, derivedAccountId);
51
+ const configUpdated = await handleConfigUpdate(derivedAccountId, options);
53
52
  if (!configUpdated) {
54
53
  const selectedOptions = await selectOptions();
55
54
  await handleConfigUpdate(derivedAccountId, selectedOptions);
56
55
  }
57
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
58
- }
59
- function builder(yargs) {
56
+ process.exit(EXIT_CODES.SUCCESS);
57
+ };
58
+ exports.builder = yargs => {
60
59
  yargs
61
60
  .options({
62
61
  'default-cms-publish-mode': {
63
- describe: (0, lang_1.i18n)(`${i18nKey}.options.defaultMode.describe`),
62
+ describe: i18n(`${i18nKey}.options.defaultMode.describe`),
64
63
  type: 'string',
65
64
  },
66
65
  'allow-usage-tracking': {
67
- describe: (0, lang_1.i18n)(`${i18nKey}.options.allowUsageTracking.describe`),
66
+ describe: i18n(`${i18nKey}.options.allowUsageTracking.describe`),
68
67
  type: 'boolean',
69
68
  },
70
69
  'http-timeout': {
71
- describe: (0, lang_1.i18n)(`${i18nKey}.options.httpTimeout.describe`),
70
+ describe: i18n(`${i18nKey}.options.httpTimeout.describe`),
72
71
  type: 'string',
73
72
  },
74
73
  })
75
74
  .conflicts('defaultCmsPublishMode', 'allowUsageTracking')
76
75
  .conflicts('defaultCmsPublishMode', 'httpTimeout')
77
76
  .conflicts('allowUsageTracking', 'httpTimeout')
78
- .example([['$0 config set', (0, lang_1.i18n)(`${i18nKey}.examples.default`)]]);
77
+ .example([['$0 config set', i18n(`${i18nKey}.examples.default`)]]);
79
78
  return yargs;
80
- }
79
+ };
@@ -1,4 +1 @@
1
- import { Argv } from 'yargs';
2
- export declare const command = "config";
3
- export declare const describe: string;
4
- export declare function builder(yargs: Argv): Argv;
1
+ export {};