@hubspot/local-dev-lib 0.2.3 → 0.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 (189) hide show
  1. package/LICENSE +12 -0
  2. package/README.md +17 -0
  3. package/api/appsDev.d.ts +6 -0
  4. package/api/appsDev.js +29 -0
  5. package/api/customObjects.d.ts +8 -7
  6. package/api/customObjects.js +13 -16
  7. package/api/designManager.d.ts +4 -13
  8. package/api/designManager.js +6 -9
  9. package/api/developerTestAccounts.d.ts +7 -0
  10. package/api/developerTestAccounts.js +48 -0
  11. package/api/fileManager.d.ts +5 -4
  12. package/api/fileManager.js +11 -11
  13. package/api/fileMapper.d.ts +8 -7
  14. package/api/fileMapper.js +16 -16
  15. package/api/fileTransport.d.ts +4 -0
  16. package/api/fileTransport.js +39 -0
  17. package/api/functions.d.ts +7 -7
  18. package/api/functions.js +13 -16
  19. package/api/github.d.ts +7 -9
  20. package/api/github.js +31 -13
  21. package/api/hubdb.d.ts +11 -10
  22. package/api/hubdb.js +28 -22
  23. package/api/lighthouseScore.d.ts +4 -4
  24. package/api/lighthouseScore.js +9 -12
  25. package/api/localDevAuth.d.ts +8 -16
  26. package/api/localDevAuth.js +34 -13
  27. package/api/marketplaceValidation.d.ts +4 -4
  28. package/api/marketplaceValidation.js +8 -11
  29. package/api/projects.d.ts +31 -24
  30. package/api/projects.js +163 -43
  31. package/api/sandboxHubs.d.ts +6 -4
  32. package/api/sandboxHubs.js +10 -11
  33. package/api/sandboxSync.d.ts +4 -4
  34. package/api/sandboxSync.js +4 -13
  35. package/api/secrets.d.ts +6 -8
  36. package/api/secrets.js +9 -12
  37. package/api/validateHubl.d.ts +2 -1
  38. package/api/validateHubl.js +3 -6
  39. package/config/CLIConfiguration.d.ts +15 -11
  40. package/config/CLIConfiguration.js +175 -90
  41. package/config/configFile.js +13 -21
  42. package/config/configUtils.d.ts +2 -21
  43. package/config/configUtils.js +5 -4
  44. package/config/config_DEPRECATED.d.ts +6 -8
  45. package/config/config_DEPRECATED.js +79 -25
  46. package/config/environment.js +5 -4
  47. package/config/getAccountIdentifier.d.ts +2 -0
  48. package/config/getAccountIdentifier.js +15 -0
  49. package/config/index.d.ts +13 -8
  50. package/config/index.js +97 -57
  51. package/config/migrate.d.ts +22 -0
  52. package/config/migrate.js +166 -0
  53. package/constants/config.d.ts +26 -1
  54. package/constants/config.js +33 -3
  55. package/constants/environments.d.ts +1 -0
  56. package/constants/environments.js +1 -0
  57. package/constants/extensions.d.ts +2 -0
  58. package/constants/extensions.js +3 -1
  59. package/constants/files.d.ts +2 -2
  60. package/constants/files.js +3 -3
  61. package/errors/errors_DEPRECATED.d.ts +1 -5
  62. package/errors/errors_DEPRECATED.js +2 -2
  63. package/errors/index.d.ts +18 -0
  64. package/errors/index.js +63 -0
  65. package/http/addQueryParams.d.ts +2 -0
  66. package/http/addQueryParams.js +14 -0
  67. package/http/getAxiosConfig.d.ts +6 -3
  68. package/http/getAxiosConfig.js +49 -6
  69. package/http/index.d.ts +11 -12
  70. package/http/index.js +35 -41
  71. package/http/unauthed.d.ts +14 -0
  72. package/http/unauthed.js +38 -0
  73. package/lang/en.json +384 -386
  74. package/lib/archive.d.ts +2 -8
  75. package/lib/archive.js +34 -30
  76. package/lib/cms/functions.d.ts +7 -12
  77. package/lib/cms/functions.js +49 -51
  78. package/lib/cms/handleFieldsJS.js +16 -14
  79. package/lib/cms/modules.d.ts +4 -15
  80. package/lib/cms/modules.js +81 -78
  81. package/lib/cms/processFieldsJs.js +10 -33
  82. package/lib/cms/templates.d.ts +43 -3
  83. package/lib/cms/templates.js +53 -11
  84. package/lib/cms/uploadFolder.d.ts +3 -14
  85. package/lib/cms/uploadFolder.js +58 -42
  86. package/lib/cms/validate.js +1 -1
  87. package/lib/cms/watch.d.ts +2 -18
  88. package/lib/cms/watch.js +63 -68
  89. package/lib/customObjects.js +4 -15
  90. package/lib/fileManager.d.ts +2 -6
  91. package/lib/fileManager.js +54 -65
  92. package/lib/fileMapper.d.ts +4 -15
  93. package/lib/fileMapper.js +67 -88
  94. package/lib/fs.d.ts +1 -1
  95. package/lib/fs.js +10 -6
  96. package/lib/github.d.ts +12 -14
  97. package/lib/github.js +70 -35
  98. package/lib/gitignore.d.ts +2 -0
  99. package/lib/gitignore.js +21 -4
  100. package/lib/hubdb.d.ts +3 -2
  101. package/lib/hubdb.js +11 -9
  102. package/{utils → lib}/notify.js +2 -2
  103. package/lib/oauth.d.ts +2 -5
  104. package/lib/oauth.js +14 -25
  105. package/lib/path.d.ts +3 -0
  106. package/lib/path.js +46 -1
  107. package/lib/personalAccessKey.d.ts +8 -11
  108. package/lib/personalAccessKey.js +75 -38
  109. package/lib/portManager.d.ts +3 -5
  110. package/lib/portManager.js +18 -6
  111. package/lib/trackUsage.js +18 -11
  112. package/lib/urls.js +5 -1
  113. package/models/FileSystemError.d.ts +6 -0
  114. package/models/FileSystemError.js +47 -0
  115. package/models/HubSpotHttpError.d.ts +24 -0
  116. package/models/HubSpotHttpError.js +197 -0
  117. package/models/OAuth2Manager.d.ts +5 -27
  118. package/models/OAuth2Manager.js +41 -64
  119. package/package.json +35 -35
  120. package/types/Accounts.d.ts +103 -3
  121. package/types/Apps.d.ts +77 -0
  122. package/types/Archive.d.ts +9 -0
  123. package/types/Archive.js +2 -0
  124. package/types/Build.d.ts +4 -2
  125. package/types/ComponentStructure.d.ts +30 -10
  126. package/types/Config.d.ts +19 -2
  127. package/types/Deploy.d.ts +3 -2
  128. package/types/DesignManager.d.ts +10 -0
  129. package/types/DesignManager.js +2 -0
  130. package/types/Error.d.ts +9 -5
  131. package/types/FieldsJS.d.ts +1 -0
  132. package/types/FieldsJS.js +2 -0
  133. package/types/FileManager.d.ts +1 -1
  134. package/types/Files.d.ts +43 -4
  135. package/types/Functions.d.ts +52 -0
  136. package/types/Github.d.ts +13 -0
  137. package/types/Http.d.ts +12 -12
  138. package/types/Hubdb.d.ts +9 -0
  139. package/types/MarketplaceValidation.d.ts +7 -3
  140. package/types/Migration.d.ts +28 -0
  141. package/types/Migration.js +10 -0
  142. package/types/Modules.d.ts +11 -0
  143. package/types/PortManager.d.ts +7 -0
  144. package/types/Project.d.ts +30 -0
  145. package/types/ProjectLog.d.ts +9 -0
  146. package/types/ProjectLog.js +2 -0
  147. package/types/Sandbox.d.ts +37 -47
  148. package/types/Schemas.d.ts +56 -0
  149. package/types/Secrets.d.ts +3 -0
  150. package/types/Secrets.js +2 -0
  151. package/types/developerTestAccounts.d.ts +13 -0
  152. package/types/developerTestAccounts.js +2 -0
  153. package/utils/PortManagerServer.d.ts +6 -7
  154. package/utils/PortManagerServer.js +22 -16
  155. package/utils/{getAccountIdentifier.d.ts → accounts.d.ts} +0 -6
  156. package/utils/{getAccountIdentifier.js → accounts.js} +1 -13
  157. package/utils/cms/fieldsJS.d.ts +1 -2
  158. package/utils/cms/modules.js +2 -2
  159. package/utils/detectPort.js +3 -3
  160. package/utils/git.d.ts +1 -7
  161. package/utils/git.js +2 -18
  162. package/errors/apiErrors.d.ts +0 -16
  163. package/errors/apiErrors.js +0 -176
  164. package/errors/fileSystemErrors.d.ts +0 -6
  165. package/errors/fileSystemErrors.js +0 -35
  166. package/errors/standardErrors.d.ts +0 -21
  167. package/errors/standardErrors.js +0 -52
  168. package/lang/lang/en.json +0 -401
  169. package/lib/logging/git.d.ts +0 -2
  170. package/lib/logging/git.js +0 -54
  171. package/lib/logging/logs.d.ts +0 -22
  172. package/lib/logging/logs.js +0 -86
  173. package/lib/logging/table.d.ts +0 -3
  174. package/lib/logging/table.js +0 -47
  175. package/lib/sandboxes.d.ts +0 -14
  176. package/lib/sandboxes.js +0 -71
  177. package/models/HubSpotAuthError.d.ts +0 -12
  178. package/models/HubSpotAuthError.js +0 -20
  179. package/types/LogCallbacks.d.ts +0 -7
  180. package/utils/logger.d.ts +0 -5
  181. package/utils/logger.js +0 -23
  182. package/utils/objectUtils.d.ts +0 -8
  183. package/utils/objectUtils.js +0 -33
  184. /package/{utils → lib}/escapeRegExp.d.ts +0 -0
  185. /package/{utils → lib}/escapeRegExp.js +0 -0
  186. /package/lib/{logging/logger.d.ts → logger.d.ts} +0 -0
  187. /package/lib/{logging/logger.js → logger.js} +0 -0
  188. /package/{utils → lib}/notify.d.ts +0 -0
  189. /package/types/{LogCallbacks.js → Apps.js} +0 -0
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isConfigFlagEnabled = exports.loadConfigFromEnvironment = exports.deleteConfigFile = exports.deleteEmptyConfigFile = exports.createEmptyConfigFile = exports.deleteAccount = exports.renameAccount = exports.updateAllowUsageTracking = exports.updateHttpTimeout = exports.updateDefaultMode = exports.updateDefaultAccount = exports.updateAccountConfig = exports.removeSandboxAccountFromConfig = exports.getAccountId = exports.getAccountConfig = exports.getEnv = exports.findConfig = exports.getAndLoadConfigIfNeeded = exports.isTrackingAllowed = exports.loadConfig = exports.writeConfig = exports.getOrderedConfig = exports.getOrderedAccount = exports.accountNameExistsInConfig = exports.validateConfig = exports.getConfigPath = exports.setConfigPath = exports.getConfigAccountId = exports.getConfigDefaultAccount = exports.getConfigAccounts = exports.setConfig = exports.getConfig = void 0;
6
+ exports.isConfigFlagEnabled = exports.loadConfigFromEnvironment = exports.deleteConfigFile = exports.deleteEmptyConfigFile = exports.createEmptyConfigFile = exports.deleteAccount = exports.renameAccount = exports.updateAllowUsageTracking = exports.updateHttpTimeout = exports.updateDefaultCmsPublishMode = exports.updateDefaultAccount = exports.updateAccountConfig = exports.removeSandboxAccountFromConfig = exports.getAccountId = exports.getAccountConfig = exports.getAccountType = exports.getEnv = exports.findConfig = exports.getAndLoadConfigIfNeeded = exports.isTrackingAllowed = exports.loadConfig = exports.writeConfig = exports.getOrderedConfig = exports.getOrderedAccount = exports.accountNameExistsInConfig = exports.validateConfig = exports.getConfigPath = exports.setConfigPath = exports.getConfigAccountId = exports.getConfigDefaultAccount = exports.getConfigAccounts = exports.setConfig = exports.getConfig = void 0;
7
7
  const fs_extra_1 = __importDefault(require("fs-extra"));
