@hubspot/cli 6.2.1 → 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 (346) 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 -72
  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 +71 -104
  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 -178
  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/lib/DevServerManager.d.ts +35 -0
  180. package/lib/DevServerManager.js +97 -124
  181. package/lib/LocalDevManager.d.ts +41 -0
  182. package/lib/LocalDevManager.js +320 -490
  183. package/lib/accountTypes.d.ts +6 -0
  184. package/lib/accountTypes.js +16 -32
  185. package/lib/buildAccount.d.ts +22 -0
  186. package/lib/buildAccount.js +130 -179
  187. package/lib/commonOpts.d.ts +20 -0
  188. package/lib/commonOpts.js +58 -91
  189. package/lib/constants.d.ts +83 -0
  190. package/lib/constants.js +61 -71
  191. package/lib/debugInfo.d.ts +3 -0
  192. package/lib/debugInfo.js +12 -13
  193. package/lib/dependencyManagement.d.ts +7 -0
  194. package/lib/dependencyManagement.js +90 -132
  195. package/lib/developerTestAccounts.d.ts +7 -0
  196. package/lib/developerTestAccounts.js +65 -91
  197. package/lib/enums/exitCodes.d.ts +5 -0
  198. package/lib/enums/exitCodes.js +5 -7
  199. package/lib/environment.d.ts +1 -0
  200. package/lib/environment.js +10 -10
  201. package/lib/errorHandlers/index.d.ts +19 -0
  202. package/lib/errorHandlers/index.js +64 -80
  203. package/lib/errorHandlers/suppressError.d.ts +1 -0
  204. package/lib/errorHandlers/suppressError.js +64 -106
  205. package/lib/filesystem.d.ts +2 -0
  206. package/lib/filesystem.js +16 -24
  207. package/lib/generate-selectors.d.ts +6 -0
  208. package/lib/generate-selectors.js +99 -137
  209. package/lib/getFunctionArrays.d.ts +1 -0
  210. package/lib/getFunctionArrays.js +12 -13
  211. package/lib/hasFeature.d.ts +1 -0
  212. package/lib/hasFeature.js +5 -11
  213. package/lib/hasFlag.d.ts +2 -0
  214. package/lib/hasFlag.js +6 -10
  215. package/lib/hublValidate.d.ts +4 -0
  216. package/lib/hublValidate.js +20 -24
  217. package/lib/interpolation.d.ts +10 -0
  218. package/lib/interpolation.js +48 -92
  219. package/lib/interpolationHelpers.d.ts +6 -0
  220. package/lib/interpolationHelpers.js +19 -19
  221. package/lib/lang.d.ts +3 -0
  222. package/lib/lang.js +50 -78
  223. package/lib/links.d.ts +127 -0
  224. package/lib/links.js +92 -114
  225. package/lib/localDev.d.ts +11 -0
  226. package/lib/localDev.js +283 -439
  227. package/lib/marketplace-validate.d.ts +5 -0
  228. package/lib/marketplace-validate.js +103 -126
  229. package/lib/oauth.d.ts +1 -0
  230. package/lib/oauth.js +62 -78
  231. package/lib/polling.d.ts +1 -0
  232. package/lib/polling.js +24 -26
  233. package/lib/process.d.ts +2 -0
  234. package/lib/process.js +39 -53
  235. package/lib/projectLogsManager.d.ts +19 -0
  236. package/lib/projectLogsManager.js +76 -130
  237. package/lib/projectStructure.d.ts +13 -0
  238. package/lib/projectStructure.js +87 -109
  239. package/lib/projects.d.ts +40 -0
  240. package/lib/projects.js +589 -960
  241. package/lib/projectsWatch.d.ts +1 -0
  242. package/lib/projectsWatch.js +122 -228
  243. package/lib/prompts/accountNamePrompt.d.ts +11 -0
  244. package/lib/prompts/accountNamePrompt.js +58 -65
  245. package/lib/prompts/accountsPrompt.d.ts +3 -0
  246. package/lib/prompts/accountsPrompt.js +31 -37
  247. package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
  248. package/lib/prompts/activeInstallConfirmationPrompt.js +11 -13
  249. package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
  250. package/lib/prompts/cleanUploadPrompt.js +11 -13
  251. package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
  252. package/lib/prompts/cmsFieldPrompt.js +35 -39
  253. package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
  254. package/lib/prompts/createApiSamplePrompt.js +47 -52
  255. package/lib/prompts/createFunctionPrompt.d.ts +1 -0
  256. package/lib/prompts/createFunctionPrompt.js +55 -56
  257. package/lib/prompts/createModulePrompt.d.ts +1 -0
  258. package/lib/prompts/createModulePrompt.js +45 -50
  259. package/lib/prompts/createProjectPrompt.d.ts +1 -0
  260. package/lib/prompts/createProjectPrompt.js +88 -127
  261. package/lib/prompts/createTemplatePrompt.d.ts +1 -0
  262. package/lib/prompts/createTemplatePrompt.js +16 -19
  263. package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
  264. package/lib/prompts/deployBuildIdPrompt.js +13 -15
  265. package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
  266. package/lib/prompts/downloadProjectPrompt.js +36 -40
  267. package/lib/prompts/feedbackPrompt.d.ts +2 -0
  268. package/lib/prompts/feedbackPrompt.js +27 -30
  269. package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
  270. package/lib/prompts/folderOverwritePrompt.js +8 -10
  271. package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
  272. package/lib/prompts/installPublicAppPrompt.js +27 -42
  273. package/lib/prompts/personalAccessKeyPrompt.d.ts +69 -0
  274. package/lib/prompts/personalAccessKeyPrompt.js +102 -110
  275. package/lib/prompts/previewPrompt.d.ts +2 -0
  276. package/lib/prompts/previewPrompt.js +44 -47
  277. package/lib/prompts/projectAddPrompt.d.ts +1 -0
  278. package/lib/prompts/projectAddPrompt.js +35 -38
  279. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +4 -0
  280. package/lib/prompts/projectDevTargetAccountPrompt.js +148 -193
  281. package/lib/prompts/projectNamePrompt.d.ts +1 -0
  282. package/lib/prompts/projectNamePrompt.js +23 -25
  283. package/lib/prompts/projectsLogsPrompt.d.ts +5 -0
  284. package/lib/prompts/projectsLogsPrompt.js +19 -27
  285. package/lib/prompts/promptUtils.d.ts +2 -0
  286. package/lib/prompts/promptUtils.js +15 -17
  287. package/lib/prompts/sandboxesPrompt.d.ts +2 -0
  288. package/lib/prompts/sandboxesPrompt.js +48 -59
  289. package/lib/prompts/secretPrompt.d.ts +1 -0
  290. package/lib/prompts/secretPrompt.js +13 -16
  291. package/lib/prompts/selectPublicAppPrompt.d.ts +5 -0
  292. package/lib/prompts/selectPublicAppPrompt.js +55 -83
  293. package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
  294. package/lib/prompts/setAsDefaultAccountPrompt.js +17 -24
  295. package/lib/prompts/uploadPrompt.d.ts +1 -0
  296. package/lib/prompts/uploadPrompt.js +28 -30
  297. package/lib/regex.d.ts +1 -0
  298. package/lib/regex.js +2 -2
  299. package/lib/sandboxSync.d.ts +8 -0
  300. package/lib/sandboxSync.js +98 -166
  301. package/lib/sandboxes.d.ts +40 -0
  302. package/lib/sandboxes.js +199 -316
  303. package/lib/schema.d.ts +2 -0
  304. package/lib/schema.js +20 -26
  305. package/lib/serverlessLogs.d.ts +8 -0
  306. package/lib/serverlessLogs.js +128 -172
  307. package/lib/ui/SpinniesManager.d.ts +61 -0
  308. package/lib/ui/SpinniesManager.js +196 -254
  309. package/lib/ui/git.d.ts +1 -0
  310. package/lib/ui/git.js +18 -19
  311. package/lib/ui/index.d.ts +36 -0
  312. package/lib/ui/index.js +115 -167
  313. package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
  314. package/lib/ui/serverlessFunctionLogs.js +51 -70
  315. package/lib/ui/spinniesUtils.d.ts +60 -0
  316. package/lib/ui/spinniesUtils.js +109 -133
  317. package/lib/ui/supportHyperlinks.d.ts +3 -0
  318. package/lib/ui/supportHyperlinks.js +46 -61
  319. package/lib/ui/supportsColor.d.ts +13 -0
  320. package/lib/ui/supportsColor.js +78 -108
  321. package/lib/ui/table.d.ts +2 -0
  322. package/lib/ui/table.js +47 -55
  323. package/lib/upload.d.ts +1 -0
  324. package/lib/upload.js +37 -42
  325. package/lib/usageTracking.d.ts +6 -0
  326. package/lib/usageTracking.js +131 -155
  327. package/lib/validation.d.ts +16 -0
  328. package/lib/validation.js +142 -203
  329. package/package.json +78 -47
  330. package/CHANGELOG.md +0 -16
  331. package/LICENSE +0 -12
  332. package/README.md +0 -154
  333. package/commands/__tests__/projects.test.js +0 -105
  334. package/commands/project/__tests__/deploy.test.js +0 -443
  335. package/commands/project/__tests__/installDeps.test.js +0 -168
  336. package/commands/project/__tests__/logs.test.js +0 -304
  337. package/hubspot.sample.config.yml +0 -28
  338. package/jest.config.js +0 -4
  339. package/lib/__tests__/commonOpts.test.js +0 -83
  340. package/lib/__tests__/dependencyManagement.test.js +0 -243
  341. package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
  342. package/lib/__tests__/projectLogsManager.test.js +0 -212
  343. package/lib/__tests__/projects.test.js +0 -140
  344. package/lib/__tests__/serverlessLogs.test.js +0 -162
  345. package/lib/__tests__/validation.test.js +0 -140
  346. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -46
