@hubspot/cli 6.2.0 → 6.2.2-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 (347) hide show
  1. package/bin/cli.d.ts +2 -0
  2. package/bin/cli.js +107 -128
  3. package/commands/accounts/clean.d.ts +4 -0
  4. package/commands/accounts/clean.js +80 -116
  5. package/commands/accounts/info.d.ts +4 -0
  6. package/commands/accounts/info.js +30 -43
  7. package/commands/accounts/list.d.ts +4 -0
  8. package/commands/accounts/list.js +63 -92
  9. package/commands/accounts/remove.d.ts +4 -0
  10. package/commands/accounts/remove.js +41 -73
  11. package/commands/accounts/rename.d.ts +4 -0
  12. package/commands/accounts/rename.js +24 -41
  13. package/commands/accounts/use.d.ts +4 -0
  14. package/commands/accounts/use.js +34 -57
  15. package/commands/accounts.d.ts +3 -0
  16. package/commands/accounts.js +14 -18
  17. package/commands/auth.d.ts +4 -0
  18. package/commands/auth.js +131 -200
  19. package/commands/cms/convertFields.d.ts +4 -0
  20. package/commands/cms/convertFields.js +64 -81
  21. package/commands/cms/lighthouseScore.d.ts +4 -0
  22. package/commands/cms/lighthouseScore.js +234 -298
  23. package/commands/cms/reactModules.d.ts +4 -0
  24. package/commands/cms/reactModules.js +44 -53
  25. package/commands/cms.d.ts +3 -0
  26. package/commands/cms.js +9 -13
  27. package/commands/config/set/allowUsageTracking.d.ts +4 -0
  28. package/commands/config/set/allowUsageTracking.js +31 -38
  29. package/commands/config/set/defaultMode.d.ts +4 -0
  30. package/commands/config/set/defaultMode.js +32 -43
  31. package/commands/config/set/httpTimeout.d.ts +4 -0
  32. package/commands/config/set/httpTimeout.js +21 -30
  33. package/commands/config/set.d.ts +4 -0
  34. package/commands/config/set.js +61 -76
  35. package/commands/config.d.ts +3 -0
  36. package/commands/config.js +5 -9
  37. package/commands/create/api-sample.d.ts +13 -0
  38. package/commands/create/api-sample.js +52 -74
  39. package/commands/create/app.d.ts +10 -0
  40. package/commands/create/app.js +6 -7
  41. package/commands/create/function.d.ts +6 -0
  42. package/commands/create/function.js +13 -14
  43. package/commands/create/index.d.ts +109 -0
  44. package/commands/create/index.js +10 -9
  45. package/commands/create/module.d.ts +11 -0
  46. package/commands/create/module.js +19 -19
  47. package/commands/create/react-app.d.ts +9 -0
  48. package/commands/create/react-app.js +5 -6
  49. package/commands/create/template.d.ts +12 -0
  50. package/commands/create/template.js +21 -24
  51. package/commands/create/vue-app.d.ts +9 -0
  52. package/commands/create/vue-app.js +5 -6
  53. package/commands/create/webpack-serverless.d.ts +9 -0
  54. package/commands/create/webpack-serverless.js +5 -6
  55. package/commands/create/website-theme.d.ts +9 -0
  56. package/commands/create/website-theme.js +13 -15
  57. package/commands/create.d.ts +4 -0
  58. package/commands/create.js +62 -80
  59. package/commands/customObject/create.d.ts +4 -0
  60. package/commands/customObject/create.js +31 -47
  61. package/commands/customObject/schema/create.d.ts +4 -0
  62. package/commands/customObject/schema/create.js +40 -67
  63. package/commands/customObject/schema/delete.d.ts +4 -0
  64. package/commands/customObject/schema/delete.js +26 -39
  65. package/commands/customObject/schema/fetch-all.d.ts +4 -0
  66. package/commands/customObject/schema/fetch-all.js +28 -39
  67. package/commands/customObject/schema/fetch.d.ts +4 -0
  68. package/commands/customObject/schema/fetch.js +46 -63
  69. package/commands/customObject/schema/list.d.ts +3 -0
  70. package/commands/customObject/schema/list.js +12 -17
  71. package/commands/customObject/schema/update.d.ts +4 -0
  72. package/commands/customObject/schema/update.js +44 -72
  73. package/commands/customObject/schema.d.ts +3 -0
  74. package/commands/customObject/schema.js +10 -12
  75. package/commands/customObject.d.ts +3 -0
  76. package/commands/customObject.js +12 -22
  77. package/commands/feedback.d.ts +4 -0
  78. package/commands/feedback.js +23 -33
  79. package/commands/fetch.d.ts +4 -0
  80. package/commands/fetch.js +51 -78
  81. package/commands/filemanager/fetch.d.ts +4 -0
  82. package/commands/filemanager/fetch.js +36 -56
  83. package/commands/filemanager/upload.d.ts +4 -0
  84. package/commands/filemanager/upload.js +86 -128
  85. package/commands/filemanager.d.ts +3 -0
  86. package/commands/filemanager.js +10 -18
  87. package/commands/functions/deploy.d.ts +4 -0
  88. package/commands/functions/deploy.js +74 -99
  89. package/commands/functions/list.d.ts +4 -0
  90. package/commands/functions/list.js +29 -47
  91. package/commands/functions/server.d.ts +4 -0
  92. package/commands/functions/server.js +48 -65
  93. package/commands/functions.d.ts +3 -0
  94. package/commands/functions.js +11 -15
  95. package/commands/hubdb/clear.d.ts +4 -0
  96. package/commands/hubdb/clear.js +35 -56
  97. package/commands/hubdb/create.d.ts +4 -0
  98. package/commands/hubdb/create.js +32 -57
  99. package/commands/hubdb/delete.d.ts +4 -0
  100. package/commands/hubdb/delete.js +27 -44
  101. package/commands/hubdb/fetch.d.ts +4 -0
  102. package/commands/hubdb/fetch.js +28 -46
  103. package/commands/hubdb.d.ts +3 -0
  104. package/commands/hubdb.js +10 -14
  105. package/commands/init.d.ts +4 -0
  106. package/commands/init.js +101 -160
  107. package/commands/lint.d.ts +4 -0
  108. package/commands/lint.js +32 -45
  109. package/commands/list.d.ts +4 -0
  110. package/commands/list.js +72 -101
  111. package/commands/logs.d.ts +4 -0
  112. package/commands/logs.js +96 -121
  113. package/commands/module/marketplace-validate.d.ts +4 -0
  114. package/commands/module/marketplace-validate.js +30 -57
  115. package/commands/module.d.ts +3 -0
  116. package/commands/module.js +5 -9
  117. package/commands/mv.d.ts +4 -0
  118. package/commands/mv.js +51 -71
  119. package/commands/open.d.ts +4 -0
  120. package/commands/open.js +46 -62
  121. package/commands/project/add.d.ts +4 -0
  122. package/commands/project/add.js +45 -70
  123. package/commands/project/cloneApp.d.ts +4 -0
  124. package/commands/project/cloneApp.js +117 -180
  125. package/commands/project/create.d.ts +4 -0
  126. package/commands/project/create.js +47 -81
  127. package/commands/project/deploy.d.ts +4 -0
  128. package/commands/project/deploy.js +103 -182
  129. package/commands/project/dev.d.ts +4 -0
  130. package/commands/project/dev.js +123 -227
  131. package/commands/project/download.d.ts +4 -0
  132. package/commands/project/download.js +71 -123
  133. package/commands/project/installDeps.d.ts +6 -0
  134. package/commands/project/installDeps.js +50 -59
  135. package/commands/project/listBuilds.d.ts +4 -0
  136. package/commands/project/listBuilds.js +95 -139
  137. package/commands/project/logs.d.ts +4 -0
  138. package/commands/project/logs.js +84 -128
  139. package/commands/project/migrateApp.d.ts +4 -0
  140. package/commands/project/migrateApp.js +156 -248
  141. package/commands/project/open.d.ts +4 -0
  142. package/commands/project/open.js +42 -68
  143. package/commands/project/upload.d.ts +4 -0
  144. package/commands/project/upload.js +70 -116
  145. package/commands/project/watch.d.ts +4 -0
  146. package/commands/project/watch.js +92 -152
  147. package/commands/project.d.ts +3 -0
  148. package/commands/project.js +19 -23
  149. package/commands/remove.d.ts +4 -0
  150. package/commands/remove.js +26 -43
  151. package/commands/sandbox/create.d.ts +4 -0
  152. package/commands/sandbox/create.js +141 -187
  153. package/commands/sandbox/delete.d.ts +4 -0
  154. package/commands/sandbox/delete.js +164 -221
  155. package/commands/sandbox.d.ts +3 -0
  156. package/commands/sandbox.js +8 -12
  157. package/commands/secrets/addSecret.d.ts +4 -0
  158. package/commands/secrets/addSecret.js +32 -52
  159. package/commands/secrets/deleteSecret.d.ts +4 -0
  160. package/commands/secrets/deleteSecret.js +31 -50
  161. package/commands/secrets/listSecrets.d.ts +4 -0
  162. package/commands/secrets/listSecrets.js +26 -42
  163. package/commands/secrets/updateSecret.d.ts +4 -0
  164. package/commands/secrets/updateSecret.js +33 -53
  165. package/commands/secrets.d.ts +3 -0
  166. package/commands/secrets.js +10 -13
  167. package/commands/theme/generate-selectors.d.ts +4 -0
  168. package/commands/theme/generate-selectors.js +127 -192
  169. package/commands/theme/marketplace-validate.d.ts +4 -0
  170. package/commands/theme/marketplace-validate.js +30 -57
  171. package/commands/theme/preview.d.ts +4 -0
  172. package/commands/theme/preview.js +161 -196
  173. package/commands/theme.d.ts +3 -0
  174. package/commands/theme.js +7 -11
  175. package/commands/upload.d.ts +4 -0
  176. package/commands/upload.js +197 -287
  177. package/commands/watch.d.ts +4 -0
  178. package/commands/watch.js +126 -172
  179. package/lang/en.lyaml +2 -3
  180. package/lib/DevServerManager.d.ts +35 -0
  181. package/lib/DevServerManager.js +97 -124
  182. package/lib/LocalDevManager.d.ts +41 -0
  183. package/lib/LocalDevManager.js +320 -490
  184. package/lib/accountTypes.d.ts +6 -0
  185. package/lib/accountTypes.js +16 -32
  186. package/lib/buildAccount.d.ts +22 -0
  187. package/lib/buildAccount.js +130 -179
  188. package/lib/commonOpts.d.ts +20 -0
  189. package/lib/commonOpts.js +58 -91
  190. package/lib/constants.d.ts +83 -0
  191. package/lib/constants.js +61 -71
  192. package/lib/debugInfo.d.ts +3 -0
  193. package/lib/debugInfo.js +12 -13
  194. package/lib/dependencyManagement.d.ts +7 -0
  195. package/lib/dependencyManagement.js +90 -132
  196. package/lib/developerTestAccounts.d.ts +7 -0
  197. package/lib/developerTestAccounts.js +65 -91
  198. package/lib/enums/exitCodes.d.ts +5 -0
  199. package/lib/enums/exitCodes.js +5 -7
  200. package/lib/environment.d.ts +1 -0
  201. package/lib/environment.js +10 -10
  202. package/lib/errorHandlers/index.d.ts +19 -0
  203. package/lib/errorHandlers/index.js +64 -80
  204. package/lib/errorHandlers/suppressError.d.ts +1 -0
  205. package/lib/errorHandlers/suppressError.js +64 -106
  206. package/lib/filesystem.d.ts +2 -0
  207. package/lib/filesystem.js +16 -24
  208. package/lib/generate-selectors.d.ts +6 -0
  209. package/lib/generate-selectors.js +99 -137
  210. package/lib/getFunctionArrays.d.ts +1 -0
  211. package/lib/getFunctionArrays.js +12 -13
  212. package/lib/hasFeature.d.ts +1 -0
  213. package/lib/hasFeature.js +5 -11
  214. package/lib/hasFlag.d.ts +2 -0
  215. package/lib/hasFlag.js +6 -10
  216. package/lib/hublValidate.d.ts +4 -0
  217. package/lib/hublValidate.js +20 -24
  218. package/lib/interpolation.d.ts +10 -0
  219. package/lib/interpolation.js +48 -92
  220. package/lib/interpolationHelpers.d.ts +6 -0
  221. package/lib/interpolationHelpers.js +19 -19
  222. package/lib/lang.d.ts +3 -0
  223. package/lib/lang.js +50 -78
  224. package/lib/links.d.ts +127 -0
  225. package/lib/links.js +92 -114
  226. package/lib/localDev.d.ts +11 -0
  227. package/lib/localDev.js +283 -433
  228. package/lib/marketplace-validate.d.ts +5 -0
  229. package/lib/marketplace-validate.js +103 -126
  230. package/lib/oauth.d.ts +1 -0
  231. package/lib/oauth.js +62 -78
  232. package/lib/polling.d.ts +1 -0
  233. package/lib/polling.js +24 -26
  234. package/lib/process.d.ts +2 -0
  235. package/lib/process.js +39 -53
  236. package/lib/projectLogsManager.d.ts +19 -0
  237. package/lib/projectLogsManager.js +76 -130
  238. package/lib/projectStructure.d.ts +13 -0
  239. package/lib/projectStructure.js +87 -109
  240. package/lib/projects.d.ts +40 -0
  241. package/lib/projects.js +589 -957
  242. package/lib/projectsWatch.d.ts +1 -0
  243. package/lib/projectsWatch.js +122 -228
  244. package/lib/prompts/accountNamePrompt.d.ts +11 -0
  245. package/lib/prompts/accountNamePrompt.js +58 -65
  246. package/lib/prompts/accountsPrompt.d.ts +3 -0
  247. package/lib/prompts/accountsPrompt.js +31 -37
  248. package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
  249. package/lib/prompts/activeInstallConfirmationPrompt.js +11 -13
  250. package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
  251. package/lib/prompts/cleanUploadPrompt.js +11 -13
  252. package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
  253. package/lib/prompts/cmsFieldPrompt.js +35 -39
  254. package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
  255. package/lib/prompts/createApiSamplePrompt.js +47 -52
  256. package/lib/prompts/createFunctionPrompt.d.ts +1 -0
  257. package/lib/prompts/createFunctionPrompt.js +55 -56
  258. package/lib/prompts/createModulePrompt.d.ts +1 -0
  259. package/lib/prompts/createModulePrompt.js +45 -50
  260. package/lib/prompts/createProjectPrompt.d.ts +1 -0
  261. package/lib/prompts/createProjectPrompt.js +88 -127
  262. package/lib/prompts/createTemplatePrompt.d.ts +1 -0
  263. package/lib/prompts/createTemplatePrompt.js +16 -19
  264. package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
  265. package/lib/prompts/deployBuildIdPrompt.js +13 -15
  266. package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
  267. package/lib/prompts/downloadProjectPrompt.js +36 -40
  268. package/lib/prompts/feedbackPrompt.d.ts +2 -0
  269. package/lib/prompts/feedbackPrompt.js +27 -30
  270. package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
  271. package/lib/prompts/folderOverwritePrompt.js +8 -10
  272. package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
  273. package/lib/prompts/installPublicAppPrompt.js +27 -42
  274. package/lib/prompts/personalAccessKeyPrompt.d.ts +69 -0
  275. package/lib/prompts/personalAccessKeyPrompt.js +102 -110
  276. package/lib/prompts/previewPrompt.d.ts +2 -0
  277. package/lib/prompts/previewPrompt.js +44 -47
  278. package/lib/prompts/projectAddPrompt.d.ts +1 -0
  279. package/lib/prompts/projectAddPrompt.js +35 -38
  280. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +4 -0
  281. package/lib/prompts/projectDevTargetAccountPrompt.js +148 -193
  282. package/lib/prompts/projectNamePrompt.d.ts +1 -0
  283. package/lib/prompts/projectNamePrompt.js +23 -25
  284. package/lib/prompts/projectsLogsPrompt.d.ts +5 -0
  285. package/lib/prompts/projectsLogsPrompt.js +19 -27
  286. package/lib/prompts/promptUtils.d.ts +2 -0
  287. package/lib/prompts/promptUtils.js +15 -17
  288. package/lib/prompts/sandboxesPrompt.d.ts +2 -0
  289. package/lib/prompts/sandboxesPrompt.js +48 -59
  290. package/lib/prompts/secretPrompt.d.ts +1 -0
  291. package/lib/prompts/secretPrompt.js +13 -16
  292. package/lib/prompts/selectPublicAppPrompt.d.ts +5 -0
  293. package/lib/prompts/selectPublicAppPrompt.js +55 -81
  294. package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
  295. package/lib/prompts/setAsDefaultAccountPrompt.js +17 -24
  296. package/lib/prompts/uploadPrompt.d.ts +1 -0
  297. package/lib/prompts/uploadPrompt.js +28 -30
  298. package/lib/regex.d.ts +1 -0
  299. package/lib/regex.js +2 -2
  300. package/lib/sandboxSync.d.ts +8 -0
  301. package/lib/sandboxSync.js +98 -166
  302. package/lib/sandboxes.d.ts +40 -0
  303. package/lib/sandboxes.js +199 -316
  304. package/lib/schema.d.ts +2 -0
  305. package/lib/schema.js +20 -26
  306. package/lib/serverlessLogs.d.ts +8 -0
  307. package/lib/serverlessLogs.js +128 -172
  308. package/lib/ui/SpinniesManager.d.ts +61 -0
  309. package/lib/ui/SpinniesManager.js +196 -254
  310. package/lib/ui/git.d.ts +1 -0
  311. package/lib/ui/git.js +18 -19
  312. package/lib/ui/index.d.ts +36 -0
  313. package/lib/ui/index.js +115 -167
  314. package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
  315. package/lib/ui/serverlessFunctionLogs.js +51 -70
  316. package/lib/ui/spinniesUtils.d.ts +60 -0
  317. package/lib/ui/spinniesUtils.js +109 -133
  318. package/lib/ui/supportHyperlinks.d.ts +3 -0
  319. package/lib/ui/supportHyperlinks.js +46 -61
  320. package/lib/ui/supportsColor.d.ts +13 -0
  321. package/lib/ui/supportsColor.js +78 -108
  322. package/lib/ui/table.d.ts +2 -0
  323. package/lib/ui/table.js +47 -55
  324. package/lib/upload.d.ts +1 -0
  325. package/lib/upload.js +37 -42
  326. package/lib/usageTracking.d.ts +6 -0
  327. package/lib/usageTracking.js +131 -155
  328. package/lib/validation.d.ts +16 -0
  329. package/lib/validation.js +142 -203
  330. package/package.json +78 -48
  331. package/CHANGELOG.md +0 -16
  332. package/LICENSE +0 -12
  333. package/README.md +0 -154
  334. package/commands/__tests__/projects.test.js +0 -105
  335. package/commands/project/__tests__/deploy.test.js +0 -443
  336. package/commands/project/__tests__/installDeps.test.js +0 -168
  337. package/commands/project/__tests__/logs.test.js +0 -304
  338. package/hubspot.sample.config.yml +0 -28
  339. package/jest.config.js +0 -4
  340. package/lib/__tests__/commonOpts.test.js +0 -83
  341. package/lib/__tests__/dependencyManagement.test.js +0 -243
  342. package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
  343. package/lib/__tests__/projectLogsManager.test.js +0 -212
  344. package/lib/__tests__/projects.test.js +0 -140
  345. package/lib/__tests__/serverlessLogs.test.js +0 -162
  346. package/lib/__tests__/validation.test.js +0 -140
  347. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -46
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Displays notification to user that we are about to open the browser,
3
+ * then opens their browser to the personal-access-key shortlink
4
+ */
5
+ export function personalAccessKeyPrompt({ env, account }?: {}): Promise<{
6
+ personalAccessKey: any;
7
+ env: any;
8
+ }>;
9
+ export namespace CLIENT_ID {
10
+ let name: string;
11
+ let message: any;
12
+ function validate(val: any): any;
13
+ }
14
+ export namespace CLIENT_SECRET {
15
+ let name_1: string;
16
+ export { name_1 as name };
17
+ let message_1: any;
18
+ export { message_1 as message };
19
+ export function validate(val: any): any;
20
+ }
21
+ export namespace ACCOUNT_ID {
22
+ let name_2: string;
23
+ export { name_2 as name };
24
+ let message_2: any;
25
+ export { message_2 as message };
26
+ export let type: string;
27
+ export function validate(val: any): any;
28
+ }
29
+ export namespace SCOPES {
30
+ let type_1: string;
31
+ export { type_1 as type };
32
+ let name_3: string;
33
+ export { name_3 as name };
34
+ let message_3: any;
35
+ export { message_3 as message };
36
+ export { DEFAULT_OAUTH_SCOPES as default };
37
+ export { OAUTH_SCOPES as choices };
38
+ }
39
+ export namespace PERSONAL_ACCESS_KEY {
40
+ let name_4: string;
41
+ export { name_4 as name };
42
+ let message_4: any;
43
+ export { message_4 as message };
44
+ export function transformer(val: any): any;
45
+ export function validate(val: any): any;
46
+ }
47
+ export const OAUTH_FLOW: ({
48
+ name: string;
49
+ message: any;
50
+ validate(val: any): any;
51
+ } | {
52
+ type: string;
53
+ name: string;
54
+ message: any;
55
+ default: readonly ["content"];
56
+ choices: readonly [{
57
+ readonly name: "All CMS APIs, Calendar API, Email and Email Events APIs";
58
+ readonly value: "content";
59
+ readonly checked: true;
60
+ }, {
61
+ readonly name: "HubDB API";
62
+ readonly value: "hubdb";
63
+ }, {
64
+ readonly name: "File Manager API";
65
+ readonly value: "files";
66
+ }];
67
+ })[];
68
+ import { DEFAULT_OAUTH_SCOPES } from "@hubspot/local-dev-lib/constants/auth";
69
+ import { OAUTH_SCOPES } from "@hubspot/local-dev-lib/constants/auth";
@@ -1,8 +1,6 @@
1
+ "use strict";
1
2
  const open = require('open');
