@hubspot/cli 7.7.21-experimental.0 → 7.7.21-experimental.1

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 (570) hide show
  1. package/api/__tests__/migrate.test.js +29 -27
  2. package/api/migrate.js +22 -14
  3. package/bin/cli.js +101 -92
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +2 -1
  7. package/commands/__tests__/account.test.js +34 -29
  8. package/commands/__tests__/auth.test.js +16 -11
  9. package/commands/__tests__/cms.test.js +20 -15
  10. package/commands/__tests__/config.test.js +19 -14
  11. package/commands/__tests__/create.test.js +15 -10
  12. package/commands/__tests__/customObject.test.js +19 -14
  13. package/commands/__tests__/doctor.test.js +48 -43
  14. package/commands/__tests__/feedback.test.js +45 -7
  15. package/commands/__tests__/fetch.test.js +28 -29
  16. package/commands/__tests__/filemanager.test.js +19 -14
  17. package/commands/__tests__/function.test.js +21 -16
  18. package/commands/__tests__/getStarted.test.js +50 -55
  19. package/commands/__tests__/hubdb.test.js +22 -17
  20. package/commands/__tests__/init.test.js +17 -12
  21. package/commands/__tests__/lint.test.js +18 -13
  22. package/commands/__tests__/list.test.js +23 -18
  23. package/commands/__tests__/logs.test.js +27 -28
  24. package/commands/__tests__/mcp.test.js +19 -14
  25. package/commands/__tests__/mv.test.js +52 -14
  26. package/commands/__tests__/open.test.js +51 -13
  27. package/commands/__tests__/project.test.js +49 -44
  28. package/commands/__tests__/remove.test.js +51 -13
  29. package/commands/__tests__/sandbox.test.js +19 -14
  30. package/commands/__tests__/secret.test.js +21 -16
  31. package/commands/__tests__/testAccount.test.js +21 -16
  32. package/commands/__tests__/theme.test.js +20 -15
  33. package/commands/account/__tests__/auth.test.js +16 -11
  34. package/commands/account/__tests__/clean.test.js +17 -12
  35. package/commands/account/__tests__/createOverride.test.js +15 -10
  36. package/commands/account/__tests__/info.test.js +16 -11
  37. package/commands/account/__tests__/list.test.js +16 -11
  38. package/commands/account/__tests__/remove.test.js +18 -13
  39. package/commands/account/__tests__/removeOverride.js +13 -8
  40. package/commands/account/__tests__/rename.test.js +20 -15
  41. package/commands/account/__tests__/use.test.js +15 -10
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +67 -65
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +60 -55
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +57 -52
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +35 -33
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +45 -43
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +42 -37
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +43 -38
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +20 -18
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +31 -29
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +28 -23
  62. package/commands/app/__tests__/install.test.js +52 -0
  63. package/commands/app/__tests__/migrate.test.js +34 -29
  64. package/commands/app/install.d.ts +8 -0
  65. package/commands/app/install.js +127 -0
  66. package/commands/app/migrate.d.ts +2 -2
  67. package/commands/app/migrate.js +43 -40
  68. package/commands/app/secret/__tests__/add.test.js +11 -6
  69. package/commands/app/secret/__tests__/delete.test.js +11 -6
  70. package/commands/app/secret/__tests__/list.test.js +11 -6
  71. package/commands/app/secret/__tests__/update.test.js +11 -6
  72. package/commands/app/secret/add.d.ts +1 -1
  73. package/commands/app/secret/add.js +30 -28
  74. package/commands/app/secret/delete.d.ts +1 -1
  75. package/commands/app/secret/delete.js +36 -34
  76. package/commands/app/secret/list.d.ts +1 -1
  77. package/commands/app/secret/list.js +27 -25
  78. package/commands/app/secret/update.d.ts +1 -1
  79. package/commands/app/secret/update.js +34 -32
  80. package/commands/app/secret.d.ts +1 -1
  81. package/commands/app/secret.js +17 -12
  82. package/commands/app.d.ts +1 -1
  83. package/commands/app.js +16 -6
  84. package/commands/auth.d.ts +1 -1
  85. package/commands/auth.js +72 -70
  86. package/commands/cms/convertFields.d.ts +1 -1
  87. package/commands/cms/convertFields.js +39 -34
  88. package/commands/cms/getReactModule.d.ts +1 -1
  89. package/commands/cms/getReactModule.js +37 -32
  90. package/commands/cms/lighthouseScore.d.ts +1 -1
  91. package/commands/cms/lighthouseScore.js +72 -67
  92. package/commands/cms.d.ts +1 -1
  93. package/commands/cms.js +16 -11
  94. package/commands/completion.d.ts +1 -1
  95. package/commands/completion.js +15 -10
  96. package/commands/config/migrate.d.ts +1 -1
  97. package/commands/config/migrate.js +32 -27
  98. package/commands/config/set.d.ts +1 -1
  99. package/commands/config/set.js +25 -23
  100. package/commands/config.d.ts +1 -1
  101. package/commands/config.js +13 -8
  102. package/commands/create/api-sample.d.ts +1 -1
  103. package/commands/create/api-sample.js +33 -28
  104. package/commands/create/app.d.ts +1 -1
  105. package/commands/create/app.js +5 -3
  106. package/commands/create/function.d.ts +1 -1
  107. package/commands/create/function.js +11 -9
  108. package/commands/create/index.d.ts +1 -1
  109. package/commands/create/index.js +24 -19
  110. package/commands/create/module.d.ts +1 -1
  111. package/commands/create/module.js +14 -12
  112. package/commands/create/react-app.d.ts +1 -1
  113. package/commands/create/react-app.js +5 -3
  114. package/commands/create/template.d.ts +1 -1
  115. package/commands/create/template.js +14 -12
  116. package/commands/create/vue-app.d.ts +1 -1
  117. package/commands/create/vue-app.js +5 -3
  118. package/commands/create/webpack-serverless.d.ts +1 -1
  119. package/commands/create/webpack-serverless.js +5 -3
  120. package/commands/create/website-theme.d.ts +1 -1
  121. package/commands/create/website-theme.js +7 -5
  122. package/commands/create.d.ts +2 -2
  123. package/commands/create.js +35 -30
  124. package/commands/customObject/__tests__/create.test.js +18 -13
  125. package/commands/customObject/__tests__/schema.test.js +23 -18
  126. package/commands/customObject/create.d.ts +1 -1
  127. package/commands/customObject/create.js +30 -28
  128. package/commands/customObject/schema/__tests__/create.test.js +18 -13
  129. package/commands/customObject/schema/__tests__/delete.test.js +18 -13
  130. package/commands/customObject/schema/__tests__/fetch-all.test.js +18 -13
  131. package/commands/customObject/schema/__tests__/fetch.test.js +18 -13
  132. package/commands/customObject/schema/__tests__/list.test.js +18 -13
  133. package/commands/customObject/schema/__tests__/update.test.js +18 -13
  134. package/commands/customObject/schema/create.d.ts +1 -1
  135. package/commands/customObject/schema/create.js +30 -28
  136. package/commands/customObject/schema/delete.d.ts +1 -1
  137. package/commands/customObject/schema/delete.js +26 -24
  138. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  139. package/commands/customObject/schema/fetch-all.js +24 -22
  140. package/commands/customObject/schema/fetch.d.ts +1 -1
  141. package/commands/customObject/schema/fetch.js +26 -24
  142. package/commands/customObject/schema/list.d.ts +1 -1
  143. package/commands/customObject/schema/list.js +15 -13
  144. package/commands/customObject/schema/update.d.ts +1 -1
  145. package/commands/customObject/schema/update.js +34 -32
  146. package/commands/customObject/schema.d.ts +1 -1
  147. package/commands/customObject/schema.js +22 -17
  148. package/commands/customObject.d.ts +1 -1
  149. package/commands/customObject.js +18 -13
  150. package/commands/doctor.d.ts +1 -1
  151. package/commands/doctor.js +33 -28
  152. package/commands/feedback.d.ts +1 -1
  153. package/commands/feedback.js +24 -19
  154. package/commands/fetch.d.ts +1 -1
  155. package/commands/fetch.js +30 -28
  156. package/commands/filemanager/__tests__/fetch.test.js +22 -17
  157. package/commands/filemanager/__tests__/upload.test.js +20 -15
  158. package/commands/filemanager/fetch.d.ts +1 -1
  159. package/commands/filemanager/fetch.js +25 -23
  160. package/commands/filemanager/upload.d.ts +1 -1
  161. package/commands/filemanager/upload.js +44 -39
  162. package/commands/filemanager.d.ts +1 -1
  163. package/commands/filemanager.js +13 -8
  164. package/commands/function/deploy.d.ts +1 -1
  165. package/commands/function/deploy.js +40 -35
  166. package/commands/function/list.d.ts +1 -1
  167. package/commands/function/list.js +29 -24
  168. package/commands/function/server.d.ts +1 -1
  169. package/commands/function/server.js +17 -15
  170. package/commands/function.d.ts +1 -1
  171. package/commands/function.js +18 -12
  172. package/commands/getStarted.d.ts +1 -1
  173. package/commands/getStarted.js +131 -140
  174. package/commands/hubdb/__tests__/clear.test.js +18 -13
  175. package/commands/hubdb/__tests__/create.test.js +18 -13
  176. package/commands/hubdb/__tests__/delete.test.js +18 -13
  177. package/commands/hubdb/__tests__/fetch.test.js +18 -13
  178. package/commands/hubdb/__tests__/list.test.js +28 -23
  179. package/commands/hubdb/clear.d.ts +1 -1
  180. package/commands/hubdb/clear.js +22 -20
  181. package/commands/hubdb/create.d.ts +1 -1
  182. package/commands/hubdb/create.js +35 -30
  183. package/commands/hubdb/delete.d.ts +1 -1
  184. package/commands/hubdb/delete.js +26 -24
  185. package/commands/hubdb/fetch.d.ts +1 -1
  186. package/commands/hubdb/fetch.js +19 -17
  187. package/commands/hubdb/list.d.ts +1 -1
  188. package/commands/hubdb/list.js +35 -33
  189. package/commands/hubdb.d.ts +1 -1
  190. package/commands/hubdb.js +24 -18
  191. package/commands/init.d.ts +1 -1
  192. package/commands/init.js +88 -83
  193. package/commands/lint.d.ts +1 -1
  194. package/commands/lint.js +26 -24
  195. package/commands/list.d.ts +1 -1
  196. package/commands/list.js +37 -32
  197. package/commands/logs.d.ts +1 -1
  198. package/commands/logs.js +37 -35
  199. package/commands/mcp/__tests__/setup.test.js +12 -7
  200. package/commands/mcp/__tests__/start.test.js +12 -7
  201. package/commands/mcp/setup.d.ts +1 -1
  202. package/commands/mcp/setup.js +20 -17
  203. package/commands/mcp/start.d.ts +5 -2
  204. package/commands/mcp/start.js +41 -31
  205. package/commands/mcp.d.ts +1 -1
  206. package/commands/mcp.js +12 -7
  207. package/commands/module/marketplace-validate.d.ts +1 -1
  208. package/commands/module/marketplace-validate.js +26 -21
  209. package/commands/module.d.ts +1 -1
  210. package/commands/module.js +13 -7
  211. package/commands/mv.d.ts +1 -1
  212. package/commands/mv.js +22 -20
  213. package/commands/open.d.ts +1 -1
  214. package/commands/open.js +21 -19
  215. package/commands/project/__tests__/add.test.js +15 -10
  216. package/commands/project/__tests__/create.test.js +19 -14
  217. package/commands/project/__tests__/deploy.test.js +143 -103
  218. package/commands/project/__tests__/devUnifiedFlow.test.js +157 -148
  219. package/commands/project/__tests__/download.test.js +19 -14
  220. package/commands/project/__tests__/installDeps.test.js +70 -32
  221. package/commands/project/__tests__/listBuilds.test.js +19 -14
  222. package/commands/project/__tests__/logs.test.js +94 -56
  223. package/commands/project/__tests__/migrate.test.js +30 -25
  224. package/commands/project/__tests__/migrateApp.test.js +22 -17
  225. package/commands/project/__tests__/open.test.js +21 -16
  226. package/commands/project/__tests__/profile.test.js +19 -14
  227. package/commands/project/__tests__/upload.test.js +23 -18
  228. package/commands/project/__tests__/watch.test.js +19 -14
  229. package/commands/project/add.d.ts +1 -1
  230. package/commands/project/add.js +36 -34
  231. package/commands/project/cloneApp.d.ts +1 -1
  232. package/commands/project/cloneApp.js +72 -67
  233. package/commands/project/create.d.ts +2 -2
  234. package/commands/project/create.js +68 -63
  235. package/commands/project/deploy.d.ts +3 -2
  236. package/commands/project/deploy.js +102 -91
  237. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  238. package/commands/project/dev/deprecatedFlow.js +58 -52
  239. package/commands/project/dev/index.d.ts +1 -1
  240. package/commands/project/dev/index.js +47 -44
  241. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  242. package/commands/project/dev/unifiedFlow.js +74 -67
  243. package/commands/project/download.d.ts +1 -1
  244. package/commands/project/download.js +40 -35
  245. package/commands/project/installDeps.d.ts +1 -1
  246. package/commands/project/installDeps.js +34 -29
  247. package/commands/project/listBuilds.d.ts +1 -1
  248. package/commands/project/listBuilds.js +45 -40
  249. package/commands/project/logs.d.ts +1 -1
  250. package/commands/project/logs.js +54 -52
  251. package/commands/project/migrate.d.ts +1 -1
  252. package/commands/project/migrate.js +26 -24
  253. package/commands/project/migrateApp.d.ts +2 -2
  254. package/commands/project/migrateApp.js +20 -18
  255. package/commands/project/open.d.ts +1 -1
  256. package/commands/project/open.js +30 -25
  257. package/commands/project/profile/add.d.ts +1 -1
  258. package/commands/project/profile/add.js +73 -68
  259. package/commands/project/profile/delete.d.ts +1 -1
  260. package/commands/project/profile/delete.js +56 -51
  261. package/commands/project/profile.d.ts +1 -1
  262. package/commands/project/profile.js +14 -9
  263. package/commands/project/upload.d.ts +1 -1
  264. package/commands/project/upload.js +55 -50
  265. package/commands/project/validate.d.ts +1 -1
  266. package/commands/project/validate.js +40 -35
  267. package/commands/project/watch.d.ts +1 -1
  268. package/commands/project/watch.js +61 -59
  269. package/commands/project.d.ts +1 -1
  270. package/commands/project.js +43 -38
  271. package/commands/remove.d.ts +1 -1
  272. package/commands/remove.js +17 -15
  273. package/commands/sandbox/__tests__/create.test.js +20 -15
  274. package/commands/sandbox/__tests__/delete.test.js +20 -15
  275. package/commands/sandbox/create.d.ts +1 -1
  276. package/commands/sandbox/create.js +69 -67
  277. package/commands/sandbox/delete.d.ts +1 -1
  278. package/commands/sandbox/delete.js +96 -94
  279. package/commands/sandbox.d.ts +1 -1
  280. package/commands/sandbox.js +14 -9
  281. package/commands/secret/__tests__/addSecret.test.js +18 -13
  282. package/commands/secret/__tests__/deleteSecret.test.js +18 -13
  283. package/commands/secret/__tests__/listSecret.test.js +18 -13
  284. package/commands/secret/__tests__/updateSecret.test.js +18 -13
  285. package/commands/secret/addSecret.d.ts +1 -1
  286. package/commands/secret/addSecret.js +28 -26
  287. package/commands/secret/deleteSecret.d.ts +1 -1
  288. package/commands/secret/deleteSecret.js +29 -27
  289. package/commands/secret/listSecret.d.ts +1 -1
  290. package/commands/secret/listSecret.js +21 -19
  291. package/commands/secret/updateSecret.d.ts +1 -1
  292. package/commands/secret/updateSecret.js +27 -25
  293. package/commands/secret.d.ts +1 -1
  294. package/commands/secret.js +18 -13
  295. package/commands/testAccount/__tests__/create.test.js +22 -17
  296. package/commands/testAccount/__tests__/createConfig.test.js +11 -9
  297. package/commands/testAccount/__tests__/delete.test.js +20 -15
  298. package/commands/testAccount/create.d.ts +1 -1
  299. package/commands/testAccount/create.js +57 -62
  300. package/commands/testAccount/createConfig.d.ts +1 -3
  301. package/commands/testAccount/createConfig.js +47 -43
  302. package/commands/testAccount/delete.d.ts +1 -1
  303. package/commands/testAccount/delete.js +19 -17
  304. package/commands/testAccount.d.ts +1 -1
  305. package/commands/testAccount.js +15 -10
  306. package/commands/theme/__tests__/generate-selectors.test.js +12 -7
  307. package/commands/theme/__tests__/marketplace-validate.test.js +19 -14
  308. package/commands/theme/__tests__/preview.test.js +17 -12
  309. package/commands/theme/generate-selectors.d.ts +1 -1
  310. package/commands/theme/generate-selectors.js +28 -23
  311. package/commands/theme/marketplace-validate.d.ts +1 -1
  312. package/commands/theme/marketplace-validate.js +24 -19
  313. package/commands/theme/preview.d.ts +1 -1
  314. package/commands/theme/preview.js +65 -60
  315. package/commands/theme.d.ts +1 -1
  316. package/commands/theme.js +16 -11
  317. package/commands/upload.d.ts +1 -1
  318. package/commands/upload.js +82 -77
  319. package/commands/watch.d.ts +1 -1
  320. package/commands/watch.js +51 -45
  321. package/lang/en.d.ts +62 -23
  322. package/lang/en.js +434 -389
  323. package/lang/en.lyaml +0 -26
  324. package/lib/__tests__/accountTypes.test.js +22 -20
  325. package/lib/__tests__/buildAccount.test.js +90 -27
  326. package/lib/__tests__/commonOpts.test.js +22 -20
  327. package/lib/__tests__/dependencyManagement.test.js +51 -46
  328. package/lib/__tests__/developerTestAccounts.test.js +62 -27
  329. package/lib/__tests__/hasFeature.test.js +8 -6
  330. package/lib/__tests__/npm.test.js +20 -15
  331. package/lib/__tests__/oauth.test.js +28 -23
  332. package/lib/__tests__/parsing.test.js +20 -18
  333. package/lib/__tests__/polling.test.js +26 -24
  334. package/lib/__tests__/process.test.js +19 -14
  335. package/lib/__tests__/projectProfiles.test.js +39 -34
  336. package/lib/__tests__/sandboxSync.test.js +35 -30
  337. package/lib/__tests__/sandboxes.test.js +31 -29
  338. package/lib/__tests__/serverlessLogs.test.js +13 -8
  339. package/lib/__tests__/usageTracking.test.js +42 -47
  340. package/lib/__tests__/validation.test.js +20 -18
  341. package/lib/__tests__/yargsUtils.test.js +41 -6
  342. package/lib/accountTypes.js +34 -24
  343. package/lib/app/__tests__/migrate.test.js +99 -94
  344. package/lib/app/__tests__/migrate_legacy.test.js +31 -29
  345. package/lib/app/migrate.d.ts +3 -3
  346. package/lib/app/migrate.js +145 -127
  347. package/lib/app/migrate_legacy.d.ts +1 -1
  348. package/lib/app/migrate_legacy.js +78 -72
  349. package/lib/app/urls.js +9 -5
  350. package/lib/buildAccount.d.ts +8 -2
  351. package/lib/buildAccount.js +119 -61
  352. package/lib/commonOpts.d.ts +1 -1
  353. package/lib/commonOpts.js +59 -42
  354. package/lib/configMigrate.js +38 -34
  355. package/lib/configOptions.js +40 -34
  356. package/lib/constants.js +34 -31
  357. package/lib/customObject.js +6 -2
  358. package/lib/dependencyManagement.js +45 -37
  359. package/lib/developerTestAccounts.d.ts +1 -1
  360. package/lib/developerTestAccounts.js +39 -34
  361. package/lib/doctor/Diagnosis.d.ts +1 -1
  362. package/lib/doctor/Diagnosis.js +29 -25
  363. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  364. package/lib/doctor/DiagnosticInfoBuilder.js +37 -30
  365. package/lib/doctor/Doctor.d.ts +1 -1
  366. package/lib/doctor/Doctor.js +101 -94
  367. package/lib/doctor/__tests__/Diagnosis.test.js +14 -9
  368. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +34 -29
  369. package/lib/doctor/__tests__/Doctor.test.js +26 -24
  370. package/lib/enums/exitCodes.js +4 -1
  371. package/lib/errorHandlers/index.js +41 -32
  372. package/lib/errorHandlers/suppressError.d.ts +1 -1
  373. package/lib/errorHandlers/suppressError.js +31 -28
  374. package/lib/filesystem.js +15 -8
  375. package/lib/generateSelectors.js +29 -18
  376. package/lib/hasFeature.d.ts +1 -1
  377. package/lib/hasFeature.js +6 -3
  378. package/lib/interpolation.js +18 -11
  379. package/lib/lang.d.ts +1 -1
  380. package/lib/lang.js +27 -22
  381. package/lib/links.js +24 -16
  382. package/lib/marketplaceValidate.js +39 -29
  383. package/lib/mcp/setup.js +105 -72
  384. package/lib/middleware/__test__/configMiddleware.test.js +55 -20
  385. package/lib/middleware/__test__/gitMiddleware.test.js +42 -7
  386. package/lib/middleware/__test__/notificationsMiddleware.test.js +4 -2
  387. package/lib/middleware/__test__/requestMiddleware.test.js +11 -6
  388. package/lib/middleware/__test__/utils.test.js +11 -9
  389. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +44 -9
  390. package/lib/middleware/autoUpdateMiddleware.js +40 -33
  391. package/lib/middleware/configMiddleware.js +42 -36
  392. package/lib/middleware/fireAlarmMiddleware.js +18 -12
  393. package/lib/middleware/gitMiddleware.js +8 -5
  394. package/lib/middleware/notificationsMiddleware.js +23 -16
  395. package/lib/middleware/requestMiddleware.js +10 -4
  396. package/lib/middleware/utils.js +4 -1
  397. package/lib/middleware/yargsChecksMiddleware.js +13 -10
  398. package/lib/npm.js +23 -14
  399. package/lib/oauth.js +35 -29
  400. package/lib/parsing.js +6 -3
  401. package/lib/polling.js +15 -11
  402. package/lib/process.js +19 -11
  403. package/lib/projectProfiles.d.ts +2 -2
  404. package/lib/projectProfiles.js +42 -32
  405. package/lib/projects/ProjectLogsManager.js +21 -18
  406. package/lib/projects/__tests__/AppDevModeInterface.test.js +145 -140
  407. package/lib/projects/__tests__/LocalDevProcess.test.js +73 -68
  408. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +37 -32
  409. package/lib/projects/__tests__/ProjectLogsManager.test.js +58 -56
  410. package/lib/projects/__tests__/buildAndDeploy.test.js +9 -7
  411. package/lib/projects/__tests__/components.test.js +14 -9
  412. package/lib/projects/__tests__/projects.test.js +40 -35
  413. package/lib/projects/__tests__/structure.test.js +81 -43
  414. package/lib/projects/add/__tests__/legacyAddComponent.test.js +28 -26
  415. package/lib/projects/add/__tests__/v3AddComponent.test.js +30 -25
  416. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  417. package/lib/projects/add/legacyAddComponent.js +30 -24
  418. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  419. package/lib/projects/add/v3AddComponent.js +42 -36
  420. package/lib/projects/buildAndDeploy.d.ts +1 -1
  421. package/lib/projects/buildAndDeploy.js +97 -88
  422. package/lib/projects/components.js +25 -19
  423. package/lib/projects/config.d.ts +1 -1
  424. package/lib/projects/config.js +41 -32
  425. package/lib/projects/create/__tests__/legacy.test.js +57 -22
  426. package/lib/projects/create/__tests__/v3.test.js +7 -5
  427. package/lib/projects/create/index.d.ts +3 -3
  428. package/lib/projects/create/index.js +22 -19
  429. package/lib/projects/create/legacy.d.ts +1 -1
  430. package/lib/projects/create/legacy.js +31 -25
  431. package/lib/projects/create/v3.d.ts +3 -3
  432. package/lib/projects/create/v3.js +59 -49
  433. package/lib/projects/ensureProjectExists.js +37 -31
  434. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  435. package/lib/projects/localDev/AppDevModeInterface.js +60 -58
  436. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  437. package/lib/projects/localDev/DevServerManager.js +24 -24
  438. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  439. package/lib/projects/localDev/DevServerManagerV2.js +20 -17
  440. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  441. package/lib/projects/localDev/LocalDevLogger.js +64 -59
  442. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  443. package/lib/projects/localDev/LocalDevManager.js +111 -106
  444. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  445. package/lib/projects/localDev/LocalDevProcess.js +30 -25
  446. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  447. package/lib/projects/localDev/LocalDevState.js +5 -3
  448. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  449. package/lib/projects/localDev/LocalDevWatcher.js +11 -6
  450. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  451. package/lib/projects/localDev/LocalDevWebsocketServer.js +27 -25
  452. package/lib/projects/localDev/helpers.d.ts +4 -4
  453. package/lib/projects/localDev/helpers.js +174 -156
  454. package/lib/projects/structure.d.ts +4 -4
  455. package/lib/projects/structure.js +78 -32
  456. package/lib/projects/ui.js +13 -10
  457. package/lib/projects/upload.d.ts +3 -2
  458. package/lib/projects/upload.js +65 -55
  459. package/lib/projects/urls.js +24 -14
  460. package/lib/projects/watch.d.ts +1 -1
  461. package/lib/projects/watch.js +54 -48
  462. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +11 -9
  463. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +16 -11
  464. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  465. package/lib/prompts/accountNamePrompt.js +31 -26
  466. package/lib/prompts/accountsPrompt.js +15 -12
  467. package/lib/prompts/cmsFieldPrompt.js +19 -13
  468. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  469. package/lib/prompts/createApiSamplePrompt.js +12 -9
  470. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +11 -10
  471. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +88 -43
  472. package/lib/prompts/createFunctionPrompt.js +20 -17
  473. package/lib/prompts/createModulePrompt.js +15 -12
  474. package/lib/prompts/createTemplatePrompt.js +8 -5
  475. package/lib/prompts/downloadProjectPrompt.js +20 -17
  476. package/lib/prompts/installAppPrompt.js +26 -19
  477. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  478. package/lib/prompts/personalAccessKeyPrompt.js +47 -40
  479. package/lib/prompts/previewPrompt.js +22 -15
  480. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  481. package/lib/prompts/projectAddPrompt.js +18 -14
  482. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  483. package/lib/prompts/projectDevTargetAccountPrompt.js +54 -48
  484. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  485. package/lib/prompts/projectNameAndDestPrompt.js +29 -22
  486. package/lib/prompts/projectNamePrompt.js +14 -11
  487. package/lib/prompts/projectsLogsPrompt.js +8 -5
  488. package/lib/prompts/promptUtils.d.ts +1 -1
  489. package/lib/prompts/promptUtils.js +87 -70
  490. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  491. package/lib/prompts/sandboxesPrompt.js +30 -26
  492. package/lib/prompts/secretPrompt.js +15 -10
  493. package/lib/prompts/selectAppPrompt.js +14 -11
  494. package/lib/prompts/selectHubDBTablePrompt.js +30 -24
  495. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  496. package/lib/prompts/selectProjectTemplatePrompt.js +13 -10
  497. package/lib/prompts/selectPublicAppForMigrationPrompt.js +25 -22
  498. package/lib/prompts/setAsDefaultAccountPrompt.js +16 -13
  499. package/lib/prompts/uploadPrompt.js +17 -11
  500. package/lib/sandboxSync.d.ts +1 -1
  501. package/lib/sandboxSync.js +65 -58
  502. package/lib/sandboxes.d.ts +1 -1
  503. package/lib/sandboxes.js +76 -68
  504. package/lib/schema.js +23 -12
  505. package/lib/serverlessLogs.js +52 -45
  506. package/lib/testUtils.js +8 -4
  507. package/lib/ui/SpinniesManager.d.ts +1 -1
  508. package/lib/ui/SpinniesManager.js +34 -29
  509. package/lib/ui/boxen.js +14 -11
  510. package/lib/ui/git.js +20 -14
  511. package/lib/ui/index.js +74 -56
  512. package/lib/ui/logger.js +13 -10
  513. package/lib/ui/serverlessFunctionLogs.js +20 -14
  514. package/lib/ui/spinniesUtils.js +39 -24
  515. package/lib/ui/supportHyperlinks.js +6 -3
  516. package/lib/ui/supportsColor.js +17 -11
  517. package/lib/ui/table.js +13 -6
  518. package/lib/upload.js +21 -15
  519. package/lib/usageTracking.d.ts +11 -0
  520. package/lib/usageTracking.js +95 -95
  521. package/lib/utils/hasFlag.js +8 -2
  522. package/lib/validation.js +87 -48
  523. package/lib/yargsUtils.d.ts +1 -1
  524. package/lib/yargsUtils.js +16 -13
  525. package/mcp-server/server.js +8 -6
  526. package/mcp-server/tools/index.js +16 -13
  527. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  528. package/mcp-server/tools/project/AddFeatureToProject.js +41 -34
  529. package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
  530. package/mcp-server/tools/project/CreateProjectTool.js +52 -45
  531. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  532. package/mcp-server/tools/project/DeployProject.js +24 -17
  533. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  534. package/mcp-server/tools/project/GuidedWalkthroughTool.js +27 -20
  535. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  536. package/mcp-server/tools/project/UploadProjectTools.js +21 -11
  537. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  538. package/mcp-server/tools/project/ValidateProjectTool.js +19 -12
  539. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +15 -12
  540. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +16 -13
  541. package/mcp-server/tools/project/__tests__/DeployProject.test.js +9 -6
  542. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +7 -4
  543. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +7 -4
  544. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +7 -4
  545. package/mcp-server/tools/project/constants.js +9 -3
  546. package/mcp-server/types.js +5 -1
  547. package/mcp-server/utils/__tests__/command.test.js +11 -9
  548. package/mcp-server/utils/__tests__/project.test.js +26 -18
  549. package/mcp-server/utils/command.d.ts +1 -1
  550. package/mcp-server/utils/command.js +11 -4
  551. package/mcp-server/utils/content.d.ts +1 -1
  552. package/mcp-server/utils/content.js +6 -2
  553. package/mcp-server/utils/project.js +17 -8
  554. package/mcp-server/utils/toolUsageTracking.d.ts +1 -0
  555. package/mcp-server/utils/toolUsageTracking.js +25 -0
  556. package/package.json +13 -17
  557. package/types/{cms.d.ts → Cms.d.ts} +1 -1
  558. package/types/Cms.js +2 -0
  559. package/types/LocalDev.d.ts +4 -4
  560. package/types/LocalDev.js +2 -1
  561. package/types/ProjectComponents.d.ts +2 -2
  562. package/types/ProjectComponents.js +2 -1
  563. package/types/Projects.d.ts +1 -1
  564. package/types/Projects.js +5 -2
  565. package/types/Prompts.js +2 -1
  566. package/types/Sandboxes.js +2 -0
  567. package/types/Yargs.js +2 -1
  568. package/types/sandboxes.js +0 -1
  569. /package/{types/cms.js → commands/app/__tests__/install.test.d.ts} +0 -0
  570. /package/types/{sandboxes.d.ts → Sandboxes.d.ts} +0 -0
