@hubspot/cli 6.2.0 → 6.2.2-beta.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 (344) hide show
  1. package/README.md +12 -95
  2. package/bin/cli.d.ts +2 -0
  3. package/bin/cli.js +107 -128
  4. package/commands/accounts/clean.d.ts +1 -0
  5. package/commands/accounts/clean.js +82 -116
  6. package/commands/accounts/info.d.ts +1 -0
  7. package/commands/accounts/info.js +32 -43
  8. package/commands/accounts/list.d.ts +1 -0
  9. package/commands/accounts/list.js +65 -92
  10. package/commands/accounts/remove.d.ts +1 -0
  11. package/commands/accounts/remove.js +43 -73
  12. package/commands/accounts/rename.d.ts +1 -0
  13. package/commands/accounts/rename.js +26 -41
  14. package/commands/accounts/use.d.ts +1 -0
  15. package/commands/accounts/use.js +36 -57
  16. package/commands/accounts.d.ts +1 -0
  17. package/commands/accounts.js +16 -18
  18. package/commands/auth.d.ts +1 -0
  19. package/commands/auth.js +133 -200
  20. package/commands/cms/convertFields.d.ts +1 -0
  21. package/commands/cms/convertFields.js +66 -81
  22. package/commands/cms/lighthouseScore.d.ts +1 -0
  23. package/commands/cms/lighthouseScore.js +236 -298
  24. package/commands/cms/reactModules.d.ts +1 -0
  25. package/commands/cms/reactModules.js +46 -53
  26. package/commands/cms.d.ts +1 -0
  27. package/commands/cms.js +11 -13
  28. package/commands/config/set.d.ts +1 -0
  29. package/commands/config/set.js +64 -79
  30. package/commands/config.d.ts +1 -0
  31. package/commands/config.js +7 -9
  32. package/commands/create/api-sample.d.ts +1 -0
  33. package/commands/create/api-sample.js +54 -74
  34. package/commands/create/app.d.ts +1 -0
  35. package/commands/create/app.js +8 -7
  36. package/commands/create/function.d.ts +1 -0
  37. package/commands/create/function.js +15 -14
  38. package/commands/create/index.d.ts +1 -0
  39. package/commands/create/index.js +12 -9
  40. package/commands/create/module.d.ts +1 -0
  41. package/commands/create/module.js +21 -19
  42. package/commands/create/react-app.d.ts +1 -0
  43. package/commands/create/react-app.js +7 -6
  44. package/commands/create/template.d.ts +1 -0
  45. package/commands/create/template.js +23 -24
  46. package/commands/create/vue-app.d.ts +1 -0
  47. package/commands/create/vue-app.js +7 -6
  48. package/commands/create/webpack-serverless.d.ts +1 -0
  49. package/commands/create/webpack-serverless.js +7 -6
  50. package/commands/create/website-theme.d.ts +1 -0
  51. package/commands/create/website-theme.js +15 -15
  52. package/commands/create.d.ts +24 -0
  53. package/commands/create.js +65 -80
  54. package/commands/customObject/create.d.ts +1 -0
  55. package/commands/customObject/create.js +33 -47
  56. package/commands/customObject/schema/create.d.ts +1 -0
  57. package/commands/customObject/schema/create.js +42 -67
  58. package/commands/customObject/schema/delete.d.ts +1 -0
  59. package/commands/customObject/schema/delete.js +28 -39
  60. package/commands/customObject/schema/fetch-all.d.ts +1 -0
  61. package/commands/customObject/schema/fetch-all.js +30 -39
  62. package/commands/customObject/schema/fetch.d.ts +1 -0
  63. package/commands/customObject/schema/fetch.js +48 -63
  64. package/commands/customObject/schema/list.d.ts +1 -0
  65. package/commands/customObject/schema/list.js +14 -17
  66. package/commands/customObject/schema/update.d.ts +1 -0
  67. package/commands/customObject/schema/update.js +46 -72
  68. package/commands/customObject/schema.d.ts +1 -0
  69. package/commands/customObject/schema.js +12 -12
  70. package/commands/customObject.d.ts +1 -0
  71. package/commands/customObject.js +14 -22
  72. package/commands/feedback.d.ts +1 -0
  73. package/commands/feedback.js +25 -33
  74. package/commands/fetch.d.ts +1 -0
  75. package/commands/fetch.js +53 -78
  76. package/commands/filemanager/fetch.d.ts +1 -0
  77. package/commands/filemanager/fetch.js +38 -56
  78. package/commands/filemanager/upload.d.ts +1 -0
  79. package/commands/filemanager/upload.js +88 -128
  80. package/commands/filemanager.d.ts +1 -0
  81. package/commands/filemanager.js +12 -18
  82. package/commands/functions/deploy.d.ts +1 -0
  83. package/commands/functions/deploy.js +76 -99
  84. package/commands/functions/list.d.ts +1 -0
  85. package/commands/functions/list.js +41 -48
  86. package/commands/functions/server.d.ts +1 -0
  87. package/commands/functions/server.js +50 -65
  88. package/commands/functions.d.ts +1 -0
  89. package/commands/functions.js +13 -15
  90. package/commands/hubdb/clear.d.ts +1 -0
  91. package/commands/hubdb/clear.js +37 -56
  92. package/commands/hubdb/create.d.ts +1 -0
  93. package/commands/hubdb/create.js +34 -57
  94. package/commands/hubdb/delete.d.ts +1 -0
  95. package/commands/hubdb/delete.js +29 -44
  96. package/commands/hubdb/fetch.d.ts +1 -0
  97. package/commands/hubdb/fetch.js +30 -46
  98. package/commands/hubdb.d.ts +1 -0
  99. package/commands/hubdb.js +12 -14
  100. package/commands/init.d.ts +1 -0
  101. package/commands/init.js +103 -160
  102. package/commands/lint.d.ts +1 -0
  103. package/commands/lint.js +34 -45
  104. package/commands/list.d.ts +1 -0
  105. package/commands/list.js +74 -101
  106. package/commands/logs.d.ts +1 -0
  107. package/commands/logs.js +98 -121
  108. package/commands/module/marketplace-validate.d.ts +1 -0
  109. package/commands/module/marketplace-validate.js +32 -57
  110. package/commands/module.d.ts +1 -0
  111. package/commands/module.js +7 -9
  112. package/commands/mv.d.ts +1 -0
  113. package/commands/mv.js +53 -71
  114. package/commands/open.d.ts +1 -0
  115. package/commands/open.js +48 -62
  116. package/commands/project/add.d.ts +1 -0
  117. package/commands/project/add.js +47 -70
  118. package/commands/project/cloneApp.d.ts +1 -0
  119. package/commands/project/cloneApp.js +119 -180
  120. package/commands/project/create.d.ts +1 -0
  121. package/commands/project/create.js +49 -81
  122. package/commands/project/deploy.d.ts +1 -0
  123. package/commands/project/deploy.js +105 -182
  124. package/commands/project/dev.d.ts +1 -0
  125. package/commands/project/dev.js +126 -227
  126. package/commands/project/download.d.ts +1 -0
  127. package/commands/project/download.js +73 -123
  128. package/commands/project/installDeps.d.ts +1 -0
  129. package/commands/project/installDeps.js +52 -59
  130. package/commands/project/listBuilds.d.ts +1 -0
  131. package/commands/project/listBuilds.js +97 -139
  132. package/commands/project/logs.d.ts +1 -0
  133. package/commands/project/logs.js +86 -128
  134. package/commands/project/migrateApp.d.ts +1 -0
  135. package/commands/project/migrateApp.js +158 -248
  136. package/commands/project/open.d.ts +1 -0
  137. package/commands/project/open.js +44 -68
  138. package/commands/project/upload.d.ts +1 -0
  139. package/commands/project/upload.js +72 -116
  140. package/commands/project/watch.d.ts +1 -0
  141. package/commands/project/watch.js +94 -152
  142. package/commands/project.d.ts +1 -0
  143. package/commands/project.js +21 -23
  144. package/commands/remove.d.ts +1 -0
  145. package/commands/remove.js +28 -43
  146. package/commands/sandbox/create.d.ts +1 -0
  147. package/commands/sandbox/create.js +143 -187
  148. package/commands/sandbox/delete.d.ts +1 -0
  149. package/commands/sandbox/delete.js +166 -221
  150. package/commands/sandbox.d.ts +1 -0
  151. package/commands/sandbox.js +10 -12
  152. package/commands/secrets/addSecret.d.ts +1 -0
  153. package/commands/secrets/addSecret.js +34 -52
  154. package/commands/secrets/deleteSecret.d.ts +1 -0
  155. package/commands/secrets/deleteSecret.js +33 -50
  156. package/commands/secrets/listSecrets.d.ts +1 -0
  157. package/commands/secrets/listSecrets.js +28 -42
  158. package/commands/secrets/updateSecret.d.ts +1 -0
  159. package/commands/secrets/updateSecret.js +35 -53
  160. package/commands/secrets.d.ts +1 -0
  161. package/commands/secrets.js +12 -13
  162. package/commands/theme/generate-selectors.d.ts +1 -0
  163. package/commands/theme/generate-selectors.js +129 -192
  164. package/commands/theme/marketplace-validate.d.ts +1 -0
  165. package/commands/theme/marketplace-validate.js +32 -57
  166. package/commands/theme/preview.d.ts +1 -0
  167. package/commands/theme/preview.js +170 -195
  168. package/commands/theme.d.ts +1 -0
  169. package/commands/theme.js +9 -11
  170. package/commands/upload.d.ts +1 -0
  171. package/commands/upload.js +199 -287
  172. package/commands/watch.d.ts +1 -0
  173. package/commands/watch.js +128 -172
  174. package/lang/en.lyaml +2 -3
  175. package/lib/DevServerManager.d.ts +1 -0
  176. package/lib/DevServerManager.js +99 -124
  177. package/lib/LocalDevManager.d.ts +1 -0
  178. package/lib/LocalDevManager.js +322 -490
  179. package/lib/accountTypes.d.ts +7 -0
  180. package/lib/accountTypes.js +32 -34
  181. package/lib/buildAccount.d.ts +1 -0
  182. package/lib/buildAccount.js +132 -179
  183. package/lib/commonOpts.d.ts +1 -0
  184. package/lib/commonOpts.js +60 -91
  185. package/lib/configOptions.d.ts +1 -0
  186. package/lib/configOptions.js +110 -0
  187. package/lib/constants.d.ts +84 -0
  188. package/lib/constants.js +64 -91
  189. package/lib/debugInfo.d.ts +1 -0
  190. package/lib/debugInfo.js +14 -13
  191. package/lib/dependencyManagement.d.ts +1 -0
  192. package/lib/dependencyManagement.js +92 -132
  193. package/lib/developerTestAccounts.d.ts +1 -0
  194. package/lib/developerTestAccounts.js +67 -91
  195. package/lib/enums/exitCodes.d.ts +5 -0
  196. package/lib/enums/exitCodes.js +7 -8
  197. package/lib/environment.d.ts +1 -0
  198. package/lib/environment.js +13 -14
  199. package/lib/errorHandlers/index.d.ts +1 -0
  200. package/lib/errorHandlers/index.js +66 -80
  201. package/lib/errorHandlers/suppressError.d.ts +1 -0
  202. package/lib/errorHandlers/suppressError.js +66 -106
  203. package/lib/filesystem.d.ts +2 -0
  204. package/lib/filesystem.js +22 -28
  205. package/lib/generate-selectors.d.ts +1 -0
  206. package/lib/generate-selectors.js +102 -138
  207. package/lib/hasFeature.d.ts +1 -0
  208. package/lib/hasFeature.js +8 -15
  209. package/lib/hasFlag.d.ts +1 -0
  210. package/lib/hasFlag.js +13 -13
  211. package/lib/hublValidate.d.ts +2 -0
  212. package/lib/hublValidate.js +28 -28
  213. package/lib/interpolation.d.ts +1 -0
  214. package/lib/interpolation.js +50 -92
  215. package/lib/interpolationHelpers.d.ts +10 -0
  216. package/lib/interpolationHelpers.js +30 -22
  217. package/lib/lang.d.ts +1 -0
  218. package/lib/lang.js +52 -78
  219. package/lib/links.d.ts +1 -0
  220. package/lib/links.js +94 -114
  221. package/lib/localDev.d.ts +1 -0
  222. package/lib/localDev.js +285 -433
  223. package/lib/marketplace-validate.d.ts +1 -0
  224. package/lib/marketplace-validate.js +105 -126
  225. package/lib/oauth.d.ts +1 -0
  226. package/lib/oauth.js +64 -78
  227. package/lib/polling.d.ts +1 -0
  228. package/lib/polling.js +26 -26
  229. package/lib/process.d.ts +1 -0
  230. package/lib/process.js +41 -53
  231. package/lib/projectLogsManager.d.ts +1 -0
  232. package/lib/projectLogsManager.js +78 -130
  233. package/lib/projectStructure.d.ts +1 -0
  234. package/lib/projectStructure.js +89 -109
  235. package/lib/projects.d.ts +1 -0
  236. package/lib/projects.js +595 -958
  237. package/lib/projectsWatch.d.ts +1 -0
  238. package/lib/projectsWatch.js +127 -228
  239. package/lib/prompts/accountNamePrompt.d.ts +1 -0
  240. package/lib/prompts/accountNamePrompt.js +60 -65
  241. package/lib/prompts/accountsPrompt.d.ts +1 -0
  242. package/lib/prompts/accountsPrompt.js +33 -37
  243. package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
  244. package/lib/prompts/activeInstallConfirmationPrompt.js +13 -13
  245. package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
  246. package/lib/prompts/cleanUploadPrompt.js +13 -13
  247. package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
  248. package/lib/prompts/cmsFieldPrompt.js +37 -39
  249. package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
  250. package/lib/prompts/createApiSamplePrompt.js +49 -52
  251. package/lib/prompts/createFunctionPrompt.d.ts +1 -0
  252. package/lib/prompts/createFunctionPrompt.js +57 -56
  253. package/lib/prompts/createModulePrompt.d.ts +1 -0
  254. package/lib/prompts/createModulePrompt.js +47 -50
  255. package/lib/prompts/createProjectPrompt.d.ts +1 -0
  256. package/lib/prompts/createProjectPrompt.js +95 -129
  257. package/lib/prompts/createTemplatePrompt.d.ts +1 -0
  258. package/lib/prompts/createTemplatePrompt.js +18 -19
  259. package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
  260. package/lib/prompts/deployBuildIdPrompt.js +15 -15
  261. package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
  262. package/lib/prompts/downloadProjectPrompt.js +39 -41
  263. package/lib/prompts/feedbackPrompt.d.ts +1 -0
  264. package/lib/prompts/feedbackPrompt.js +29 -30
  265. package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
  266. package/lib/prompts/folderOverwritePrompt.js +10 -10
  267. package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
  268. package/lib/prompts/installPublicAppPrompt.js +29 -42
  269. package/lib/prompts/personalAccessKeyPrompt.d.ts +1 -0
  270. package/lib/prompts/personalAccessKeyPrompt.js +104 -110
  271. package/lib/prompts/previewPrompt.d.ts +1 -0
  272. package/lib/prompts/previewPrompt.js +46 -47
  273. package/lib/prompts/projectAddPrompt.d.ts +1 -0
  274. package/lib/prompts/projectAddPrompt.js +37 -38
  275. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
  276. package/lib/prompts/projectDevTargetAccountPrompt.js +150 -193
  277. package/lib/prompts/projectNamePrompt.d.ts +1 -0
  278. package/lib/prompts/projectNamePrompt.js +25 -25
  279. package/lib/prompts/projectsLogsPrompt.d.ts +1 -0
  280. package/lib/prompts/projectsLogsPrompt.js +21 -27
  281. package/lib/prompts/promptUtils.d.ts +1 -0
  282. package/lib/prompts/promptUtils.js +17 -17
  283. package/lib/prompts/sandboxesPrompt.d.ts +1 -0
  284. package/lib/prompts/sandboxesPrompt.js +50 -59
  285. package/lib/prompts/secretPrompt.d.ts +1 -0
  286. package/lib/prompts/secretPrompt.js +15 -16
  287. package/lib/prompts/selectPublicAppPrompt.d.ts +1 -0
  288. package/lib/prompts/selectPublicAppPrompt.js +58 -82
  289. package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
  290. package/lib/prompts/setAsDefaultAccountPrompt.js +19 -24
  291. package/lib/prompts/uploadPrompt.d.ts +1 -0
  292. package/lib/prompts/uploadPrompt.js +30 -30
  293. package/lib/regex.d.ts +1 -0
  294. package/lib/regex.js +4 -5
  295. package/lib/sandboxSync.d.ts +1 -0
  296. package/lib/sandboxSync.js +100 -166
  297. package/lib/sandboxes.d.ts +1 -0
  298. package/lib/sandboxes.js +201 -316
  299. package/lib/schema.d.ts +3 -0
  300. package/lib/schema.js +29 -33
  301. package/lib/serverlessLogs.d.ts +1 -0
  302. package/lib/serverlessLogs.js +131 -173
  303. package/lib/ui/SpinniesManager.d.ts +1 -0
  304. package/lib/ui/SpinniesManager.js +198 -254
  305. package/lib/ui/git.d.ts +1 -0
  306. package/lib/ui/git.js +20 -19
  307. package/lib/ui/index.d.ts +1 -0
  308. package/lib/ui/index.js +117 -167
  309. package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
  310. package/lib/ui/serverlessFunctionLogs.js +53 -70
  311. package/lib/ui/spinniesUtils.d.ts +1 -0
  312. package/lib/ui/spinniesUtils.js +111 -133
  313. package/lib/ui/supportHyperlinks.d.ts +1 -0
  314. package/lib/ui/supportHyperlinks.js +49 -62
  315. package/lib/ui/supportsColor.d.ts +1 -0
  316. package/lib/ui/supportsColor.js +81 -109
  317. package/lib/ui/table.d.ts +1 -0
  318. package/lib/ui/table.js +49 -55
  319. package/lib/upload.d.ts +1 -0
  320. package/lib/upload.js +40 -43
  321. package/lib/usageTracking.d.ts +1 -0
  322. package/lib/usageTracking.js +133 -155
  323. package/lib/validation.d.ts +1 -0
  324. package/lib/validation.js +144 -203
  325. package/package.json +84 -48
  326. package/CHANGELOG.md +0 -16
  327. package/commands/__tests__/projects.test.js +0 -105
  328. package/commands/config/set/allowUsageTracking.js +0 -52
  329. package/commands/config/set/defaultMode.js +0 -59
  330. package/commands/config/set/httpTimeout.js +0 -42
  331. package/commands/project/__tests__/deploy.test.js +0 -443
  332. package/commands/project/__tests__/installDeps.test.js +0 -168
  333. package/commands/project/__tests__/logs.test.js +0 -304
  334. package/hubspot.sample.config.yml +0 -28
  335. package/jest.config.js +0 -4
  336. package/lib/__tests__/commonOpts.test.js +0 -83
  337. package/lib/__tests__/dependencyManagement.test.js +0 -243
  338. package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
  339. package/lib/__tests__/projectLogsManager.test.js +0 -212
  340. package/lib/__tests__/projects.test.js +0 -140
  341. package/lib/__tests__/serverlessLogs.test.js +0 -162
  342. package/lib/__tests__/validation.test.js +0 -140
  343. package/lib/getFunctionArrays.js +0 -18
  344. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -46