8
8
  const js_yaml_1 = __importDefault(require("js-yaml"));
9
9
  const findup_sync_1 = __importDefault(require("findup-sync"));
@@ -13,10 +13,10 @@ const environments_1 = require("../constants/environments");
13
13
  const auth_1 = require("../constants/auth");
14
14
  const files_1 = require("../constants/files");
15
15
  const environment_1 = require("../lib/environment");
16
- const logger_1 = require("../lib/logging/logger");
16
+ const logger_1 = require("../lib/logger");
17
17
  const git_1 = require("../utils/git");
18
18
  const errors_DEPRECATED_1 = require("../errors/errors_DEPRECATED");
19
- const ALL_MODES = Object.values(files_1.MODE);
19
+ const ALL_CMS_PUBLISH_MODES = Object.values(files_1.CMS_PUBLISH_MODE);
20
20
  let _config;
21
21
  let _configPath;
22
22
  let environmentVariableConfigLoaded = false;
@@ -78,6 +78,10 @@ function validateConfig() {
78
78
  logger_1.logger.error('config.portals[] is not defined');
79
79
  return false;
80
80
  }
81
+ if (accounts.length === 0) {
82
+ logger_1.logger.error('There are no accounts defined in the configuration file');
83
+ return false;
84
+ }
81
85
  const accountIdsHash = {};