package/commands/logs.js CHANGED
@@ -1,142 +1,117 @@
1
- const {
2
- addAccountOptions,
3
- addConfigOptions,
4
- getAccountId,
5
- addUseEnvironmentOptions,
6
- } = require('../lib/commonOpts');
1
+ "use strict";
2
+ const { addAccountOptions, addConfigOptions, getAccountId, addUseEnvironmentOptions, } = require('../lib/commonOpts');
7
3
  const { trackCommandUsage } = require('../lib/usageTracking');
8
4
  const { logger } = require('@hubspot/local-dev-lib/logger');
9
5
  const { outputLogs } = require('../lib/ui/serverlessFunctionLogs');
10
- const {
11
- getFunctionLogs,
12
- getLatestFunctionLog,
13
- } = require('@hubspot/local-dev-lib/api/functions');
6
+ const { getFunctionLogs, getLatestFunctionLog, } = require('@hubspot/local-dev-lib/api/functions');
14
7
  const { tailLogs } = require('../lib/serverlessLogs');
15
8
  const { loadAndValidateOptions } = require('../lib/validation');
16
9
  const { i18n } = require('../lib/lang');
17
10
  const { EXIT_CODES } = require('../lib/enums/exitCodes');
18
11
  const { isHubSpotHttpError } = require('@hubspot/local-dev-lib/errors/index');