@@ -1,42 +1,49 @@
1
- import open from 'open';
2
- import { OAUTH_SCOPES, DEFAULT_OAUTH_SCOPES, } from '@hubspot/local-dev-lib/constants/auth';
3
- import { deleteEmptyConfigFile } from '@hubspot/local-dev-lib/config';
4
- import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
5
- import { logger } from '@hubspot/local-dev-lib/logger';
6
- import { promptUser } from './promptUtils.js';
7
- import { getCliAccountNamePromptConfig, } from './accountNamePrompt.js';
8
- import { uiInfoSection } from '../ui/index.js';
9
- import { EXIT_CODES } from '../enums/exitCodes.js';
10
- import { lib } from '../../lang/en.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OAUTH_FLOW = void 0;
7
+ exports.personalAccessKeyPrompt = personalAccessKeyPrompt;
8
+ const open_1 = __importDefault(require("open"));
9
+ const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
10
+ const config_1 = require("@hubspot/local-dev-lib/config");
11
+ const urls_1 = require("@hubspot/local-dev-lib/urls");
12
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
13
+ const promptUtils_1 = require("./promptUtils");
14
+ const accountNamePrompt_1 = require("./accountNamePrompt");
15
+ const ui_1 = require("../ui");
16
+ const exitCodes_1 = require("../enums/exitCodes");
17
+ const en_1 = require("../../lang/en");
11
18
  /**
12
19
  * Displays notification to user that we are about to open the browser,
13
20
  * then opens their browser to the personal-access-key shortlink
14
21
  */