82
86
  const accountNamesHash = {};
83
87
  return accounts.every(cfg => {
@@ -105,6 +109,14 @@ function validateConfig() {
105
109
  }
106
110
  accountNamesHash[cfg.name] = cfg;
107
111
  }
112
+ if (!cfg.accountType) {
113
+ updateAccountConfig({
114
+ ...cfg,
115
+ portalId: accountId,
116
+ accountType: getAccountType(undefined, cfg.sandboxAccountType),
117
+ });
118
+ writeConfig();
119
+ }
108
120
  accountIdsHash[accountId] = cfg;
109
121
  return true;
110
122
  });
@@ -131,10 +143,10 @@ function getOrderedAccount(unorderedAccount) {
131
143
  }
132
144
  exports.getOrderedAccount = getOrderedAccount;
133
145
  function getOrderedConfig(unorderedConfig) {
134
- const { defaultPortal, defaultMode, httpTimeout, allowUsageTracking, portals, ...rest } = unorderedConfig;
146
+ const { defaultPortal, defaultCmsPublishMode, httpTimeout, allowUsageTracking, portals, ...rest } = unorderedConfig;
135
147
  return {
136
148
  ...(defaultPortal && { defaultPortal }),
137
- defaultMode,
149
+ defaultCmsPublishMode,
138
150
  httpTimeout,
139
151
  allowUsageTracking,
140
152
  ...rest,
@@ -167,7 +179,7 @@ function writeConfig(options = {}) {
167
179
  catch (err) {
168
180
  (0, errors_DEPRECATED_1.logFileSystemErrorInstance)(err, {
169
181
  filepath: configPath || '',
170
- write: true,
182
+ operation: 'write',
171
183
  });
172
184
  }
173
185
  }
@@ -185,7 +197,10 @@ function readConfigFile() {
185
197
  catch (err) {
186
198
  error = err;
187
199
  logger_1.logger.error('Config file could not be read "%s"', _configPath);
188
- (0, errors_DEPRECATED_1.logFileSystemErrorInstance)(error, { filepath: _configPath, read: true });
200
+ (0, errors_DEPRECATED_1.logFileSystemErrorInstance)(error, {
201
+ filepath: _configPath,
202
+ operation: 'read',
203
+ });
189
204
  }
190
205
  return { source: source && source.toString(), error };
191
206
  }
@@ -223,7 +238,7 @@ function loadConfigFromFile(path, options = {}) {
223
238
  const { parsed, error: parseError } = parseConfig(source);
224
239
  if (parseError)
225
240
  return;
226
- setConfig(parsed);
241
+ setConfig(handleLegacyCmsPublishMode(parsed));
227
242
  if (!(0, exports.getConfig)()) {
228
243
  logger_1.logger.debug('The config file was empty config');
229
244
  logger_1.logger.debug('Initializing an empty config');
@@ -287,6 +302,22 @@ function getEnv(nameOrId) {
287
302
  return env;
288
303
  }
289
304
  exports.getEnv = getEnv;
305
+ // Deprecating sandboxAccountType in favor of accountType
306
+ function getAccountType(accountType, sandboxAccountType) {
307
+ if (accountType) {
308
+ return accountType;
309
+ }
310
+ if (typeof sandboxAccountType === 'string') {
311
+ if (sandboxAccountType.toUpperCase() === 'DEVELOPER') {
312
+ return config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX;
313
+ }
314
+ if (sandboxAccountType.toUpperCase() === 'STANDARD') {
315
+ return config_1.HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX;
316
+ }
317
+ }
318
+ return config_1.HUBSPOT_ACCOUNT_TYPES.STANDARD;
319
+ }
320
+ exports.getAccountType = getAccountType;
290
321
  function getAccountConfig(accountId) {
291
322
  return getConfigAccounts(getAndLoadConfigIfNeeded())?.find(account => account.portalId === accountId);
292
323
  }
@@ -343,7 +374,10 @@ function removeSandboxAccountFromConfig(nameOrId) {
343
374
  throw new Error(`Unable to find account for ${nameOrId}.`);
344
375
  }
345
376
  const accountConfig = getAccountConfig(accountId);
346
- if (accountConfig?.sandboxAccountType === null)
377
+ const accountType = getAccountType(accountConfig?.accountType, accountConfig?.sandboxAccountType);
378
+ const isSandboxAccount = accountType === config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX ||
379
+ accountType === config_1.HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX;
380
+ if (!isSandboxAccount)
347
381
  return promptDefaultAccount;
348
382
  if (config.defaultPortal === accountConfig?.name) {
349
383
  promptDefaultAccount = true;
@@ -362,13 +396,13 @@ exports.removeSandboxAccountFromConfig = removeSandboxAccountFromConfig;
362
396
  * @throws {Error}
363
397
  */
364
398
  function updateAccountConfig(configOptions) {
365
- const { portalId, authType, environment, clientId, clientSecret, scopes, tokenInfo, defaultMode, name, apiKey, personalAccessKey, sandboxAccountType, parentAccountId, } = configOptions;
399
+ const { accountType, apiKey, authType, clientId, clientSecret, defaultCmsPublishMode, environment, name, parentAccountId, personalAccessKey, portalId, sandboxAccountType, scopes, tokenInfo, } = configOptions;
366
400
  if (!portalId) {
367
401
  throw new Error('A portalId is required to update the config');
368
402
  }
369
403
  const config = getAndLoadConfigIfNeeded();
370
404
  const accountConfig = getAccountConfig(portalId);
371
- let auth = undefined;
405
+ let auth = accountConfig && accountConfig.auth;
372
406
  if (clientId || clientSecret || scopes || tokenInfo) {
373
407
  auth = {
374
408
  ...(accountConfig ? accountConfig.auth : {}),
@@ -381,7 +415,7 @@ function updateAccountConfig(configOptions) {
381
415
  const env = (0, environment_1.getValidEnv)(environment ||
382
416
  (configOptions && configOptions.env) ||
383
417
  (accountConfig && accountConfig.env));
384
- const mode = defaultMode && defaultMode.toLowerCase();
418
+ const cmsPublishMode = defaultCmsPublishMode?.toLowerCase();
385
419
  const nextAccountConfig = {
386
420
  ...accountConfig,
387
421
  name: name || (accountConfig && accountConfig.name),
@@ -389,8 +423,11 @@ function updateAccountConfig(configOptions) {
389
423
  ...(portalId && { portalId }),
390
424
  authType,
391
425
  auth,
426
+ accountType: getAccountType(accountType, sandboxAccountType),
392
427
  apiKey,
393
- defaultMode: mode && Object.hasOwn(files_1.MODE, mode) ? mode : undefined,
428
+ defaultCmsPublishMode: cmsPublishMode && Object.hasOwn(files_1.CMS_PUBLISH_MODE, cmsPublishMode)
429
+ ? cmsPublishMode
430
+ : undefined,
394
431
  personalAccessKey,
395
432
  sandboxAccountType,
396
433
  parentAccountId,
@@ -430,16 +467,17 @@ exports.updateDefaultAccount = updateDefaultAccount;
430
467
  /**
431
468
  * @throws {Error}
432
469
  */
433
- function updateDefaultMode(defaultMode) {
434
- if (!defaultMode || !ALL_MODES.find(m => m === defaultMode)) {
435
- throw new Error(`The mode ${defaultMode} is invalid. Valid values are ${commaSeparatedValues(ALL_MODES)}.`);
470
+ function updateDefaultCmsPublishMode(defaultCmsPublishMode) {
471
+ if (!defaultCmsPublishMode ||
472
+ !ALL_CMS_PUBLISH_MODES.find(m => m === defaultCmsPublishMode)) {
473
+ throw new Error(`The mode ${defaultCmsPublishMode} is invalid. Valid values are ${commaSeparatedValues(ALL_CMS_PUBLISH_MODES)}.`);
436
474
  }
437
475
  const config = getAndLoadConfigIfNeeded();
438
- config.defaultMode = defaultMode;
476
+ config.defaultCmsPublishMode = defaultCmsPublishMode;
439
477
  setDefaultConfigPathIfUnset();
440
478
  writeConfig();
441
479
  }
442
- exports.updateDefaultMode = updateDefaultMode;
480
+ exports.updateDefaultCmsPublishMode = updateDefaultCmsPublishMode;
443
481
  /**
444
482
  * @throws {Error}
445
483
  */
@@ -550,12 +588,16 @@ function getConfigVariablesFromEnv() {
550
588
  clientId: env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_CLIENT_ID],
551
589
  clientSecret: env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_CLIENT_SECRET],
552
590
  personalAccessKey: env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_PERSONAL_ACCESS_KEY],
553
- portalId: parseInt(env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_PORTAL_ID] || '', 10),
591
+ portalId: parseInt(env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_ACCOUNT_ID] || '', 10) ||
592
+ parseInt(env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_PORTAL_ID] || '', 10),
554
593
  refreshToken: env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_REFRESH_TOKEN],
594
+ httpTimeout: env[environments_1.ENVIRONMENT_VARIABLES.HTTP_TIMEOUT]
595
+ ? parseInt(env[environments_1.ENVIRONMENT_VARIABLES.HTTP_TIMEOUT])
596
+ : undefined,
555
597
  env: (0, environment_1.getValidEnv)(env[environments_1.ENVIRONMENT_VARIABLES.HUBSPOT_ENVIRONMENT]),
556
598
  };
557
599
  }
558
- function generatePersonalAccessKeyConfig(portalId, personalAccessKey, env) {
600
+ function generatePersonalAccessKeyConfig(portalId, personalAccessKey, env, httpTimeout) {
559
601
  return {
560
602
  portals: [
561
603
  {
@@ -565,9 +607,10 @@ function generatePersonalAccessKeyConfig(portalId, personalAccessKey, env) {
565
607
  env,
566
608
  },
567
609
  ],
610
+ httpTimeout,
568
611
  };
569
612
  }
570
- function generateOauthConfig(portalId, clientId, clientSecret, refreshToken, scopes, env) {
613
+ function generateOauthConfig(portalId, clientId, clientSecret, refreshToken, scopes, env, httpTimeout) {
571
614
  return {
572
615
  portals: [
573
616
  {
@@ -584,6 +627,7 @@ function generateOauthConfig(portalId, clientId, clientSecret, refreshToken, sco
584
627
  env,
585
628
  },
586
629
  ],
630
+ httpTimeout,
587
631
  };
588
632
  }
589
633
  function generateApiKeyConfig(portalId, apiKey, env) {
@@ -599,17 +643,20 @@ function generateApiKeyConfig(portalId, apiKey, env) {
599
643
  };
600
644
  }
601
645
  function loadConfigFromEnvironment({ useEnv = false, } = {}) {
602
- const { apiKey, clientId, clientSecret, personalAccessKey, portalId, refreshToken, env, } = getConfigVariablesFromEnv();
646
+ const { apiKey, clientId, clientSecret, personalAccessKey, portalId, refreshToken, env, httpTimeout, } = getConfigVariablesFromEnv();
603
647
  const unableToLoadEnvConfigError = 'Unable to load config from environment variables.';
604
648
  if (!portalId) {
605
649
  useEnv && logger_1.logger.error(unableToLoadEnvConfigError);
606
650
  return;
607
651
  }
652
+ if (httpTimeout && httpTimeout < config_1.MIN_HTTP_TIMEOUT) {
653
+ throw new Error(`The HTTP timeout value ${httpTimeout} is invalid. The value must be a number greater than ${config_1.MIN_HTTP_TIMEOUT}.`);
654
+ }
608
655
  if (personalAccessKey) {
609
- return generatePersonalAccessKeyConfig(portalId, personalAccessKey, env);
656
+ return generatePersonalAccessKeyConfig(portalId, personalAccessKey, env, httpTimeout);
610
657
  }
611
658
  else if (clientId && clientSecret && refreshToken) {
612
- return generateOauthConfig(portalId, clientId, clientSecret, refreshToken, auth_1.OAUTH_SCOPES.map(scope => scope.value), env);
659
+ return generateOauthConfig(portalId, clientId, clientSecret, refreshToken, auth_1.OAUTH_SCOPES.map(scope => scope.value), env, httpTimeout);
613
660
  }
614
661
  else if (apiKey) {
615
662
  return generateApiKeyConfig(portalId, apiKey, env);
@@ -627,7 +674,7 @@ function loadEnvironmentVariableConfig(options) {
627
674
  }
628
675
  const { portalId } = getConfigVariablesFromEnv();
629
676
  logger_1.logger.debug(`Loaded config from environment variables for account ${portalId}`);
630
- return setConfig(envConfig);
677
+ return setConfig(handleLegacyCmsPublishMode(envConfig));
631
678
  }
632
679
  function isConfigFlagEnabled(flag) {
633
680
  if (!configFileExists() || configFileIsBlank()) {
@@ -637,3 +684,10 @@ function isConfigFlagEnabled(flag) {
637
684
  return Boolean(config[flag] || false);
638
685
  }
639
686
  exports.isConfigFlagEnabled = isConfigFlagEnabled;
687
+ function handleLegacyCmsPublishMode(config) {
688
+ if (config?.defaultMode) {
689
+ config.defaultCmsPublishMode = config.defaultMode;
690
+ delete config.defaultMode;
691
+ }
692
+ return config;
693
+ }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadConfigFromEnvironment = void 0;
4
- const logger_1 = require("../utils/logger");
4
+ const logger_1 = require("../lib/logger");
5
5
  const environments_1 = require("../constants/environments");
6
6
  const auth_1 = require("../constants/auth");
7
7
  const configUtils_1 = require("./configUtils");
8
8
  const environment_1 = require("../lib/environment");
9
+ const lang_1 = require("../utils/lang");
9
10
  const i18nKey = 'config.environment';
10
11
  function getConfigVariablesFromEnv() {
11
12
  const env = process.env;
@@ -22,11 +23,11 @@ function getConfigVariablesFromEnv() {
22
23
  function loadConfigFromEnvironment() {
23
24
  const { apiKey, clientId, clientSecret, personalAccessKey, accountId, refreshToken, env, } = getConfigVariablesFromEnv();
24
25
  if (!accountId) {
25
- (0, logger_1.debug)(`${i18nKey}.loadConfig.missingAccountId`);
26
+ logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.loadConfig.missingAccountId`));
26
27
  return null;
27
28
  }
28
29
  if (!env) {
29
- (0, logger_1.debug)(`${i18nKey}.loadConfig.missingEnv`);
30
+ logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.loadConfig.missingEnv`));
30
31
  return null;
31
32
  }
32
33
  if (personalAccessKey) {
@@ -53,7 +54,7 @@ function loadConfigFromEnvironment() {
53
54
  env,
54
55
  });
55
56
  }
56
- (0, logger_1.debug)(`${i18nKey}.loadConfig.unknownAuthType`);
57
+ logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.loadConfig.unknownAuthType`));
57
58
  return null;
58
59
  }
59
60
  exports.loadConfigFromEnvironment = loadConfigFromEnvironment;
@@ -0,0 +1,2 @@
1
+ import { GenericAccount } from '../types/Accounts';
2
+ export declare function getAccountIdentifier(account?: GenericAccount | null): number | undefined;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAccountIdentifier = void 0;
4
+ function getAccountIdentifier(account) {
5
+ if (!account) {
6
+ return undefined;
7
+ }
8
+ else if (Object.hasOwn(account, 'portalId')) {
9
+ return account.portalId;
10
+ }
11
+ else if (Object.hasOwn(account, 'accountId')) {
12
+ return account.accountId;
13
+ }
14
+ }
15
+ exports.getAccountIdentifier = getAccountIdentifier;
package/config/index.d.ts CHANGED
@@ -1,18 +1,20 @@
1
1
  import * as config_DEPRECATED from './config_DEPRECATED';
2
- import { CLIConfig } from '../types/Config';
2
+ import { CLIConfig_NEW, CLIConfig } from '../types/Config';
3
3
  import { CLIOptions, WriteConfigOptions } from '../types/CLIOptions';
4
- import { CLIAccount, FlatAccountFields } from '../types/Accounts';
4
+ import { AccountType, CLIAccount, CLIAccount_NEW, CLIAccount_DEPRECATED, FlatAccountFields } from '../types/Accounts';
5
+ import { CmsPublishMode } from '../types/Files';
5
6
  export declare function loadConfig(path: string, options?: CLIOptions): CLIConfig | null;
6
7
  export declare function getAndLoadConfigIfNeeded(options?: CLIOptions): Partial<CLIConfig> | null;
7
8
  export declare function validateConfig(): boolean;
8
9
  export declare function loadConfigFromEnvironment(): boolean;
9
10
  export declare function createEmptyConfigFile(options?: {
10
11
  path?: string;
11
- }, useRootConfig?: boolean): void;
12
+ }, useHiddenConfig?: boolean): void;
12
13
  export declare function deleteEmptyConfigFile(): void;
13
14
  export declare function getConfig(): CLIConfig | null;
14
15
  export declare function writeConfig(options?: WriteConfigOptions): void;
15
- export declare function getConfigPath(path?: string): string | null;
16
+ export declare function getConfigPath(path?: string, useHiddenConfig?: boolean): string | null;
17
+ export declare function configFileExists(useHiddenConfig?: boolean): boolean;
16
18
  export declare function getAccountConfig(accountId?: number): CLIAccount | null;
17
19
  export declare function accountNameExistsInConfig(name: string): boolean;
18
20
  export declare function updateAccountConfig(configOptions: Partial<FlatAccountFields>): FlatAccountFields | null;
@@ -20,19 +22,22 @@ export declare function updateDefaultAccount(nameOrId: string | number): void;
20
22
  export declare function renameAccount(currentName: string, newName: string): Promise<void>;
21
23
  export declare function getAccountId(nameOrId?: string | number): number | null;
22
24
  export declare function removeSandboxAccountFromConfig(nameOrId: string | number): boolean;
23
- export declare function deleteAccount(accountName: string): Promise<void>;
25
+ export declare function deleteAccount(accountName: string): Promise<void | boolean>;
24
26
  export declare function updateHttpTimeout(timeout: string): void;
25
27
  export declare function updateAllowUsageTracking(isEnabled: boolean): void;
26
28
  export declare function deleteConfigFile(): void;
27
29
  export declare function isConfigFlagEnabled(flag: keyof CLIConfig): boolean;
28
30
  export declare function isTrackingAllowed(): boolean;
29
31
  export declare function getEnv(nameOrId?: string | number): import("../types/Config").Environment;
30
- export declare const getConfigAccounts: typeof config_DEPRECATED.getConfigAccounts;
31
- export declare const getConfigDefaultAccount: typeof config_DEPRECATED.getConfigDefaultAccount;
32
+ export declare function getAccountType(accountType?: AccountType, sandboxAccountType?: string | null): AccountType;
33
+ export declare function getConfigDefaultAccount(): string | number | null | undefined;
34
+ export declare function getConfigAccounts(): Array<CLIAccount_NEW> | Array<CLIAccount_DEPRECATED> | null | undefined;
35
+ export declare function updateDefaultCmsPublishMode(cmsPublishMode: CmsPublishMode): void | CLIConfig_NEW | null;
36
+ export declare function getCWDAccountOverride(): string | number | null | undefined;
37
+ export declare function getDefaultAccountOverrideFilePath(): string | null | undefined;
32
38
  export declare const getConfigAccountId: typeof config_DEPRECATED.getConfigAccountId;
33
39
  export declare const getOrderedAccount: typeof config_DEPRECATED.getOrderedAccount;
34
40
  export declare const getOrderedConfig: typeof config_DEPRECATED.getOrderedConfig;
35
41
  export declare const setConfig: typeof config_DEPRECATED.setConfig;
36
42
  export declare const setConfigPath: typeof config_DEPRECATED.setConfigPath;
37
43
  export declare const findConfig: typeof config_DEPRECATED.findConfig;
38
- export declare const updateDefaultMode: typeof config_DEPRECATED.updateDefaultMode;