19
-
20
12
  const i18nKey = 'commands.logs';
21
-
22
13
  const handleLogsError = (e, accountId, functionPath) => {
23
- if (isHubSpotHttpError(e) && (e.status === 404 || e.status == 400)) {
24
- logger.error(
25
- i18n(`${i18nKey}.errors.noLogsFound`, {
26
- accountId,
27
- functionPath,
28
- })
29
- );
30
- }
14
+ if (isHubSpotHttpError(e) && (e.status === 404 || e.status == 400)) {
15
+ logger.error(i18n(`${i18nKey}.errors.noLogsFound`, {
16
+ accountId,
17
+ functionPath,
18
+ }));
19
+ }
31
20
  };
32
-
33
21
  const endpointLog = async (accountId, options) => {
34
- const { latest, follow, compact, endpoint: functionPath } = options;
35
-
36
- logger.debug(
37
- i18n(`${i18nKey}.gettingLogs`, {
38
- latest,
39
- functionPath,
40
- })
41
- );
42
-
43
- let logsResp;
44
-
45
- if (follow) {
46
- const tailCall = after =>
47
- getFunctionLogs(accountId, functionPath, { after });
48
- const fetchLatest = () => {
49
- try {
50
- return getLatestFunctionLog(accountId, functionPath);
51
- } catch (e) {
52
- handleLogsError(e, accountId, functionPath);
53
- }
54
- };
55
-
56
- await tailLogs({
57
- accountId,
58
- compact,
59
- tailCall,
60
- fetchLatest,
61
- name: functionPath,
62
- });
63
- } else if (latest) {
64
- try {
65
- const { data } = await getLatestFunctionLog(accountId, functionPath);
66
- logsResp = data;
67
- } catch (e) {
68
- handleLogsError(e, accountId, functionPath);
69
- process.exit(EXIT_CODES.ERROR);
22
+ const { latest, follow, compact, endpoint: functionPath } = options;
23
+ logger.debug(i18n(`${i18nKey}.gettingLogs`, {
24
+ latest,
25
+ functionPath,
26
+ }));
27
+ let logsResp;
28
+ if (follow) {
29
+ const tailCall = after => getFunctionLogs(accountId, functionPath, { after });
30
+ const fetchLatest = () => {
31
+ try {
32
+ return getLatestFunctionLog(accountId, functionPath);
33
+ }
34
+ catch (e) {
35
+ handleLogsError(e, accountId, functionPath);
36
+ }
37
+ };
38
+ await tailLogs({
39
+ accountId,
40
+ compact,
41
+ tailCall,
42
+ fetchLatest,
43
+ name: functionPath,
44
+ });
45
+ }
46
+ else if (latest) {
47
+ try {
48
+ const { data } = await getLatestFunctionLog(accountId, functionPath);
49
+ logsResp = data;
50
+ }
51
+ catch (e) {
52
+ handleLogsError(e, accountId, functionPath);
53
+ process.exit(EXIT_CODES.ERROR);
54
+ }
70
55
  }
71
- } else {
72
- try {
73
- const { data } = await getFunctionLogs(accountId, functionPath, options);
74
- logsResp = data;
75
- } catch (e) {
76
- handleLogsError(e, accountId, functionPath);
77
- process.exit(EXIT_CODES.ERROR);
56
+ else {
57
+ try {
58
+ const { data } = await getFunctionLogs(accountId, functionPath, options);
59
+ logsResp = data;
60
+ }
61
+ catch (e) {
62
+ handleLogsError(e, accountId, functionPath);
63
+ process.exit(EXIT_CODES.ERROR);
64
+ }
65
+ }
66
+ if (logsResp) {
67
+ return outputLogs(logsResp, options);
78
68
  }
79
- }
80
-
81
- if (logsResp) {
82
- return outputLogs(logsResp, options);
83
- }
84
69
  };
85
-
86
70
  exports.command = 'logs [endpoint]';
87
71
  exports.describe = i18n(`${i18nKey}.describe`);
88
-
89
- exports.handler = async options => {
90
- await loadAndValidateOptions(options);
91
-
92
- const { latest } = options;
93
-
94
- const accountId = getAccountId(options);
95
-
96
- trackCommandUsage('logs', { latest }, accountId);
97
-
98
- endpointLog(accountId, options);
72
+ exports.handler = async (options) => {
73
+ await loadAndValidateOptions(options);
74
+ const { latest } = options;
75
+ const accountId = getAccountId(options);
76
+ trackCommandUsage('logs', { latest }, accountId);
77
+ endpointLog(accountId, options);
99
78
  };
100
-
101
79
  exports.builder = yargs => {
102
- yargs.positional('endpoint', {
103
- describe: i18n(`${i18nKey}.positionals.endpoint.describe`),
104
- type: 'string',
105
- });
106
- yargs
107
- .options({
108
- latest: {
109
- alias: 'l',
110
- describe: i18n(`${i18nKey}.options.latest.describe`),
111
- type: 'boolean',
112
- },
113
- compact: {
114
- describe: i18n(`${i18nKey}.options.compact.describe`),
115
- type: 'boolean',
116
- },
117
- follow: {
118
- alias: ['t', 'tail', 'f'],
119
- describe: i18n(`${i18nKey}.options.follow.describe`),
120
- type: 'boolean',
121
- },
122
- limit: {
123
- alias: ['limit', 'n', 'max-count'],
124
- describe: i18n(`${i18nKey}.options.limit.describe`),
125
- type: 'number',
126
- },
80
+ yargs.positional('endpoint', {
81
+ describe: i18n(`${i18nKey}.positionals.endpoint.describe`),
82
+ type: 'string',
83
+ });
84
+ yargs
85
+ .options({
86
+ latest: {
87
+ alias: 'l',
88
+ describe: i18n(`${i18nKey}.options.latest.describe`),
89
+ type: 'boolean',
90
+ },
91
+ compact: {
92
+ describe: i18n(`${i18nKey}.options.compact.describe`),
93
+ type: 'boolean',
94
+ },
95
+ follow: {
96
+ alias: ['t', 'tail', 'f'],
97
+ describe: i18n(`${i18nKey}.options.follow.describe`),
98
+ type: 'boolean',
99
+ },
100
+ limit: {
101
+ alias: ['limit', 'n', 'max-count'],
102
+ describe: i18n(`${i18nKey}.options.limit.describe`),
103
+ type: 'number',
104
+ },
127
105
  })
128
- .conflicts('follow', 'limit')
129
- .conflicts('functionName', 'endpoint');
130
-
131
- yargs.example([
132
- ['$0 logs my-endpoint', i18n(`${i18nKey}.examples.default`)],
133
- ['$0 logs my-endpoint --limit=10', i18n(`${i18nKey}.examples.limit`)],
134
- ['$0 logs my-endpoint --follow', i18n(`${i18nKey}.examples.follow`)],
135
- ]);
136
-
137
- addConfigOptions(yargs);
138
- addAccountOptions(yargs);
139
- addUseEnvironmentOptions(yargs);
140
-
141
- return yargs;
106
+ .conflicts('follow', 'limit')
107
+ .conflicts('functionName', 'endpoint');
108
+ yargs.example([
109
+ ['$0 logs my-endpoint', i18n(`${i18nKey}.examples.default`)],
110
+ ['$0 logs my-endpoint --limit=10', i18n(`${i18nKey}.examples.limit`)],
111
+ ['$0 logs my-endpoint --follow', i18n(`${i18nKey}.examples.follow`)],
112
+ ]);
113
+ addConfigOptions(yargs);
114
+ addAccountOptions(yargs);
115
+ addUseEnvironmentOptions(yargs);
116
+ return yargs;
142
117
  };
@@ -0,0 +1,4 @@
1
+ export const command: "marketplace-validate <src>";
2
+ export const describe: any;
3
+ export function handler(options: any): Promise<never>;
4
+ export function builder(yargs: any): any;
@@ -1,67 +1,40 @@
1
+ "use strict";
1
2
  const SpinniesManager = require('../../lib/ui/SpinniesManager');
2
- const {
3
- addConfigOptions,
4
- addAccountOptions,
5
- addUseEnvironmentOptions,
6
- getAccountId,
7
- } = require('../../lib/commonOpts');
3
+ const { addConfigOptions, addAccountOptions, addUseEnvironmentOptions, getAccountId, } = require('../../lib/commonOpts');
8
4
  const { loadAndValidateOptions } = require('../../lib/validation');
9
5
  const { trackCommandUsage } = require('../../lib/usageTracking');
10
- const {
11
- kickOffValidation,
12
- pollForValidationFinish,
13
- fetchValidationResults,
14
- processValidationErrors,
15
- displayValidationResults,
16
- } = require('../../lib/marketplace-validate');
6
+ const { kickOffValidation, pollForValidationFinish, fetchValidationResults, processValidationErrors, displayValidationResults, } = require('../../lib/marketplace-validate');
17
7
  const { i18n } = require('../../lib/lang');
18
-
19
8
  const i18nKey = 'commands.module.subcommands.marketplaceValidate';
20
-
21
9
  exports.command = 'marketplace-validate <src>';
22
10
  exports.describe = i18n(`${i18nKey}.describe`);
23
-
24
- exports.handler = async options => {
25
- const { src } = options;
26
-
27
- await loadAndValidateOptions(options);
28
-
29
- const accountId = getAccountId(options);
30
-
31
- trackCommandUsage('validate', null, accountId);
32
-
33
- SpinniesManager.init();
34
-
35
- SpinniesManager.add('marketplaceValidation', {
36
- text: i18n(`${i18nKey}.logs.validatingModule`, {
37
- path: src,
38
- }),
39
- });
40
-
41
- const assetType = 'MODULE';
42
- const validationId = await kickOffValidation(accountId, assetType, src);
43
- await pollForValidationFinish(accountId, validationId);
44
-
45
- SpinniesManager.remove('marketplaceValidation');
46
-
47
- const validationResults = await fetchValidationResults(
48
- accountId,
49
- validationId
50
- );
51
- processValidationErrors(i18nKey, validationResults);
52
- displayValidationResults(i18nKey, validationResults);
53
-
54
- process.exit();
11
+ exports.handler = async (options) => {
12
+ const { src } = options;
13
+ await loadAndValidateOptions(options);
14
+ const accountId = getAccountId(options);
15
+ trackCommandUsage('validate', null, accountId);
16
+ SpinniesManager.init();
17
+ SpinniesManager.add('marketplaceValidation', {
18
+ text: i18n(`${i18nKey}.logs.validatingModule`, {
19
+ path: src,
20
+ }),
21
+ });
22
+ const assetType = 'MODULE';
23
+ const validationId = await kickOffValidation(accountId, assetType, src);
24
+ await pollForValidationFinish(accountId, validationId);
25
+ SpinniesManager.remove('marketplaceValidation');
26
+ const validationResults = await fetchValidationResults(accountId, validationId);
27
+ processValidationErrors(i18nKey, validationResults);
28
+ displayValidationResults(i18nKey, validationResults);
29
+ process.exit();
55
30
  };
56
-
57
31
  exports.builder = yargs => {
58
- addConfigOptions(yargs);
59
- addAccountOptions(yargs);
60
- addUseEnvironmentOptions(yargs);
61
-
62
- yargs.positional('src', {
63
- describe: i18n(`${i18nKey}.positionals.src.describe`),
64
- type: 'string',
65
- });
66
- return yargs;
32
+ addConfigOptions(yargs);
33
+ addAccountOptions(yargs);
34
+ addUseEnvironmentOptions(yargs);
35
+ yargs.positional('src', {
36
+ describe: i18n(`${i18nKey}.positionals.src.describe`),
37
+ type: 'string',
38
+ });
39
+ return yargs;
67
40
  };
@@ -0,0 +1,3 @@
1
+ export const command: "module";
2
+ export const describe: false;
3
+ export function builder(yargs: any): any;
@@ -1,17 +1,13 @@
1
+ "use strict";
1
2
  const marketplaceValidate = require('./module/marketplace-validate');
2
3
  const { addConfigOptions, addAccountOptions } = require('../lib/commonOpts');
3
4
  // const { i18n } = require('../lib/lang');
4
-
5
5
  // const i18nKey = 'commands.module';
6
-
7
6
  exports.command = 'module';
8
7
  exports.describe = false; //i18n(`${i18nKey}.describe`);
9
-
10
8
  exports.builder = yargs => {
11
- addConfigOptions(yargs);
12
- addAccountOptions(yargs);
13
-
14
- yargs.command(marketplaceValidate).demandCommand(1, '');
15
-
16
- return yargs;
9
+ addConfigOptions(yargs);
10
+ addAccountOptions(yargs);
11
+ yargs.command(marketplaceValidate).demandCommand(1, '');
12
+ return yargs;
17
13
  };
@@ -0,0 +1,4 @@
1
+ export const command: "mv <srcPath> <destPath>";
2
+ export const describe: string | undefined;
3
+ export function handler(options: any): Promise<void>;
4
+ export function builder(yargs: any): any;
package/commands/mv.js CHANGED
@@ -1,89 +1,69 @@
1
+ "use strict";
1
2
  const { logger } = require('@hubspot/local-dev-lib/logger');
2
3
  const { moveFile } = require('@hubspot/local-dev-lib/api/fileMapper');
3
4
  const { isSpecifiedError } = require('@hubspot/local-dev-lib/errors/index');
4
5
  const { logError, ApiErrorContext } = require('../lib/errorHandlers/index');
5
- const {
6
- addConfigOptions,
7
- addAccountOptions,
8
- addUseEnvironmentOptions,
9
- getAccountId,
10
- } = require('../lib/commonOpts');
6
+ const { addConfigOptions, addAccountOptions, addUseEnvironmentOptions, getAccountId, } = require('../lib/commonOpts');
11
7
  const { trackCommandUsage } = require('../lib/usageTracking');
12
8
  const { isPathFolder } = require('../lib/filesystem');
13
9
  const { loadAndValidateOptions } = require('../lib/validation');
14
10
  const { i18n } = require('../lib/lang');
15
11
  const { uiBetaTag } = require('../lib/ui');
16
-
17
12
  const i18nKey = 'commands.mv';
18
-
19
13
  const getCorrectedDestPath = (srcPath, destPath) => {
20
- if (!isPathFolder(srcPath)) {
21
- return destPath;
22
- }
23
-
24
- // Makes sure that nested folders are moved independently
25
- return `${destPath}/${srcPath.split('/').pop()}`;
14
+ if (!isPathFolder(srcPath)) {
15
+ return destPath;
16
+ }
17
+ // Makes sure that nested folders are moved independently
18
+ return `${destPath}/${srcPath.split('/').pop()}`;
26
19
  };
27
-
28
20
  exports.command = 'mv <srcPath> <destPath>';
29
21
  exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
30
-
31
- exports.handler = async options => {
32
- await loadAndValidateOptions(options);
33
-
34
- const { srcPath, destPath } = options;
35
- const accountId = getAccountId(options);
36
-
37
- trackCommandUsage('mv', null, accountId);
38
-
39
- try {
40
- await moveFile(accountId, srcPath, getCorrectedDestPath(srcPath, destPath));
41
- logger.success(
42
- i18n(`${i18nKey}.move`, {
43
- accountId,
44
- destPath,
45
- srcPath,
46
- })
47
- );
48
- } catch (error) {
49
- logger.error(
50
- i18n(`${i18nKey}.errors.moveFailed`, {
51
- accountId,
52
- destPath,
53
- srcPath,
54
- })
55
- );
56
- if (isSpecifiedError(error, { statusCode: 409 })) {
57
- logger.error(
58
- i18n(`${i18nKey}.errors.sourcePathExists`, {
59
- destPath,
60
- srcPath,
61
- })
62
- );
63
- } else {
64
- logError(
65
- error,
66
- new ApiErrorContext({
67
- accountId,
68
- srcPath,
69
- destPath,
70
- })
71
- );
22
+ exports.handler = async (options) => {
23
+ await loadAndValidateOptions(options);
24
+ const { srcPath, destPath } = options;
25
+ const accountId = getAccountId(options);
26
+ trackCommandUsage('mv', null, accountId);
27
+ try {
28
+ await moveFile(accountId, srcPath, getCorrectedDestPath(srcPath, destPath));
29
+ logger.success(i18n(`${i18nKey}.move`, {
30
+ accountId,
31
+ destPath,
32
+ srcPath,
33
+ }));
34
+ }
35
+ catch (error) {
36
+ logger.error(i18n(`${i18nKey}.errors.moveFailed`, {
37
+ accountId,
38
+ destPath,
39
+ srcPath,
40
+ }));
41
+ if (isSpecifiedError(error, { statusCode: 409 })) {
42
+ logger.error(i18n(`${i18nKey}.errors.sourcePathExists`, {
43
+ destPath,
44
+ srcPath,
45
+ }));
46
+ }
47
+ else {
48
+ logError(error, new ApiErrorContext({
49
+ accountId,
50
+ srcPath,
51
+ destPath,
52
+ }));
53
+ }
72
54
  }
73
- }
74
55
  };
75
-
76
56
  exports.builder = yargs => {
77
- addConfigOptions(yargs);
78
- addAccountOptions(yargs);
79
- addUseEnvironmentOptions(yargs);
80
- yargs.positional('srcPath', {
81
- describe: 'Remote hubspot path',
82
- type: 'string',
83
- });
84
- yargs.positional('destPath', {
85
- describe: 'Remote hubspot path',
86
- type: 'string',
87
- });
88
- return yargs;
57
+ addConfigOptions(yargs);
58
+ addAccountOptions(yargs);
59
+ addUseEnvironmentOptions(yargs);
60
+ yargs.positional('srcPath', {
61
+ describe: 'Remote hubspot path',
62
+ type: 'string',
63
+ });
64
+ yargs.positional('destPath', {
65
+ describe: 'Remote hubspot path',
66
+ type: 'string',
67
+ });
68
+ return yargs;
89
69
  };
@@ -0,0 +1,4 @@
1
+ export const command: "open [shortcut]";
2
+ export const describe: any;
3
+ export function handler(options: any): Promise<void>;
4
+ export function builder(yargs: any): any;
package/commands/open.js CHANGED
@@ -1,75 +1,59 @@
1
- const {
2
- addAccountOptions,
3
- addConfigOptions,
4
- getAccountId,
5
- addUseEnvironmentOptions,
6
- } = require('../lib/commonOpts');
1
+ "use strict";
2
+ const { addAccountOptions, addConfigOptions, getAccountId, addUseEnvironmentOptions, } = require('../lib/commonOpts');
7
3
  const { trackCommandUsage } = require('../lib/usageTracking');
8
4
  const { logSiteLinks, getSiteLinksAsArray, openLink } = require('../lib/links');
9
5
  const { promptUser } = require('../lib/prompts/promptUtils');
10
6
  const { i18n } = require('../lib/lang');
11
-
12
7
  const i18nKey = 'commands.open';
13
-
14
8
  const separator = ' => ';
15
- const createListPrompt = async accountId =>
16
- promptUser([
9
+ const createListPrompt = async (accountId) => promptUser([
17
10
  {
18
- type: 'rawlist',
19
- look: false,
20
- name: 'open',
21
- pageSize: 20,
22
- message: i18n(`${i18nKey}.selectLink`),
23
- choices: getSiteLinksAsArray(accountId).map(
24
- l => `${l.shortcut}${separator}${l.url}`
25
- ),
26
- filter: val => val.split(separator)[0],
11
+ type: 'rawlist',
12
+ look: false,
13
+ name: 'open',
14
+ pageSize: 20,
15
+ message: i18n(`${i18nKey}.selectLink`),
16
+ choices: getSiteLinksAsArray(accountId).map(l => `${l.shortcut}${separator}${l.url}`),
17
+ filter: val => val.split(separator)[0],
27
18
  },
28
- ]);
29
-
19
+ ]);
30
20
  exports.command = 'open [shortcut]';
31
21
  exports.describe = i18n(`${i18nKey}.describe`);
32
-
33
- exports.handler = async options => {
34
- const { shortcut, list } = options;
35
- const accountId = getAccountId(options);
36
-
37
- trackCommandUsage('open', null, accountId);
38
-
39
- if (shortcut === undefined && !list) {
40
- const choice = await createListPrompt(accountId);
41
- openLink(accountId, choice.open);
42
- } else if (list || shortcut === 'list') {
43
- logSiteLinks(accountId);
44
- return;
45
- } else {
46
- openLink(accountId, shortcut);
47
- }
22
+ exports.handler = async (options) => {
23
+ const { shortcut, list } = options;
24
+ const accountId = getAccountId(options);
25
+ trackCommandUsage('open', null, accountId);
26
+ if (shortcut === undefined && !list) {
27
+ const choice = await createListPrompt(accountId);
28
+ openLink(accountId, choice.open);
29
+ }
30
+ else if (list || shortcut === 'list') {
31
+ logSiteLinks(accountId);
32
+ return;
33
+ }
34
+ else {
35
+ openLink(accountId, shortcut);
36
+ }
48
37
  };
49
-
50
38
  exports.builder = yargs => {
51
- yargs.positional('[shortcut]', {
52
- describe: i18n(`${i18nKey}.positionals.shortcut.describe`),
53
- type: 'string',
54
- });
55
-
56
- yargs.option('list', {
57
- alias: 'l',
58
- describe: i18n(`${i18nKey}.options.list.describe`),
59
- type: 'boolean',
60
- });
61
-
62
- yargs.example([
63
- ['$0 open'],
64
- ['$0 open --list'],
65
- ['$0 open settings'],
66
- ['$0 open settings/navigation'],
67
- ['$0 open sn'],
68
- ]);
69
-
70
- addConfigOptions(yargs);
71
- addAccountOptions(yargs);
72
- addUseEnvironmentOptions(yargs);
73
-
74
- return yargs;
39
+ yargs.positional('[shortcut]', {
40
+ describe: i18n(`${i18nKey}.positionals.shortcut.describe`),
41
+ type: 'string',
42
+ });
43
+ yargs.option('list', {
44
+ alias: 'l',
45
+ describe: i18n(`${i18nKey}.options.list.describe`),
46
+ type: 'boolean',
47
+ });
48
+ yargs.example([
49
+ ['$0 open'],
50
+ ['$0 open --list'],
51
+ ['$0 open settings'],
52
+ ['$0 open settings/navigation'],
53
+ ['$0 open sn'],
54
+ ]);
55
+ addConfigOptions(yargs);
56
+ addAccountOptions(yargs);
57
+ addUseEnvironmentOptions(yargs);
58
+ return yargs;
75
59
  };
@@ -0,0 +1,4 @@
1
+ export const command: "add";
2
+ export const describe: string | undefined;
3
+ export function handler(options: any): Promise<void>;
4
+ export function builder(yargs: any): any;