@@ -1,214 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
1
4
  const { promptUser } = require('./promptUtils');
2
5
  const { i18n } = require('../lang');
3
6
  const { uiAccountDescription, uiCommandReference } = require('../ui');
4
7
  const { isSandbox } = require('../accountTypes');
5
8
  const { getAccountId } = require('@hubspot/local-dev-lib/config');
6
- const {
7
- getSandboxUsageLimits,
8
- } = require('@hubspot/local-dev-lib/api/sandboxHubs');
9
- const {
10
- HUBSPOT_ACCOUNT_TYPES,
11
- HUBSPOT_ACCOUNT_TYPE_STRINGS,
12
- } = require('@hubspot/local-dev-lib/constants/config');
9
+ const { getSandboxUsageLimits, } = require('@hubspot/local-dev-lib/api/sandboxHubs');
10
+ const { HUBSPOT_ACCOUNT_TYPES, HUBSPOT_ACCOUNT_TYPE_STRINGS, } = require('@hubspot/local-dev-lib/constants/config');
13
11
  const { logger } = require('@hubspot/local-dev-lib/logger');
14
- const {
15
- fetchDeveloperTestAccounts,
16
- } = require('@hubspot/local-dev-lib/api/developerTestAccounts');
17
-
12
+ const { fetchDeveloperTestAccounts, } = require('@hubspot/local-dev-lib/api/developerTestAccounts');
18
13
  const i18nKey = 'lib.prompts.projectDevTargetAccountPrompt';