2
- const {
3
- OAUTH_SCOPES,
4
- DEFAULT_OAUTH_SCOPES,
5
- } = require('@hubspot/local-dev-lib/constants/auth');
3
+ const { OAUTH_SCOPES, DEFAULT_OAUTH_SCOPES, } = require('@hubspot/local-dev-lib/constants/auth');
6
4
  const { deleteEmptyConfigFile } = require('@hubspot/local-dev-lib/config');
7
5
  const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
8
6
  const { logger } = require('@hubspot/local-dev-lib/logger');
@@ -11,133 +9,127 @@ const { getCliAccountNamePromptConfig } = require('./accountNamePrompt');
11
9
  const { i18n } = require('../lang');
12
10
  const { uiInfoSection } = require('../ui');
13
11
  const { EXIT_CODES } = require('../enums/exitCodes');
14
-
15
12
  const i18nKey = 'lib.prompts.personalAccessKeyPrompt';
16
-
17
13
  /**
18
14
  * Displays notification to user that we are about to open the browser,
19
15
  * then opens their browser to the personal-access-key shortlink
20
16
  */
21
17
  const personalAccessKeyPrompt = async ({ env, account } = {}) => {
22
- const websiteOrigin = getHubSpotWebsiteOrigin(env);
23
- let url = `${websiteOrigin}/l/personal-access-key`;
24
- if (process.env.BROWSER !== 'none') {
25
- uiInfoSection(i18n(`${i18nKey}.personalAccessKeySetupTitle`), () => {
26
- logger.log(i18n(`${i18nKey}.personalAccessKeyBrowserOpenPrep`));
27
- });
28
- if (account) {
29
- url = `${websiteOrigin}/personal-access-key/${account}`;
18
+ const websiteOrigin = getHubSpotWebsiteOrigin(env);
19
+ let url = `${websiteOrigin}/l/personal-access-key`;
20
+ if (process.env.BROWSER !== 'none') {
21
+ uiInfoSection(i18n(`${i18nKey}.personalAccessKeySetupTitle`), () => {
22
+ logger.log(i18n(`${i18nKey}.personalAccessKeyBrowserOpenPrep`));
23
+ });
24
+ if (account) {
25
+ url = `${websiteOrigin}/personal-access-key/${account}`;
26
+ }
27
+ const { personalAcessKeyBrowserOpenPrep: shouldOpen } = await promptUser([
28
+ PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP,
29
+ ]);
30
+ if (shouldOpen) {
31
+ open(url, { url: true });
32
+ }
33
+ else {
34
+ deleteEmptyConfigFile();
35
+ process.exit(EXIT_CODES.SUCCESS);
36
+ }
30
37
  }
31
- const { personalAcessKeyBrowserOpenPrep: shouldOpen } = await promptUser([
32
- PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP,
33
- ]);
34
- if (shouldOpen) {
35
- open(url, { url: true });
36
- } else {
37
- deleteEmptyConfigFile();
38
- process.exit(EXIT_CODES.SUCCESS);
39
- }
40
- }
41
-
42
- logger.log(i18n(`${i18nKey}.logs.openingWebBrowser`, { url }));
43
- const { personalAccessKey } = await promptUser(PERSONAL_ACCESS_KEY);
44
-
45
- return {
46
- personalAccessKey,
47
- env,
48
- };
38
+ logger.log(i18n(`${i18nKey}.logs.openingWebBrowser`, { url }));
39
+ const { personalAccessKey } = await promptUser(PERSONAL_ACCESS_KEY);
40
+ return {
41
+ personalAccessKey,
42
+ env,
43
+ };
49
44
  };
50
-
51
45
  const ACCOUNT_ID = {
52
- name: 'accountId',
53
- message: i18n(`${i18nKey}.enterAccountId`),
54
- type: 'number',
55
- validate(val) {
56
- if (!Number.isNaN(val) && val > 0) {
57
- return true;
58
- }
59
- return i18n(`${i18nKey}.errors.invalidAccountId`);
60
- },
46
+ name: 'accountId',
47
+ message: i18n(`${i18nKey}.enterAccountId`),
48
+ type: 'number',
49
+ validate(val) {
50
+ if (!Number.isNaN(val) && val > 0) {
51
+ return true;
52
+ }
53
+ return i18n(`${i18nKey}.errors.invalidAccountId`);
54
+ },
61
55
  };
62
-
63
56
  const CLIENT_ID = {
64
- name: 'clientId',
65
- message: i18n(`${i18nKey}.enterClientId`),
66
- validate(val) {
67
- if (typeof val !== 'string') {
68
- return i18n(`${i18nKey}.errors.invalidOauthClientId`);
69
- } else if (val.length !== 36) {
70
- return i18n(`${i18nKey}.errors.invalidOauthClientIdLength`);
71
- }
72
- return true;
73
- },
57
+ name: 'clientId',
58
+ message: i18n(`${i18nKey}.enterClientId`),
59
+ validate(val) {
60
+ if (typeof val !== 'string') {
61
+ return i18n(`${i18nKey}.errors.invalidOauthClientId`);
62
+ }
63
+ else if (val.length !== 36) {
64
+ return i18n(`${i18nKey}.errors.invalidOauthClientIdLength`);
65
+ }
66
+ return true;
67
+ },
74
68
  };
75
-
76
69
  const CLIENT_SECRET = {
77
- name: 'clientSecret',
78
- message: i18n(`${i18nKey}.enterClientSecret`),
79
- validate(val) {
80
- if (typeof val !== 'string') {
81
- return i18n(`${i18nKey}.errors.invalidOauthClientSecret`);
82
- } else if (val.length !== 36) {
83
- return i18n(`${i18nKey}.errors.invalidOauthClientSecretLength`);
84
- } else if (val[0] === '*') {
85
- return i18n(`${i18nKey}.errors.invalidOauthClientSecretCopy`);
86
- }
87
- return true;
88
- },
70
+ name: 'clientSecret',
71
+ message: i18n(`${i18nKey}.enterClientSecret`),
72
+ validate(val) {
73
+ if (typeof val !== 'string') {
74
+ return i18n(`${i18nKey}.errors.invalidOauthClientSecret`);
75
+ }
76
+ else if (val.length !== 36) {
77
+ return i18n(`${i18nKey}.errors.invalidOauthClientSecretLength`);
78
+ }
79
+ else if (val[0] === '*') {
80
+ return i18n(`${i18nKey}.errors.invalidOauthClientSecretCopy`);
81
+ }
82
+ return true;
83
+ },
89
84
  };
90
-
91
85
  const PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP = {
92
- name: 'personalAcessKeyBrowserOpenPrep',
93
- type: 'confirm',
94
- message: i18n(`${i18nKey}.personalAccessKeyBrowserOpenPrompt`),
86
+ name: 'personalAcessKeyBrowserOpenPrep',
87
+ type: 'confirm',
88
+ message: i18n(`${i18nKey}.personalAccessKeyBrowserOpenPrompt`),
95
89
  };
96
-
97
90
  const PERSONAL_ACCESS_KEY = {
98
- name: 'personalAccessKey',
99
- message: i18n(`${i18nKey}.enterPersonalAccessKey`),
100
- transformer: val => {
101
- if (!val) return val;
102
- let res = '';
103
- for (let i = 0; i < val.length; i++) {
104
- res += '*';
105
- }
106
- return res;
107
- },
108
- validate(val) {
109
- if (!val || typeof val !== 'string') {
110
- return i18n(`${i18nKey}.errors.invalidPersonalAccessKey`);
111
- } else if (val[0] === '•') {
112
- return i18n(`${i18nKey}.errors.invalidPersonalAccessKeyCopy`);
113
- }
114
- return true;
115
- },
91
+ name: 'personalAccessKey',
92
+ message: i18n(`${i18nKey}.enterPersonalAccessKey`),
93
+ transformer: val => {
94
+ if (!val)
95
+ return val;
96
+ let res = '';
97
+ for (let i = 0; i < val.length; i++) {
98
+ res += '*';
99
+ }
100
+ return res;
101
+ },
102
+ validate(val) {
103
+ if (!val || typeof val !== 'string') {
104
+ return i18n(`${i18nKey}.errors.invalidPersonalAccessKey`);
105
+ }
106
+ else if (val[0] === '•') {
107
+ return i18n(`${i18nKey}.errors.invalidPersonalAccessKeyCopy`);
108
+ }
109
+ return true;
110
+ },
116
111
  };
117
-
118
112
  const SCOPES = {
119
- type: 'checkbox',
120
- name: 'scopes',
121
- message: i18n(`${i18nKey}.selectScopes`),
122
- default: DEFAULT_OAUTH_SCOPES,
123
- choices: OAUTH_SCOPES,
113
+ type: 'checkbox',
114
+ name: 'scopes',
115
+ message: i18n(`${i18nKey}.selectScopes`),
116
+ default: DEFAULT_OAUTH_SCOPES,
117
+ choices: OAUTH_SCOPES,
124
118
  };
125
-
126
119
  const OAUTH_FLOW = [
127
- getCliAccountNamePromptConfig(),
128
- ACCOUNT_ID,
129
- CLIENT_ID,
130
- CLIENT_SECRET,
131
- SCOPES,
120
+ getCliAccountNamePromptConfig(),
121
+ ACCOUNT_ID,
122
+ CLIENT_ID,
123
+ CLIENT_SECRET,
124
+ SCOPES,
132
125
  ];
133
-
134
126
  module.exports = {
135
- personalAccessKeyPrompt,
136
- CLIENT_ID,
137
- CLIENT_SECRET,
138
- ACCOUNT_ID,
139
- SCOPES,
140
- PERSONAL_ACCESS_KEY,
141
- // Flows
142
- OAUTH_FLOW,
127
+ personalAccessKeyPrompt,
128
+ CLIENT_ID,
129
+ CLIENT_SECRET,
130
+ ACCOUNT_ID,
131
+ SCOPES,
132
+ PERSONAL_ACCESS_KEY,
133
+ // Flows
134
+ OAUTH_FLOW,
143
135
  };
@@ -0,0 +1,2 @@
1
+ export function previewPrompt(promptOptions?: {}): Promise<any>;
2
+ export function previewProjectPrompt(themeComponents: any): Promise<any>;
@@ -1,57 +1,54 @@
1
+ "use strict";
1
2
  const path = require('path');
2
3
  const { getCwd } = require('@hubspot/local-dev-lib/path');
3
4
  const { promptUser } = require('./promptUtils');
4
5
  const { i18n } = require('../lang');
5
-
6
6
  const i18nKey = 'lib.prompts.previewPrompt';
7
-
8
7
  const previewPrompt = (promptOptions = {}) => {
9
- return promptUser([
10
- {
11
- name: 'src',
12
- message: i18n(`${i18nKey}.enterSrc`),
13
- when: !promptOptions.src,
14
- default: '.',
15
- validate: input => {
16
- if (!input) {
17
- return i18n(`${i18nKey}.errors.srcRequired`);
18
- }
19
- return true;
20
- },
21
- },
22
- {
23
- name: 'dest',
24
- message: i18n(`${i18nKey}.enterDest`),
25
- when: !promptOptions.dest,
26
- default: path.basename(getCwd()),
27
- validate: input => {
28
- if (!input) {
29
- return i18n(`${i18nKey}.errors.destRequired`);
30
- }
31
- return true;
32
- },
33
- },
34
- ]);
8
+ return promptUser([
9
+ {
10
+ name: 'src',
11
+ message: i18n(`${i18nKey}.enterSrc`),
12
+ when: !promptOptions.src,
13
+ default: '.',
14
+ validate: input => {
15
+ if (!input) {
16
+ return i18n(`${i18nKey}.errors.srcRequired`);
17
+ }
18
+ return true;
19
+ },
20
+ },
21
+ {
22
+ name: 'dest',
23
+ message: i18n(`${i18nKey}.enterDest`),
24
+ when: !promptOptions.dest,
25
+ default: path.basename(getCwd()),
26
+ validate: input => {
27
+ if (!input) {
28
+ return i18n(`${i18nKey}.errors.destRequired`);
29
+ }
30
+ return true;
31
+ },
32
+ },
33
+ ]);
35
34
  };
36
-
37
- const previewProjectPrompt = async themeComponents => {
38
- return promptUser([
39
- {
40
- name: 'themeComponentPath',
41
- message: i18n(`${i18nKey}.themeProjectSelect`),
42
- type: 'list',
43
- choices: themeComponents.map(t => {
44
- const themeName = path.basename(t.path);
45
- return {
46
- name: themeName,
47
- value: t.path,
48
- };
49
- }),
50
- },
51
- ]);
35
+ const previewProjectPrompt = async (themeComponents) => {
36
+ return promptUser([
37
+ {
38
+ name: 'themeComponentPath',
39
+ message: i18n(`${i18nKey}.themeProjectSelect`),
40
+ type: 'list',
41
+ choices: themeComponents.map(t => {
42
+ const themeName = path.basename(t.path);
43
+ return {
44
+ name: themeName,
45
+ value: t.path,
46
+ };
47
+ }),
48
+ },
49
+ ]);
52
50
  };
53
-
54
51
  module.exports = {
55
- previewPrompt,
56
- previewProjectPrompt,
52
+ previewPrompt,
53
+ previewProjectPrompt,
57
54
  };
@@ -0,0 +1 @@
1
+ export function projectAddPrompt(components: any, promptOptions?: {}): Promise<any>;
@@ -1,45 +1,42 @@
1
+ "use strict";
1
2
  const { promptUser } = require('./promptUtils');
2
3
  const { i18n } = require('../lang');
3
-
4
4
  const i18nKey = 'lib.prompts.projectAddPrompt';
5
-
6
5
  const projectAddPrompt = async (components, promptOptions = {}) => {
7
- return promptUser([
8
- {
9
- name: 'component',
10
- message: () => {
11
- return promptOptions.type &&
12
- !components.find(t => t.path === promptOptions.type)
13
- ? i18n(`${i18nKey}.errors.invalidType`, {
14
- type: promptOptions.type,
15
- })
16
- : i18n(`${i18nKey}.selectType`);
17
- },
18
- when:
19
- !promptOptions.type ||
20
- !components.find(t => t.path === promptOptions.type),
21
- type: 'list',
22
- choices: components.map(type => {
23
- return {
24
- name: type.label,
25
- value: type,
26
- };
27
- }),
28
- },
29
- {
30
- name: 'name',
31
- message: i18n(`${i18nKey}.enterName`),
32
- when: !promptOptions.name,
33
- validate: input => {
34
- if (!input) {
35
- return i18n(`${i18nKey}.errors.nameRequired`);
36
- }
37
- return true;
38
- },
39
- },
40
- ]);
6
+ return promptUser([
7
+ {
8
+ name: 'component',
9
+ message: () => {
10
+ return promptOptions.type &&
11
+ !components.find(t => t.path === promptOptions.type)
12
+ ? i18n(`${i18nKey}.errors.invalidType`, {
13
+ type: promptOptions.type,
14
+ })
15
+ : i18n(`${i18nKey}.selectType`);
16
+ },
17
+ when: !promptOptions.type ||
18
+ !components.find(t => t.path === promptOptions.type),
19
+ type: 'list',
20
+ choices: components.map(type => {
21
+ return {
22
+ name: type.label,
23
+ value: type,
24
+ };
25
+ }),
26
+ },
27
+ {
28
+ name: 'name',
29
+ message: i18n(`${i18nKey}.enterName`),
30
+ when: !promptOptions.name,
31
+ validate: input => {
32
+ if (!input) {
33
+ return i18n(`${i18nKey}.errors.nameRequired`);
34
+ }
35
+ return true;
36
+ },
37
+ },
38
+ ]);
41
39
  };
42
-
43
40
  module.exports = {
44
- projectAddPrompt,
41
+ projectAddPrompt,
45
42
  };
@@ -0,0 +1,4 @@
1
+ export function selectSandboxTargetAccountPrompt(accounts: any, defaultAccountConfig: any): Promise<any>;
2
+ export function selectDeveloperTestTargetAccountPrompt(accounts: any, defaultAccountConfig: any): Promise<any>;
3
+ export function confirmDefaultAccountPrompt(accountName: any, accountType: any): Promise<any>;
4
+ export function confirmUseExistingDeveloperTestAccountPrompt(account: any): Promise<any>;