15
- export async function personalAccessKeyPrompt({ env, account, }) {
16
- const websiteOrigin = getHubSpotWebsiteOrigin(env);
22
+ async function personalAccessKeyPrompt({ env, account, }) {
23
+ const websiteOrigin = (0, urls_1.getHubSpotWebsiteOrigin)(env);
17
24
  let url = `${websiteOrigin}/l/personal-access-key`;
18
25
  if (process.env.BROWSER !== 'none') {
19
- uiInfoSection(lib.prompts.personalAccessKeyPrompt.personalAccessKeySetupTitle, () => {
20
- logger.log(lib.prompts.personalAccessKeyPrompt.personalAccessKeyBrowserOpenPrep);
26
+ (0, ui_1.uiInfoSection)(en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeySetupTitle, () => {
27
+ logger_1.logger.log(en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyBrowserOpenPrep);
21
28
  });
22
29
  if (account) {
23
30
  url = `${websiteOrigin}/personal-access-key/${account}`;
24
31
  }
25
- const { personalAccessKeyBrowserOpenPrep: choice } = await promptUser([
32
+ const { personalAccessKeyBrowserOpenPrep: choice } = await (0, promptUtils_1.promptUser)([
26
33
  PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP,
27
34
  ]);
28
35
  if (!choice) {
29
- deleteEmptyConfigFile();
30
- process.exit(EXIT_CODES.SUCCESS);
36
+ (0, config_1.deleteEmptyConfigFile)();
37
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
31
38
  }
32
39
  if (choice ===
33
- lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
40
+ en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
34
41
  .OPEN_BROWSER) {
35
- open(url, { url: true });
36
- logger.log(lib.prompts.personalAccessKeyPrompt.logs.openingWebBrowser(url));
42
+ (0, open_1.default)(url, { url: true });
43
+ logger_1.logger.log(en_1.lib.prompts.personalAccessKeyPrompt.logs.openingWebBrowser(url));
37
44
  }
38
45
  }
39
- const { personalAccessKey } = await promptUser(PERSONAL_ACCESS_KEY);
46
+ const { personalAccessKey } = await (0, promptUtils_1.promptUser)(PERSONAL_ACCESS_KEY);
40
47
  return {
41
48
  personalAccessKey,
42
49
  env,
@@ -44,24 +51,24 @@ export async function personalAccessKeyPrompt({ env, account, }) {
44
51
  }
45
52
  const ACCOUNT_ID = {
46
53
  name: 'accountId',
47
- message: lib.prompts.personalAccessKeyPrompt.enterAccountId,
54
+ message: en_1.lib.prompts.personalAccessKeyPrompt.enterAccountId,
48
55
  type: 'number',
49
56
  validate(val) {
50
57
  if (!Number.isNaN(val) && val !== undefined && val > 0) {
51
58
  return true;
52
59
  }
53
- return lib.prompts.personalAccessKeyPrompt.errors.invalidAccountId;
60
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors.invalidAccountId;
54
61
  },
55
62
  };
56
63
  const CLIENT_ID = {
57
64
  name: 'clientId',
58
- message: lib.prompts.personalAccessKeyPrompt.enterClientId,
65
+ message: en_1.lib.prompts.personalAccessKeyPrompt.enterClientId,
59
66
  validate(val) {
60
67
  if (typeof val !== 'string') {
61
- return lib.prompts.personalAccessKeyPrompt.errors.invalidOauthClientId;
68
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors.invalidOauthClientId;
62
69
  }
63
70
  else if (val.length !== 36) {
64
- return lib.prompts.personalAccessKeyPrompt.errors
71
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors
65
72
  .invalidOauthClientIdLength;
66
73
  }
67
74
  return true;
@@ -69,18 +76,18 @@ const CLIENT_ID = {
69
76
  };
70
77
  const CLIENT_SECRET = {
71
78
  name: 'clientSecret',
72
- message: lib.prompts.personalAccessKeyPrompt.enterClientSecret,
79
+ message: en_1.lib.prompts.personalAccessKeyPrompt.enterClientSecret,
73
80
  validate(val) {
74
81
  if (typeof val !== 'string') {
75
- return lib.prompts.personalAccessKeyPrompt.errors
82
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors
76
83
  .invalidOauthClientSecret;
77
84
  }
78
85
  else if (val.length !== 36) {
79
- return lib.prompts.personalAccessKeyPrompt.errors
86
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors
80
87
  .invalidOauthClientSecretLength;
81
88
  }
82
89
  else if (val[0] === '*') {
83
- return lib.prompts.personalAccessKeyPrompt.errors
90
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors
84
91
  .invalidOauthClientSecretCopy;
85
92
  }
86
93
  return true;
@@ -90,13 +97,13 @@ const PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP = {
90
97
  name: 'personalAccessKeyBrowserOpenPrep',
91
98
  type: 'list',
92
99
  message: 'Choose your preferred method of authentication',
93
- choices: Object.values(lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices),
94
- default: lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
100
+ choices: Object.values(en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices),
101
+ default: en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
95
102
  .OPEN_BROWSER,
96
103
  };
97
104
  const PERSONAL_ACCESS_KEY = {
98
105
  name: 'personalAccessKey',
99
- message: lib.prompts.personalAccessKeyPrompt.enterPersonalAccessKey,
106
+ message: en_1.lib.prompts.personalAccessKeyPrompt.enterPersonalAccessKey,
100
107
  transformer: (val) => {
101
108
  if (!val)
102
109
  return val;
@@ -108,11 +115,11 @@ const PERSONAL_ACCESS_KEY = {
108
115
  },
109
116
  validate(val) {
110
117
  if (!val || typeof val !== 'string') {
111
- return lib.prompts.personalAccessKeyPrompt.errors
118
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors
112
119
  .invalidPersonalAccessKey;
113
120
  }
114
121
  else if (val[0] === '•') {
115
- return lib.prompts.personalAccessKeyPrompt.errors
122
+ return en_1.lib.prompts.personalAccessKeyPrompt.errors
116
123
  .invalidPersonalAccessKeyCopy;
117
124
  }
118
125
  return true;
@@ -121,12 +128,12 @@ const PERSONAL_ACCESS_KEY = {
121
128
  const SCOPES = {
122
129
  type: 'checkbox',
123
130
  name: 'scopes',
124
- message: lib.prompts.personalAccessKeyPrompt.selectScopes,
125
- default: [...DEFAULT_OAUTH_SCOPES],
126
- choices: [...OAUTH_SCOPES],
131
+ message: en_1.lib.prompts.personalAccessKeyPrompt.selectScopes,
132
+ default: [...auth_1.DEFAULT_OAUTH_SCOPES],
133
+ choices: [...auth_1.OAUTH_SCOPES],
127
134
  };
128
- export const OAUTH_FLOW = [
129
- getCliAccountNamePromptConfig(),
135
+ exports.OAUTH_FLOW = [
136
+ (0, accountNamePrompt_1.getCliAccountNamePromptConfig)(),
130
137
  ACCOUNT_ID,
131
138
  CLIENT_ID,
132
139
  CLIENT_SECRET,
@@ -1,43 +1,50 @@
1
- import path from 'path';
2
- import { getCwd } from '@hubspot/local-dev-lib/path';
3
- import { promptUser } from './promptUtils.js';
4
- import { i18n } from '../lang.js';
5
- export async function previewPrompt(promptOptions = {}) {
6
- return promptUser([
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.previewPrompt = previewPrompt;
7
+ exports.previewProjectPrompt = previewProjectPrompt;
8
+ const path_1 = __importDefault(require("path"));
9
+ const path_2 = require("@hubspot/local-dev-lib/path");
10
+ const promptUtils_1 = require("./promptUtils");
11
+ const lang_1 = require("../lang");
12
+ async function previewPrompt(promptOptions = {}) {
13
+ return (0, promptUtils_1.promptUser)([
7
14
  {
8
15
  name: 'src',
9
- message: i18n(`lib.prompts.previewPrompt.enterSrc`),
16
+ message: (0, lang_1.i18n)(`lib.prompts.previewPrompt.enterSrc`),
10
17
  when: !promptOptions.src,
11
18
  default: '.',
12
19
  validate: (input) => {
13
20
  if (!input) {
14
- return i18n(`lib.prompts.previewPrompt.errors.srcRequired`);
21
+ return (0, lang_1.i18n)(`lib.prompts.previewPrompt.errors.srcRequired`);
15
22
  }
16
23
  return true;
17
24
  },
18
25
  },
19
26
  {
20
27
  name: 'dest',
21
- message: i18n(`lib.prompts.previewPrompt.enterDest`),
28
+ message: (0, lang_1.i18n)(`lib.prompts.previewPrompt.enterDest`),
22
29
  when: !promptOptions.dest,
23
- default: path.basename(getCwd()),
30
+ default: path_1.default.basename((0, path_2.getCwd)()),
24
31
  validate: (input) => {
25
32
  if (!input) {
26
- return i18n(`lib.prompts.previewPrompt.errors.destRequired`);
33
+ return (0, lang_1.i18n)(`lib.prompts.previewPrompt.errors.destRequired`);
27
34
  }
28
35
  return true;
29
36
  },
30
37
  },
31
38
  ]);
32
39
  }
33
- export async function previewProjectPrompt(themeComponents) {
34
- return promptUser([
40
+ async function previewProjectPrompt(themeComponents) {
41
+ return (0, promptUtils_1.promptUser)([
35
42
  {
36
43
  name: 'themeComponentPath',
37
- message: i18n(`lib.prompts.previewPrompt.themeProjectSelect`),
44
+ message: (0, lang_1.i18n)(`lib.prompts.previewPrompt.themeProjectSelect`),
38
45
  type: 'list',
39
46
  choices: themeComponents.map(t => {
40
- const themeName = path.basename(t.path);
47
+ const themeName = path_1.default.basename(t.path);
41
48
  return {
42
49
  name: themeName,
43
50
  value: t.path,
@@ -1,5 +1,5 @@
1
1
  import { Separator } from '@inquirer/prompts';
2
- import { ComponentTemplate, ComponentTemplateChoice } from '../../types/Projects.js';
2
+ import { ComponentTemplate, ComponentTemplateChoice } from '../../types/Projects';
3
3
  type ProjectAddPromptResponse = {
4
4
  componentTemplate: ComponentTemplate;
5
5
  name: string;
@@ -1,19 +1,23 @@
1
- import { Separator } from '@inquirer/prompts';
2
- import { promptUser } from './promptUtils.js';
3
- import { lib } from '../../lang/en.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectAddPrompt = projectAddPrompt;
4
+ exports.projectAddPromptV3 = projectAddPromptV3;
5
+ const prompts_1 = require("@inquirer/prompts");
6
+ const promptUtils_1 = require("./promptUtils");
7
+ const en_1 = require("../../lang/en");
4
8
  function findComponentByPathOrLabel(components, componentPathOrLabel) {
5
9
  return components.find(c => c.path === componentPathOrLabel || c.label === componentPathOrLabel);
6
10
  }
7
- export async function projectAddPrompt(components, promptOptions = {}) {
11
+ async function projectAddPrompt(components, promptOptions = {}) {
8
12
  const providedTypeIsValid = !!promptOptions.type &&
9
13
  !!findComponentByPathOrLabel(components, promptOptions.type);
10
- const result = await promptUser([
14
+ const result = await (0, promptUtils_1.promptUser)([
11
15
  {
12
16
  name: 'componentTemplate',
13
17
  message: () => {
14
18
  return promptOptions.type && !providedTypeIsValid
15
- ? lib.prompts.projectAddPrompt.errors.invalidType(promptOptions.type)
16
- : lib.prompts.projectAddPrompt.selectType;
19
+ ? en_1.lib.prompts.projectAddPrompt.errors.invalidType(promptOptions.type)
20
+ : en_1.lib.prompts.projectAddPrompt.selectType;
17
21
  },
18
22
  when: !providedTypeIsValid,
19
23
  type: 'list',
@@ -26,11 +30,11 @@ export async function projectAddPrompt(components, promptOptions = {}) {
26
30
  },
27
31
  {
28
32
  name: 'name',
29
- message: lib.prompts.projectAddPrompt.enterName,
33
+ message: en_1.lib.prompts.projectAddPrompt.enterName,
30
34
  when: !promptOptions.name,
31
35
  validate: (input) => {
32
36
  if (!input) {
33
- return lib.prompts.projectAddPrompt.errors.nameRequired;
37
+ return en_1.lib.prompts.projectAddPrompt.errors.nameRequired;
34
38
  }
35
39
  return true;
36
40
  },
@@ -44,25 +48,25 @@ export async function projectAddPrompt(components, promptOptions = {}) {
44
48
  }
45
49
  return result;
46
50
  }
47
- export async function projectAddPromptV3(components, selectedFeatures) {
51
+ async function projectAddPromptV3(components, selectedFeatures) {
48
52
  const selectedComponents = [];
49
53
  if (selectedFeatures) {
50
54
  components.forEach(template => {
51
- if (template instanceof Separator || !template.value) {
55
+ if (template instanceof prompts_1.Separator || !template.value) {
52
56
  return;
53
57
  }
54
58
  if (selectedFeatures?.includes(template.value.type)) {
55
59
  if (template.disabled) {
56
- throw new Error(lib.prompts.projectAddPrompt.errors.cannotAddFeature(template.value.type, template.disabled));
60
+ throw new Error(en_1.lib.prompts.projectAddPrompt.errors.cannotAddFeature(template.value.type, template.disabled));
57
61
  }
58
62
  selectedComponents.push(template.value);
59
63
  }
60
64
  });
61
65
  }
62
- const result = await promptUser([
66
+ const result = await (0, promptUtils_1.promptUser)([
63
67
  {
64
68
  name: 'componentTemplate',
65
- message: lib.prompts.projectAddPrompt.selectType,
69
+ message: en_1.lib.prompts.projectAddPrompt.selectType,
66
70
  when: !selectedFeatures && selectedComponents.length === 0,
67
71
  type: 'checkbox',
68
72
  choices: components,
@@ -1,5 +1,5 @@
1
1
  import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
2
- import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTestAccounts.js';
2
+ import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTestAccounts';
3
3
  export type ProjectDevTargetAccountPromptResponse = {
4
4
  targetAccountId: number | null;
5
5
  createNestedAccount: boolean;
@@ -1,30 +1,36 @@
1
- import { getAccountId } from '@hubspot/local-dev-lib/config';
2
- import { getSandboxUsageLimits } from '@hubspot/local-dev-lib/api/sandboxHubs';
3
- import { HUBSPOT_ACCOUNT_TYPES, HUBSPOT_ACCOUNT_TYPE_STRINGS, } from '@hubspot/local-dev-lib/constants/config';
4
- import { getAccountIdentifier } from '@hubspot/local-dev-lib/config/getAccountIdentifier';
5
- import { logger } from '@hubspot/local-dev-lib/logger';
6
- import { fetchDeveloperTestAccounts } from '@hubspot/local-dev-lib/api/developerTestAccounts';
7
- import { promptUser } from './promptUtils.js';
8
- import { i18n } from '../lang.js';
9
- import { uiAccountDescription, uiCommandReference } from '../ui/index.js';
10
- import { isSandbox } from '../accountTypes.js';
11
- import { EXIT_CODES } from '../enums/exitCodes.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectSandboxTargetAccountPrompt = selectSandboxTargetAccountPrompt;
4
+ exports.selectDeveloperTestTargetAccountPrompt = selectDeveloperTestTargetAccountPrompt;
5
+ exports.confirmDefaultAccountPrompt = confirmDefaultAccountPrompt;
6
+ exports.confirmUseExistingDeveloperTestAccountPrompt = confirmUseExistingDeveloperTestAccountPrompt;
7
+ const config_1 = require("@hubspot/local-dev-lib/config");
8
+ const sandboxHubs_1 = require("@hubspot/local-dev-lib/api/sandboxHubs");
9
+ const config_2 = require("@hubspot/local-dev-lib/constants/config");
10
+ const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
11
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
12
+ const developerTestAccounts_1 = require("@hubspot/local-dev-lib/api/developerTestAccounts");
13
+ const promptUtils_1 = require("./promptUtils");
14
+ const lang_1 = require("../lang");
15
+ const ui_1 = require("../ui");
16
+ const accountTypes_1 = require("../accountTypes");
17
+ const exitCodes_1 = require("../enums/exitCodes");
12
18
  function mapNestedAccount(accountConfig) {
13
19
  const parentAccountId = accountConfig.parentAccountId ?? null;
14
20
  return {
15
- name: uiAccountDescription(getAccountIdentifier(accountConfig), false),
21
+ name: (0, ui_1.uiAccountDescription)((0, getAccountIdentifier_1.getAccountIdentifier)(accountConfig), false),
16
22
  value: {
17
- targetAccountId: getAccountId(accountConfig.name),
23
+ targetAccountId: (0, config_1.getAccountId)(accountConfig.name),
18
24
  createNestedAccount: false,
19
25
  parentAccountId,
20
26
  },
21
27
  };
22
28
  }
23
29
  function getNonConfigDeveloperTestAccountName(account) {
24
- return `${account.accountName} [${HUBSPOT_ACCOUNT_TYPE_STRINGS[HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST]}] (${account.id})`;
30
+ return `${account.accountName} [${config_2.HUBSPOT_ACCOUNT_TYPE_STRINGS[config_2.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST]}] (${account.id})`;
25
31
  }
26
- export async function selectSandboxTargetAccountPrompt(accounts, defaultAccountConfig) {
27
- const defaultAccountId = getAccountId(defaultAccountConfig.name);
32
+ async function selectSandboxTargetAccountPrompt(accounts, defaultAccountConfig) {
33
+ const defaultAccountId = (0, config_1.getAccountId)(defaultAccountConfig.name);
28
34
  let choices = [];
29
35
  let sandboxUsage = {
30
36
  STANDARD: { used: 0, available: 0, limit: 0 },
@@ -32,30 +38,30 @@ export async function selectSandboxTargetAccountPrompt(accounts, defaultAccountC
32
38
  };
33
39
  try {
34
40
  if (defaultAccountId) {
35
- const { data } = await getSandboxUsageLimits(defaultAccountId);
41
+ const { data } = await (0, sandboxHubs_1.getSandboxUsageLimits)(defaultAccountId);
36
42
  sandboxUsage = data.usage;
37
43
  }
38
44
  else {
39
- logger.error(i18n(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`));
40
- process.exit(EXIT_CODES.ERROR);
45
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`));
46
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
41
47
  }
42
48
  }
43
49
  catch (err) {
44
- logger.debug('Unable to fetch sandbox usage limits: ', err);
50
+ logger_1.logger.debug('Unable to fetch sandbox usage limits: ', err);
45
51
  }
46
52
  const sandboxAccounts = accounts
47
53
  .reverse()
48
- .filter(config => isSandbox(config) && config.parentAccountId === defaultAccountId);
54
+ .filter(config => (0, accountTypes_1.isSandbox)(config) && config.parentAccountId === defaultAccountId);
49
55
  let disabledMessage = false;
50
56
  if (sandboxUsage['DEVELOPER'] && sandboxUsage['DEVELOPER'].available === 0) {
51
57
  if (sandboxAccounts.length < sandboxUsage['DEVELOPER'].limit) {
52
- disabledMessage = i18n(`lib.prompts.projectDevTargetAccountPrompt.sandboxLimitWithSuggestion`, {
53
- authCommand: uiCommandReference('hs auth'),
58
+ disabledMessage = (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.sandboxLimitWithSuggestion`, {
59
+ authCommand: (0, ui_1.uiCommandReference)('hs auth'),
54
60
  limit: sandboxUsage['DEVELOPER'].limit,
55
61
  });
56
62
  }
57
63
  else {
58
- disabledMessage = i18n(`lib.prompts.projectDevTargetAccountPrompt.sandboxLimit`, {
64
+ disabledMessage = (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.sandboxLimit`, {
59
65
  limit: sandboxUsage['DEVELOPER'].limit,
60
66
  });
61
67
  }
@@ -63,13 +69,13 @@ export async function selectSandboxTargetAccountPrompt(accounts, defaultAccountC
63
69
  // Order choices by Developer Sandbox -> Standard Sandbox
64
70
  choices = [
65
71
  ...sandboxAccounts
66
- .filter(a => a.accountType === HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX)
72
+ .filter(a => a.accountType === config_2.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX)
67
73
  .map(mapNestedAccount),
68
74
  ...sandboxAccounts
69
- .filter(a => a.accountType === HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX)
75
+ .filter(a => a.accountType === config_2.HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX)
70
76
  .map(mapNestedAccount),
71
77
  {
72
- name: i18n(`lib.prompts.projectDevTargetAccountPrompt.createNewSandboxOption`),
78
+ name: (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.createNewSandboxOption`),
73
79
  value: {
74
80
  targetAccountId: null,
75
81
  createNestedAccount: true,
@@ -77,7 +83,7 @@ export async function selectSandboxTargetAccountPrompt(accounts, defaultAccountC
77
83
  disabled: disabledMessage,
78
84
  },
79
85
  {
80
- name: i18n(`lib.prompts.projectDevTargetAccountPrompt.chooseDefaultAccountOption`),
86
+ name: (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.chooseDefaultAccountOption`),
81
87
  value: {
82
88
  targetAccountId: defaultAccountId,
83
89
  createNestedAccount: false,
@@ -86,34 +92,34 @@ export async function selectSandboxTargetAccountPrompt(accounts, defaultAccountC
86
92
  ];
87
93
  return selectTargetAccountPrompt(defaultAccountId, 'sandbox account', choices);
88
94
  }
89
- export async function selectDeveloperTestTargetAccountPrompt(accounts, defaultAccountConfig) {
90
- const defaultAccountId = getAccountId(defaultAccountConfig.name);
95
+ async function selectDeveloperTestTargetAccountPrompt(accounts, defaultAccountConfig) {
96
+ const defaultAccountId = (0, config_1.getAccountId)(defaultAccountConfig.name);
91
97
  let devTestAccountsResponse;
92
98
  try {
93
99
  if (defaultAccountId) {
94
- const { data } = await fetchDeveloperTestAccounts(defaultAccountId);
100
+ const { data } = await (0, developerTestAccounts_1.fetchDeveloperTestAccounts)(defaultAccountId);
95
101
  devTestAccountsResponse = data;
96
102
  }
97
103
  else {
98
- logger.error(i18n(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`));
99
- process.exit(EXIT_CODES.ERROR);
104
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`));
105
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
100
106
  }
101
107
  }
102
108
  catch (err) {
103
- logger.debug('Unable to fetch developer test account usage limits: ', err);
109
+ logger_1.logger.debug('Unable to fetch developer test account usage limits: ', err);
104
110
  }
105
111
  let disabledMessage = false;
106
112
  if (devTestAccountsResponse &&
107
113
  devTestAccountsResponse.results.length >=
108
114
  devTestAccountsResponse.maxTestPortals) {
109
- disabledMessage = i18n(`lib.prompts.projectDevTargetAccountPrompt.developerTestAccountLimit`, {
110
- authCommand: uiCommandReference('hs auth'),
115
+ disabledMessage = (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.developerTestAccountLimit`, {
116
+ authCommand: (0, ui_1.uiCommandReference)('hs auth'),
111
117
  limit: devTestAccountsResponse.maxTestPortals,
112
118
  });
113
119
  }
114
120
  const devTestAccounts = [];
115
121
  if (devTestAccountsResponse && devTestAccountsResponse.results) {
116
- const accountIds = accounts.map(account => getAccountIdentifier(account));
122
+ const accountIds = accounts.map(account => (0, getAccountIdentifier_1.getAccountIdentifier)(account));
117
123
  devTestAccountsResponse.results.forEach(acct => {
118
124
  const inConfig = accountIds.includes(acct.id);
119
125
  devTestAccounts.push({
@@ -130,7 +136,7 @@ export async function selectDeveloperTestTargetAccountPrompt(accounts, defaultAc
130
136
  const choices = [
131
137
  ...devTestAccounts,
132
138
  {
133
- name: i18n(`lib.prompts.projectDevTargetAccountPrompt.createNewDeveloperTestAccountOption`),
139
+ name: (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.createNewDeveloperTestAccountOption`),
134
140
  value: {
135
141
  targetAccountId: null,
136
142
  createNestedAccount: true,
@@ -138,16 +144,16 @@ export async function selectDeveloperTestTargetAccountPrompt(accounts, defaultAc
138
144
  disabled: disabledMessage,
139
145
  },
140
146
  ];
141
- return selectTargetAccountPrompt(defaultAccountId, HUBSPOT_ACCOUNT_TYPE_STRINGS[HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST], choices);
147
+ return selectTargetAccountPrompt(defaultAccountId, config_2.HUBSPOT_ACCOUNT_TYPE_STRINGS[config_2.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST], choices);
142
148
  }
143
149
  async function selectTargetAccountPrompt(defaultAccountId, accountType, choices) {
144
150
  const accountId = defaultAccountId;
145
- const { targetAccountInfo } = await promptUser([
151
+ const { targetAccountInfo } = await (0, promptUtils_1.promptUser)([
146
152
  {
147
153
  name: 'targetAccountInfo',
148
154
  type: 'list',
149
- message: i18n(`lib.prompts.projectDevTargetAccountPrompt.promptMessage`, {
150
- accountIdentifier: uiAccountDescription(accountId),
155
+ message: (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.promptMessage`, {
156
+ accountIdentifier: (0, ui_1.uiAccountDescription)(accountId),
151
157
  accountType,
152
158
  }),
153
159
  choices,
@@ -155,12 +161,12 @@ async function selectTargetAccountPrompt(defaultAccountId, accountType, choices)
155
161
  ]);
156
162
  return targetAccountInfo;
157
163
  }
158
- export async function confirmDefaultAccountPrompt(accountName, accountType) {
159
- const { useDefaultAccount } = await promptUser([
164
+ async function confirmDefaultAccountPrompt(accountName, accountType) {
165
+ const { useDefaultAccount } = await (0, promptUtils_1.promptUser)([
160
166
  {
161
167
  name: 'useDefaultAccount',
162
168
  type: 'confirm',
163
- message: i18n(`lib.prompts.projectDevTargetAccountPrompt.confirmDefaultAccount`, {
169
+ message: (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.confirmDefaultAccount`, {
164
170
  accountName,
165
171
  accountType,
166
172
  }),
@@ -168,12 +174,12 @@ export async function confirmDefaultAccountPrompt(accountName, accountType) {
168
174
  ]);
169
175
  return useDefaultAccount;
170
176
  }
171
- export async function confirmUseExistingDeveloperTestAccountPrompt(account) {
172
- const { confirmUseExistingDeveloperTestAccount } = await promptUser([
177
+ async function confirmUseExistingDeveloperTestAccountPrompt(account) {
178
+ const { confirmUseExistingDeveloperTestAccount } = await (0, promptUtils_1.promptUser)([
173
179
  {
174
180
  name: 'confirmUseExistingDeveloperTestAccount',
175
181
  type: 'confirm',
176
- message: i18n(`lib.prompts.projectDevTargetAccountPrompt.confirmUseExistingDeveloperTestAccount`, {
182
+ message: (0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.confirmUseExistingDeveloperTestAccount`, {
177
183
  accountName: getNonConfigDeveloperTestAccountName(account),
178
184
  }),
179
185
  },
@@ -1,3 +1,3 @@
1
- import { PromptOptionsArg, ProjectNameAndDestPromptResponse } from './selectProjectTemplatePrompt.js';
1
+ import { PromptOptionsArg, ProjectNameAndDestPromptResponse } from './selectProjectTemplatePrompt';
2
2
  export declare function projectNameAndDestPrompt(promptOptions: PromptOptionsArg): Promise<ProjectNameAndDestPromptResponse>;
3
3
  export declare function validateProjectDirectory(input?: string): string | boolean;
@@ -1,33 +1,40 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { sanitizeFileName, getCwd, untildify, isValidPath, } from '@hubspot/local-dev-lib/path';
4
- import { lib } from '../../lang/en.js';
5
- import { promptUser } from './promptUtils.js';
6
- import { PROJECT_CONFIG_FILE } from '../constants.js';
7
- export async function projectNameAndDestPrompt(promptOptions) {
8
- const result = await promptUser([
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.projectNameAndDestPrompt = projectNameAndDestPrompt;
7
+ exports.validateProjectDirectory = validateProjectDirectory;
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const path_2 = require("@hubspot/local-dev-lib/path");
11
+ const en_1 = require("../../lang/en");
12
+ const promptUtils_1 = require("./promptUtils");
13
+ const constants_1 = require("../constants");
14
+ async function projectNameAndDestPrompt(promptOptions) {
15
+ const result = await (0, promptUtils_1.promptUser)([
9
16
  {
10
17
  name: 'name',
11
- message: lib.prompts.projectNameAndDestPrompt.enterName,
18
+ message: en_1.lib.prompts.projectNameAndDestPrompt.enterName,
12
19
  when: !promptOptions.name,
13
20
  validate: (input) => {
14
21
  if (!input) {
15
- return lib.prompts.projectNameAndDestPrompt.errors.nameRequired;
22
+ return en_1.lib.prompts.projectNameAndDestPrompt.errors.nameRequired;
16
23
  }
17
24
  return true;
18
25
  },
19
26
  },
20
27
  {
21
28
  name: 'dest',
22
- message: lib.prompts.projectNameAndDestPrompt.enterDest,
29
+ message: en_1.lib.prompts.projectNameAndDestPrompt.enterDest,
23
30
  when: !promptOptions.dest,
24
- default: (answers) => {
25
- const projectName = sanitizeFileName(promptOptions.name || answers.name);
26
- return path.resolve(getCwd(), projectName);
31
+ default: answers => {
32
+ const projectName = (0, path_2.sanitizeFileName)(promptOptions.name || answers.name);
33
+ return path_1.default.resolve((0, path_2.getCwd)(), projectName);
27
34
  },
28
35
  validate: validateProjectDirectory,
29
- filter: (input) => {
30
- return untildify(input);
36
+ filter: input => {
37
+ return (0, path_2.untildify)(input);
31
38
  },
32
39
  },
33
40
  ]);
@@ -39,15 +46,15 @@ export async function projectNameAndDestPrompt(promptOptions) {
39
46
  }
40
47
  return result;
41
48
  }
42
- export function validateProjectDirectory(input) {
49
+ function validateProjectDirectory(input) {
43
50
  if (!input) {
44
- return lib.prompts.projectNameAndDestPrompt.errors.destRequired;
51
+ return en_1.lib.prompts.projectNameAndDestPrompt.errors.destRequired;
45
52
  }
46
- if (fs.existsSync(path.resolve(getCwd(), path.join(input, PROJECT_CONFIG_FILE)))) {
47
- return lib.prompts.projectNameAndDestPrompt.errors.invalidDest;
53
+ if (fs_1.default.existsSync(path_1.default.resolve((0, path_2.getCwd)(), path_1.default.join(input, constants_1.PROJECT_CONFIG_FILE)))) {
54
+ return en_1.lib.prompts.projectNameAndDestPrompt.errors.invalidDest;
48
55
  }
49
- if (!isValidPath(input)) {
50
- return lib.prompts.projectNameAndDestPrompt.errors.invalidCharacters;
56
+ if (!(0, path_2.isValidPath)(input)) {
57
+ return en_1.lib.prompts.projectNameAndDestPrompt.errors.invalidCharacters;
51
58
  }
52
59
  return true;
53
60
  }