19
-
20
14
  const mapNestedAccount = accountConfig => ({
21
- name: uiAccountDescription(accountConfig.portalId, false),
22
- value: {
23
- targetAccountId: getAccountId(accountConfig.name),
24
- createNestedAccount: false,
25
- parentAccountId: accountConfig.parentAccountId,
26
- },
15
+ name: uiAccountDescription(accountConfig.portalId, false),
16
+ value: {
17
+ targetAccountId: getAccountId(accountConfig.name),
18
+ createNestedAccount: false,
19
+ parentAccountId: accountConfig.parentAccountId,
20
+ },
27
21
  });
28
-
29
22
  const getNonConfigDeveloperTestAccountName = account => {
30
- return `${account.accountName} [${
31
- HUBSPOT_ACCOUNT_TYPE_STRINGS[HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST]
32
- }] (${account.id})`;
23
+ return `${account.accountName} [${HUBSPOT_ACCOUNT_TYPE_STRINGS[HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST]}] (${account.id})`;
33
24
  };
34
-
35
- const selectSandboxTargetAccountPrompt = async (
36
- accounts,
37
- defaultAccountConfig
38
- ) => {
39
- const defaultAccountId = getAccountId(defaultAccountConfig.name);
40
- let choices = [];
41
- let sandboxUsage = {};
42
- try {
43
- const { data } = await getSandboxUsageLimits(defaultAccountId);
44
- sandboxUsage = data.usage;
45
- } catch (err) {
46
- logger.debug('Unable to fetch sandbox usage limits: ', err);
47
- }
48
-
49
- const sandboxAccounts = accounts
50
- .reverse()
51
- .filter(
52
- config => isSandbox(config) && config.parentAccountId === defaultAccountId
53
- );
54
- let disabledMessage = false;
55
-
56
- if (sandboxUsage['DEVELOPER'] && sandboxUsage['DEVELOPER'].available === 0) {
57
- if (sandboxAccounts.length < sandboxUsage['DEVELOPER'].limit) {
58
- disabledMessage = i18n(`${i18nKey}.sandboxLimitWithSuggestion`, {
59
- authCommand: uiCommandReference('hs auth'),
60
- limit: sandboxUsage['DEVELOPER'].limit,
61
- });
62
- } else {
63
- disabledMessage = i18n(`${i18nKey}.sandboxLimit`, {
64
- limit: sandboxUsage['DEVELOPER'].limit,
65
- });
25
+ const selectSandboxTargetAccountPrompt = async (accounts, defaultAccountConfig) => {
26
+ const defaultAccountId = getAccountId(defaultAccountConfig.name);
27
+ let choices = [];
28
+ let sandboxUsage = {};
29
+ try {
30
+ const { data } = await getSandboxUsageLimits(defaultAccountId);
31
+ sandboxUsage = data.usage;
66
32
  }
67
- }
68
- // Order choices by Developer Sandbox -> Standard Sandbox
69
- choices = [
70
- ...sandboxAccounts
71
- .filter(a => a.accountType === HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX)
72
- .map(mapNestedAccount),
73
- ...sandboxAccounts
74
- .filter(a => a.accountType === HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX)
75
- .map(mapNestedAccount),
76
- {
77
- name: i18n(`${i18nKey}.createNewSandboxOption`),
78
- value: {
79
- targetAccountId: null,
80
- createNestedAccount: true,
81
- },
82
- disabled: disabledMessage,
83
- },
84
- {
85
- name: i18n(`${i18nKey}.chooseDefaultAccountOption`),
86
- value: {
87
- targetAccountId: defaultAccountId,
88
- createNestedAccount: false,
89
- },
90
- },
91
- ];
92
-
93
- return selectTargetAccountPrompt(
94
- defaultAccountId,
95
- 'sandbox account',
96
- choices
97
- );
33
+ catch (err) {
34
+ logger.debug('Unable to fetch sandbox usage limits: ', err);
35
+ }
36
+ const sandboxAccounts = accounts
37
+ .reverse()
38
+ .filter(config => isSandbox(config) && config.parentAccountId === defaultAccountId);
39
+ let disabledMessage = false;
40
+ if (sandboxUsage['DEVELOPER'] && sandboxUsage['DEVELOPER'].available === 0) {
41
+ if (sandboxAccounts.length < sandboxUsage['DEVELOPER'].limit) {
42
+ disabledMessage = i18n(`${i18nKey}.sandboxLimitWithSuggestion`, {
43
+ authCommand: uiCommandReference('hs auth'),
44
+ limit: sandboxUsage['DEVELOPER'].limit,
45
+ });
46
+ }
47
+ else {
48
+ disabledMessage = i18n(`${i18nKey}.sandboxLimit`, {
49
+ limit: sandboxUsage['DEVELOPER'].limit,
50
+ });
51
+ }
52
+ }
53
+ // Order choices by Developer Sandbox -> Standard Sandbox
54
+ choices = [
55
+ ...sandboxAccounts
56
+ .filter(a => a.accountType === HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX)
57
+ .map(mapNestedAccount),
58
+ ...sandboxAccounts
59
+ .filter(a => a.accountType === HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX)
60
+ .map(mapNestedAccount),
61
+ {
62
+ name: i18n(`${i18nKey}.createNewSandboxOption`),
63
+ value: {
64
+ targetAccountId: null,
65
+ createNestedAccount: true,
66
+ },
67
+ disabled: disabledMessage,
68
+ },
69
+ {
70
+ name: i18n(`${i18nKey}.chooseDefaultAccountOption`),
71
+ value: {
72
+ targetAccountId: defaultAccountId,
73
+ createNestedAccount: false,
74
+ },
75
+ },
76
+ ];
77
+ return selectTargetAccountPrompt(defaultAccountId, 'sandbox account', choices);
98
78
  };
99
-
100
- const selectDeveloperTestTargetAccountPrompt = async (
101
- accounts,
102
- defaultAccountConfig
103
- ) => {
104
- const defaultAccountId = getAccountId(defaultAccountConfig.name);
105
- let devTestAccountsResponse = undefined;
106
- try {
107
- const { data } = await fetchDeveloperTestAccounts(defaultAccountId);
108
- devTestAccountsResponse = data;
109
- } catch (err) {
110
- logger.debug('Unable to fetch developer test account usage limits: ', err);
111
- }
112
-
113
- let disabledMessage = false;
114
- if (
115
- devTestAccountsResponse &&
116
- devTestAccountsResponse.results.length >=
117
- devTestAccountsResponse.maxTestPortals
118
- ) {
119
- disabledMessage = i18n(`${i18nKey}.developerTestAccountLimit`, {
120
- authCommand: uiCommandReference('hs auth'),
121
- limit: devTestAccountsResponse.maxTestPortals,
122
- });
123
- }
124
-
125
- const devTestAccounts = [];
126
- if (devTestAccountsResponse && devTestAccountsResponse.results) {
127
- const accountIds = accounts.map(account => account.portalId);
128
-
129
- devTestAccountsResponse.results.forEach(acct => {
130
- const inConfig = accountIds.includes(acct.id);
131
- devTestAccounts.push({
132
- name: getNonConfigDeveloperTestAccountName(acct),
133
- value: {
134
- targetAccountId: acct.id,
135
- createdNestedAccount: false,
136
- parentAccountId: defaultAccountId,
137
- notInConfigAccount: inConfig ? null : acct,
79
+ const selectDeveloperTestTargetAccountPrompt = async (accounts, defaultAccountConfig) => {
80
+ const defaultAccountId = getAccountId(defaultAccountConfig.name);
81
+ let devTestAccountsResponse = undefined;
82
+ try {
83
+ const { data } = await fetchDeveloperTestAccounts(defaultAccountId);
84
+ devTestAccountsResponse = data;
85
+ }
86
+ catch (err) {
87
+ logger.debug('Unable to fetch developer test account usage limits: ', err);
88
+ }
89
+ let disabledMessage = false;
90
+ if (devTestAccountsResponse &&
91
+ devTestAccountsResponse.results.length >=
92
+ devTestAccountsResponse.maxTestPortals) {
93
+ disabledMessage = i18n(`${i18nKey}.developerTestAccountLimit`, {
94
+ authCommand: uiCommandReference('hs auth'),
95
+ limit: devTestAccountsResponse.maxTestPortals,
96
+ });
97
+ }
98
+ const devTestAccounts = [];
99
+ if (devTestAccountsResponse && devTestAccountsResponse.results) {
100
+ const accountIds = accounts.map(account => account.portalId);
101
+ devTestAccountsResponse.results.forEach(acct => {
102
+ const inConfig = accountIds.includes(acct.id);
103
+ devTestAccounts.push({
104
+ name: getNonConfigDeveloperTestAccountName(acct),
105
+ value: {
106
+ targetAccountId: acct.id,
107
+ createdNestedAccount: false,
108
+ parentAccountId: defaultAccountId,
109
+ notInConfigAccount: inConfig ? null : acct,
110
+ },
111
+ });
112
+ });
113
+ }
114
+ const choices = [
115
+ ...devTestAccounts,
116
+ {
117
+ name: i18n(`${i18nKey}.createNewDeveloperTestAccountOption`),
118
+ value: {
119
+ targetAccountId: null,
120
+ createNestedAccount: true,
121
+ },
122
+ disabled: disabledMessage,
138
123
  },
139
- });
140
- });
141
- }
142
-
143
- const choices = [
144
- ...devTestAccounts,
145
- {
146
- name: i18n(`${i18nKey}.createNewDeveloperTestAccountOption`),
147
- value: {
148
- targetAccountId: null,
149
- createNestedAccount: true,
150
- },
151
- disabled: disabledMessage,
152
- },
153
- ];
154
-
155
- return selectTargetAccountPrompt(
156
- defaultAccountId,
157
- HUBSPOT_ACCOUNT_TYPE_STRINGS[HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST],
158
- choices
159
- );
124
+ ];
125
+ return selectTargetAccountPrompt(defaultAccountId, HUBSPOT_ACCOUNT_TYPE_STRINGS[HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST], choices);
160
126
  };
161
-
162
- const selectTargetAccountPrompt = async (
163
- defaultAccountId,
164
- accountType,
165
- choices
166
- ) => {
167
- const { targetAccountInfo } = await promptUser([
168
- {
169
- name: 'targetAccountInfo',
170
- type: 'list',
171
- message: i18n(`${i18nKey}.promptMessage`, {
172
- accountIdentifier: uiAccountDescription(defaultAccountId),
173
- accountType,
174
- }),
175
- choices,
176
- },
177
- ]);
178
-
179
- return targetAccountInfo;
127
+ const selectTargetAccountPrompt = async (defaultAccountId, accountType, choices) => {
128
+ const { targetAccountInfo } = await promptUser([
129
+ {
130
+ name: 'targetAccountInfo',
131
+ type: 'list',
132
+ message: i18n(`${i18nKey}.promptMessage`, {
133
+ accountIdentifier: uiAccountDescription(defaultAccountId),
134
+ accountType,
135
+ }),
136
+ choices,
137
+ },
138
+ ]);
139
+ return targetAccountInfo;
180
140
  };
181
-
182
141
  const confirmDefaultAccountPrompt = async (accountName, accountType) => {
183
- const { useDefaultAccount } = await promptUser([
184
- {
185
- name: 'useDefaultAccount',
186
- type: 'confirm',
187
- message: i18n(`${i18nKey}.confirmDefaultAccount`, {
188
- accountName,
189
- accountType,
190
- }),
191
- },
192
- ]);
193
- return useDefaultAccount;
142
+ const { useDefaultAccount } = await promptUser([
143
+ {
144
+ name: 'useDefaultAccount',
145
+ type: 'confirm',
146
+ message: i18n(`${i18nKey}.confirmDefaultAccount`, {
147
+ accountName,
148
+ accountType,
149
+ }),
150
+ },
151
+ ]);
152
+ return useDefaultAccount;
194
153
  };
195
-
196
- const confirmUseExistingDeveloperTestAccountPrompt = async account => {
197
- const { confirmUseExistingDeveloperTestAccount } = await promptUser([
198
- {
199
- name: 'confirmUseExistingDeveloperTestAccount',
200
- type: 'confirm',
201
- message: i18n(`${i18nKey}.confirmUseExistingDeveloperTestAccount`, {
202
- accountName: getNonConfigDeveloperTestAccountName(account),
203
- }),
204
- },
205
- ]);
206
- return confirmUseExistingDeveloperTestAccount;
154
+ const confirmUseExistingDeveloperTestAccountPrompt = async (account) => {
155
+ const { confirmUseExistingDeveloperTestAccount } = await promptUser([
156
+ {
157
+ name: 'confirmUseExistingDeveloperTestAccount',
158
+ type: 'confirm',
159
+ message: i18n(`${i18nKey}.confirmUseExistingDeveloperTestAccount`, {
160
+ accountName: getNonConfigDeveloperTestAccountName(account),
161
+ }),
162
+ },
163
+ ]);
164
+ return confirmUseExistingDeveloperTestAccount;
207
165
  };
208
-
209
166
  module.exports = {
210
- selectSandboxTargetAccountPrompt,
211
- selectDeveloperTestTargetAccountPrompt,
212
- confirmDefaultAccountPrompt,
213
- confirmUseExistingDeveloperTestAccountPrompt,
167
+ selectSandboxTargetAccountPrompt,
168
+ selectDeveloperTestTargetAccountPrompt,
169
+ confirmDefaultAccountPrompt,
170
+ confirmUseExistingDeveloperTestAccountPrompt,
214
171
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,34 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
1
4
  const { promptUser } = require('./promptUtils');
2
5
  const { i18n } = require('../lang');
3
6
  const { ensureProjectExists } = require('../projects');
4
7
  const { uiAccountDescription } = require('../ui');
5
-
6
8
  const i18nKey = 'lib.prompts.projectNamePrompt';
7
-
8
9
  const projectNamePrompt = (accountId, options = {}) => {
9
- return promptUser({
10
- name: 'projectName',
11
- message: i18n(`${i18nKey}.enterName`),
12
- when: !options.project,
13
- validate: async val => {
14
- if (typeof val !== 'string' || !val) {
15
- return i18n(`${i18nKey}.errors.invalidName`);
16
- }
17
- const { projectExists } = await ensureProjectExists(accountId, val, {
18
- allowCreate: false,
19
- noLogs: true,
20
- });
21
- if (!projectExists) {
22
- return i18n(`${i18nKey}.errors.projectDoesNotExist`, {
23
- projectName: val,
24
- accountIdentifier: uiAccountDescription(accountId),
25
- });
26
- }
27
- return true;
28
- },
29
- });
10
+ return promptUser({
11
+ name: 'projectName',
12
+ message: i18n(`${i18nKey}.enterName`),
13
+ when: !options.project,
14
+ validate: async (val) => {
15
+ if (typeof val !== 'string' || !val) {
16
+ return i18n(`${i18nKey}.errors.invalidName`);
17
+ }
18
+ const { projectExists } = await ensureProjectExists(accountId, val, {
19
+ allowCreate: false,
20
+ noLogs: true,
21
+ });
22
+ if (!projectExists) {
23
+ return i18n(`${i18nKey}.errors.projectDoesNotExist`, {
24
+ projectName: val,
25
+ accountIdentifier: uiAccountDescription(accountId),
26
+ });
27
+ }
28
+ return true;
29
+ },
30
+ });
30
31
  };
31
-
32
32
  module.exports = {
33
- projectNamePrompt,
33
+ projectNamePrompt,
34
34
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,33 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
1
4
  const { i18n } = require('../lang');
2
5
  const { promptUser } = require('./promptUtils');
3
-
4
6
  const i18nKey = 'lib.prompts.projectLogsPrompt';
5
-
6
- const projectLogsPrompt = async ({
7
- functionChoices,
8
- promptOptions,
9
- projectName = {},
10
- }) => {
11
- if (!functionChoices) {
12
- return {};
13
- }
14
- if (functionChoices && functionChoices.length === 1) {
15
- return { functionName: functionChoices[0] };
16
- }
17
-
18
- return promptUser([
19
- {
20
- name: 'functionName',
21
- type: 'list',
22
- message: i18n(`${i18nKey}.functionName`, { projectName }),
23
- when: () =>
24
- (!promptOptions || !promptOptions.function) &&
25
- functionChoices.length > 0,
26
- choices: functionChoices,
27
- },
28
- ]);
7
+ const projectLogsPrompt = async ({ functionChoices, promptOptions, projectName = {}, }) => {
8
+ if (!functionChoices) {
9
+ return {};
10
+ }
11
+ if (functionChoices && functionChoices.length === 1) {
12
+ return { functionName: functionChoices[0] };
13
+ }
14
+ return promptUser([
15
+ {
16
+ name: 'functionName',
17
+ type: 'list',
18
+ message: i18n(`${i18nKey}.functionName`, { projectName }),
19
+ when: () => (!promptOptions || !promptOptions.function) &&
20
+ functionChoices.length > 0,
21
+ choices: functionChoices,
22
+ },
23
+ ]);
29
24
  };
30
-
31
25
  module.exports = {
32
- projectLogsPrompt,
26
+ projectLogsPrompt,
33
27
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,23 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
1
4
  const inquirer = require('inquirer');
2
-
3
- const promptUser = async promptConfig => {
4
- const prompt = inquirer.createPromptModule();
5
- return prompt(promptConfig);
5
+ const promptUser = async (promptConfig) => {
6
+ const prompt = inquirer.createPromptModule();
7
+ return prompt(promptConfig);
6
8
  };
7
-
8
9
  const confirmPrompt = async (message, defaultAnswer = true) => {
9
- const { choice } = await promptUser([
10
- {
11
- name: 'choice',
12
- type: 'confirm',
13
- default: defaultAnswer,
14
- message,
15
- },
16
- ]);
17
- return choice;
10
+ const { choice } = await promptUser([
11
+ {
12
+ name: 'choice',
13
+ type: 'confirm',
14
+ default: defaultAnswer,
15
+ message,
16
+ },
17
+ ]);
18
+ return choice;
18
19
  };
19
-
20
20
  module.exports = {
21
- promptUser,
22
- confirmPrompt,
21
+ promptUser,
22
+ confirmPrompt,
23
23
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,80 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
1
4
  const { promptUser } = require('./promptUtils');
2
5
  const { i18n } = require('../lang');
3
6
  const { uiAccountDescription } = require('../ui');
4
- const {
5
- HUBSPOT_ACCOUNT_TYPES,
6
- } = require('@hubspot/local-dev-lib/constants/config');
7
+ const { HUBSPOT_ACCOUNT_TYPES, } = require('@hubspot/local-dev-lib/constants/config');
7
8
  const { isSandbox } = require('../accountTypes');
8
-
9
9
  const i18nKey = 'lib.prompts.sandboxesPrompt';
10
-
11
- const mapSandboxAccountChoices = portals =>
12
- portals
10
+ const mapSandboxAccountChoices = portals => portals
13
11
  .filter(p => isSandbox(p))
14
12
  .map(p => {
15
- return {
13
+ return {
16
14
  name: uiAccountDescription(p.portalId, false),
17
15
  value: p.name || p.portalId,
18
- };
19
- });
20
-
21
- const mapNonSandboxAccountChoices = portals =>
22
- portals
16
+ };
17
+ });
18
+ const mapNonSandboxAccountChoices = portals => portals
23
19
  .filter(p => !isSandbox(p))
24
20
  .map(p => {
25
- return {
21
+ return {
26
22
  name: `${p.name} (${p.portalId})`,
27
23
  value: p.name || p.portalId,
28
- };
29
- });
30
-
24
+ };
25
+ });
31
26
  const sandboxTypePrompt = () => {
32
- return promptUser([
33
- {
34
- name: 'type',
35
- message: i18n(`${i18nKey}.type.message`),
36
- type: 'list',
37
- look: false,
38
- choices: [
27
+ return promptUser([
39
28
  {
40
- name: i18n(`${i18nKey}.type.developer`),
41
- value: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
29
+ name: 'type',
30
+ message: i18n(`${i18nKey}.type.message`),
31
+ type: 'list',
32
+ look: false,
33
+ choices: [
34
+ {
35
+ name: i18n(`${i18nKey}.type.developer`),
36
+ value: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
37
+ },
38
+ {
39
+ name: i18n(`${i18nKey}.type.standard`),
40
+ value: HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX,
41
+ },
42
+ ],
43
+ default: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
42
44
  },
43
- {
44
- name: i18n(`${i18nKey}.type.standard`),
45
- value: HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX,
46
- },
47
- ],
48
- default: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
49
- },
50
- ]);
45
+ ]);
51
46
  };
52
-
53
47
  const deleteSandboxPrompt = (config, promptParentAccount = false) => {
54
- const choices = promptParentAccount
55
- ? mapNonSandboxAccountChoices(config.portals)
56
- : mapSandboxAccountChoices(config.portals);
57
- if (!choices.length) {
58
- return undefined;
59
- }
60
- return promptUser([
61
- {
62
- name: 'account',
63
- message: i18n(
64
- promptParentAccount
65
- ? `${i18nKey}.selectParentAccountName`
66
- : `${i18nKey}.selectAccountName`
67
- ),
68
- type: 'list',
69
- look: false,
70
- pageSize: 20,
71
- choices,
72
- default: config.defaultPortal,
73
- },
74
- ]);
48
+ const choices = promptParentAccount
49
+ ? mapNonSandboxAccountChoices(config.portals)
50
+ : mapSandboxAccountChoices(config.portals);
51
+ if (!choices.length) {
52
+ return undefined;
53
+ }
54
+ return promptUser([
55
+ {
56
+ name: 'account',
57
+ message: i18n(promptParentAccount
58
+ ? `${i18nKey}.selectParentAccountName`
59
+ : `${i18nKey}.selectAccountName`),
60
+ type: 'list',
61
+ look: false,
62
+ pageSize: 20,
63
+ choices,
64
+ default: config.defaultPortal,
65
+ },
66
+ ]);
75
67
  };
76
-
77
68
  module.exports = {
78
- sandboxTypePrompt,
79
- deleteSandboxPrompt,
69
+ sandboxTypePrompt,
70
+ deleteSandboxPrompt,
80
71
  };