@hubspot/cli 7.7.21-experimental.1 → 7.7.22-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 (565) hide show
  1. package/api/__tests__/migrate.test.js +27 -29
  2. package/api/migrate.js +14 -22
  3. package/bin/cli.js +92 -97
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +1 -2
  7. package/commands/__tests__/account.test.js +29 -34
  8. package/commands/__tests__/auth.test.js +11 -16
  9. package/commands/__tests__/cms.test.js +15 -20
  10. package/commands/__tests__/config.test.js +14 -19
  11. package/commands/__tests__/create.test.js +10 -15
  12. package/commands/__tests__/customObject.test.js +14 -19
  13. package/commands/__tests__/doctor.test.js +43 -48
  14. package/commands/__tests__/feedback.test.js +7 -45
  15. package/commands/__tests__/fetch.test.js +29 -28
  16. package/commands/__tests__/filemanager.test.js +14 -19
  17. package/commands/__tests__/function.test.js +16 -21
  18. package/commands/__tests__/getStarted.test.js +45 -50
  19. package/commands/__tests__/hubdb.test.js +17 -22
  20. package/commands/__tests__/init.test.js +12 -17
  21. package/commands/__tests__/lint.test.js +13 -18
  22. package/commands/__tests__/list.test.js +18 -23
  23. package/commands/__tests__/logs.test.js +28 -27
  24. package/commands/__tests__/mcp.test.js +14 -19
  25. package/commands/__tests__/mv.test.js +14 -52
  26. package/commands/__tests__/open.test.js +13 -51
  27. package/commands/__tests__/project.test.js +44 -49
  28. package/commands/__tests__/remove.test.js +13 -51
  29. package/commands/__tests__/sandbox.test.js +14 -19
  30. package/commands/__tests__/secret.test.js +16 -21
  31. package/commands/__tests__/testAccount.test.js +16 -21
  32. package/commands/__tests__/theme.test.js +15 -20
  33. package/commands/account/__tests__/auth.test.js +11 -16
  34. package/commands/account/__tests__/clean.test.js +12 -17
  35. package/commands/account/__tests__/createOverride.test.js +10 -15
  36. package/commands/account/__tests__/info.test.js +11 -16
  37. package/commands/account/__tests__/list.test.js +11 -16
  38. package/commands/account/__tests__/remove.test.js +13 -18
  39. package/commands/account/__tests__/removeOverride.js +8 -13
  40. package/commands/account/__tests__/rename.test.js +15 -20
  41. package/commands/account/__tests__/use.test.js +10 -15
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +65 -67
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +55 -60
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +52 -57
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +33 -35
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +43 -45
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +37 -42
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +38 -43
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +18 -20
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +29 -31
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +23 -28
  62. package/commands/app/__tests__/migrate.test.js +29 -34
  63. package/commands/app/migrate.d.ts +2 -2
  64. package/commands/app/migrate.js +40 -43
  65. package/commands/app/secret/__tests__/add.test.js +6 -11
  66. package/commands/app/secret/__tests__/delete.test.js +6 -11
  67. package/commands/app/secret/__tests__/list.test.js +6 -11
  68. package/commands/app/secret/__tests__/update.test.js +6 -11
  69. package/commands/app/secret/add.d.ts +1 -1
  70. package/commands/app/secret/add.js +28 -30
  71. package/commands/app/secret/delete.d.ts +1 -1
  72. package/commands/app/secret/delete.js +34 -36
  73. package/commands/app/secret/list.d.ts +1 -1
  74. package/commands/app/secret/list.js +25 -27
  75. package/commands/app/secret/update.d.ts +1 -1
  76. package/commands/app/secret/update.js +32 -34
  77. package/commands/app/secret.d.ts +1 -1
  78. package/commands/app/secret.js +12 -17
  79. package/commands/app.d.ts +1 -1
  80. package/commands/app.js +6 -16
  81. package/commands/auth.d.ts +1 -1
  82. package/commands/auth.js +70 -72
  83. package/commands/cms/convertFields.d.ts +1 -1
  84. package/commands/cms/convertFields.js +34 -39
  85. package/commands/cms/getReactModule.d.ts +1 -1
  86. package/commands/cms/getReactModule.js +32 -37
  87. package/commands/cms/lighthouseScore.d.ts +1 -1
  88. package/commands/cms/lighthouseScore.js +67 -72
  89. package/commands/cms.d.ts +1 -1
  90. package/commands/cms.js +11 -16
  91. package/commands/completion.d.ts +1 -1
  92. package/commands/completion.js +10 -15
  93. package/commands/config/migrate.d.ts +1 -1
  94. package/commands/config/migrate.js +27 -32
  95. package/commands/config/set.d.ts +1 -1
  96. package/commands/config/set.js +23 -25
  97. package/commands/config.d.ts +1 -1
  98. package/commands/config.js +8 -13
  99. package/commands/create/api-sample.d.ts +1 -1
  100. package/commands/create/api-sample.js +28 -33
  101. package/commands/create/app.d.ts +1 -1
  102. package/commands/create/app.js +3 -5
  103. package/commands/create/function.d.ts +1 -1
  104. package/commands/create/function.js +9 -11
  105. package/commands/create/index.d.ts +1 -1
  106. package/commands/create/index.js +19 -24
  107. package/commands/create/module.d.ts +1 -1
  108. package/commands/create/module.js +12 -14
  109. package/commands/create/react-app.d.ts +1 -1
  110. package/commands/create/react-app.js +3 -5
  111. package/commands/create/template.d.ts +1 -1
  112. package/commands/create/template.js +12 -14
  113. package/commands/create/vue-app.d.ts +1 -1
  114. package/commands/create/vue-app.js +3 -5
  115. package/commands/create/webpack-serverless.d.ts +1 -1
  116. package/commands/create/webpack-serverless.js +3 -5
  117. package/commands/create/website-theme.d.ts +1 -1
  118. package/commands/create/website-theme.js +5 -7
  119. package/commands/create.d.ts +2 -2
  120. package/commands/create.js +30 -35
  121. package/commands/customObject/__tests__/create.test.js +13 -18
  122. package/commands/customObject/__tests__/schema.test.js +18 -23
  123. package/commands/customObject/create.d.ts +1 -1
  124. package/commands/customObject/create.js +28 -30
  125. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  126. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  127. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  131. package/commands/customObject/schema/create.d.ts +1 -1
  132. package/commands/customObject/schema/create.js +28 -30
  133. package/commands/customObject/schema/delete.d.ts +1 -1
  134. package/commands/customObject/schema/delete.js +24 -26
  135. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  136. package/commands/customObject/schema/fetch-all.js +22 -24
  137. package/commands/customObject/schema/fetch.d.ts +1 -1
  138. package/commands/customObject/schema/fetch.js +24 -26
  139. package/commands/customObject/schema/list.d.ts +1 -1
  140. package/commands/customObject/schema/list.js +13 -15
  141. package/commands/customObject/schema/update.d.ts +1 -1
  142. package/commands/customObject/schema/update.js +32 -34
  143. package/commands/customObject/schema.d.ts +1 -1
  144. package/commands/customObject/schema.js +17 -22
  145. package/commands/customObject.d.ts +1 -1
  146. package/commands/customObject.js +13 -18
  147. package/commands/doctor.d.ts +1 -1
  148. package/commands/doctor.js +28 -33
  149. package/commands/feedback.d.ts +1 -1
  150. package/commands/feedback.js +19 -24
  151. package/commands/fetch.d.ts +1 -1
  152. package/commands/fetch.js +28 -30
  153. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  154. package/commands/filemanager/__tests__/upload.test.js +15 -20
  155. package/commands/filemanager/fetch.d.ts +1 -1
  156. package/commands/filemanager/fetch.js +23 -25
  157. package/commands/filemanager/upload.d.ts +1 -1
  158. package/commands/filemanager/upload.js +39 -44
  159. package/commands/filemanager.d.ts +1 -1
  160. package/commands/filemanager.js +8 -13
  161. package/commands/function/deploy.d.ts +1 -1
  162. package/commands/function/deploy.js +35 -40
  163. package/commands/function/list.d.ts +1 -1
  164. package/commands/function/list.js +24 -29
  165. package/commands/function/server.d.ts +1 -1
  166. package/commands/function/server.js +15 -17
  167. package/commands/function.d.ts +1 -1
  168. package/commands/function.js +12 -18
  169. package/commands/getStarted.d.ts +1 -1
  170. package/commands/getStarted.js +119 -125
  171. package/commands/hubdb/__tests__/clear.test.js +13 -18
  172. package/commands/hubdb/__tests__/create.test.js +13 -18
  173. package/commands/hubdb/__tests__/delete.test.js +13 -18
  174. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  175. package/commands/hubdb/__tests__/list.test.js +23 -28
  176. package/commands/hubdb/clear.d.ts +1 -1
  177. package/commands/hubdb/clear.js +20 -22
  178. package/commands/hubdb/create.d.ts +1 -1
  179. package/commands/hubdb/create.js +30 -35
  180. package/commands/hubdb/delete.d.ts +1 -1
  181. package/commands/hubdb/delete.js +24 -26
  182. package/commands/hubdb/fetch.d.ts +1 -1
  183. package/commands/hubdb/fetch.js +17 -19
  184. package/commands/hubdb/list.d.ts +1 -1
  185. package/commands/hubdb/list.js +33 -35
  186. package/commands/hubdb.d.ts +1 -1
  187. package/commands/hubdb.js +18 -24
  188. package/commands/init.d.ts +1 -1
  189. package/commands/init.js +83 -88
  190. package/commands/lint.d.ts +1 -1
  191. package/commands/lint.js +24 -26
  192. package/commands/list.d.ts +1 -1
  193. package/commands/list.js +32 -37
  194. package/commands/logs.d.ts +1 -1
  195. package/commands/logs.js +35 -37
  196. package/commands/mcp/__tests__/setup.test.js +7 -12
  197. package/commands/mcp/__tests__/start.test.js +7 -12
  198. package/commands/mcp/setup.d.ts +1 -1
  199. package/commands/mcp/setup.js +17 -19
  200. package/commands/mcp/start.d.ts +1 -1
  201. package/commands/mcp/start.js +29 -34
  202. package/commands/mcp.d.ts +1 -1
  203. package/commands/mcp.js +7 -12
  204. package/commands/module/marketplace-validate.d.ts +1 -1
  205. package/commands/module/marketplace-validate.js +21 -26
  206. package/commands/module.d.ts +1 -1
  207. package/commands/module.js +7 -13
  208. package/commands/mv.d.ts +1 -1
  209. package/commands/mv.js +20 -22
  210. package/commands/open.d.ts +1 -1
  211. package/commands/open.js +19 -21
  212. package/commands/project/__tests__/add.test.js +10 -15
  213. package/commands/project/__tests__/create.test.js +14 -19
  214. package/commands/project/__tests__/deploy.test.js +96 -134
  215. package/commands/project/__tests__/devUnifiedFlow.test.js +133 -139
  216. package/commands/project/__tests__/download.test.js +14 -19
  217. package/commands/project/__tests__/installDeps.test.js +32 -70
  218. package/commands/project/__tests__/listBuilds.test.js +14 -19
  219. package/commands/project/__tests__/logs.test.js +56 -94
  220. package/commands/project/__tests__/migrate.test.js +25 -30
  221. package/commands/project/__tests__/migrateApp.test.js +17 -22
  222. package/commands/project/__tests__/open.test.js +16 -21
  223. package/commands/project/__tests__/profile.test.js +14 -19
  224. package/commands/project/__tests__/upload.test.js +18 -23
  225. package/commands/project/__tests__/watch.test.js +14 -19
  226. package/commands/project/add.d.ts +1 -1
  227. package/commands/project/add.js +34 -36
  228. package/commands/project/cloneApp.d.ts +1 -1
  229. package/commands/project/cloneApp.js +67 -72
  230. package/commands/project/create.d.ts +2 -2
  231. package/commands/project/create.js +63 -68
  232. package/commands/project/deploy.d.ts +1 -1
  233. package/commands/project/deploy.js +67 -69
  234. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  235. package/commands/project/dev/deprecatedFlow.js +52 -58
  236. package/commands/project/dev/index.d.ts +1 -1
  237. package/commands/project/dev/index.js +44 -47
  238. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  239. package/commands/project/dev/unifiedFlow.js +62 -68
  240. package/commands/project/download.d.ts +1 -1
  241. package/commands/project/download.js +35 -40
  242. package/commands/project/installDeps.d.ts +1 -1
  243. package/commands/project/installDeps.js +29 -34
  244. package/commands/project/listBuilds.d.ts +1 -1
  245. package/commands/project/listBuilds.js +40 -45
  246. package/commands/project/logs.d.ts +1 -1
  247. package/commands/project/logs.js +52 -54
  248. package/commands/project/migrate.d.ts +1 -1
  249. package/commands/project/migrate.js +24 -26
  250. package/commands/project/migrateApp.d.ts +2 -2
  251. package/commands/project/migrateApp.js +18 -20
  252. package/commands/project/open.d.ts +1 -1
  253. package/commands/project/open.js +25 -30
  254. package/commands/project/profile/add.d.ts +1 -1
  255. package/commands/project/profile/add.js +68 -73
  256. package/commands/project/profile/delete.d.ts +1 -1
  257. package/commands/project/profile/delete.js +51 -56
  258. package/commands/project/profile.d.ts +1 -1
  259. package/commands/project/profile.js +9 -14
  260. package/commands/project/upload.d.ts +1 -1
  261. package/commands/project/upload.js +50 -55
  262. package/commands/project/validate.d.ts +1 -1
  263. package/commands/project/validate.js +35 -40
  264. package/commands/project/watch.d.ts +1 -1
  265. package/commands/project/watch.js +59 -61
  266. package/commands/project.d.ts +1 -1
  267. package/commands/project.js +38 -43
  268. package/commands/remove.d.ts +1 -1
  269. package/commands/remove.js +15 -17
  270. package/commands/sandbox/__tests__/create.test.js +15 -20
  271. package/commands/sandbox/__tests__/delete.test.js +15 -20
  272. package/commands/sandbox/create.d.ts +1 -1
  273. package/commands/sandbox/create.js +67 -69
  274. package/commands/sandbox/delete.d.ts +1 -1
  275. package/commands/sandbox/delete.js +94 -96
  276. package/commands/sandbox.d.ts +1 -1
  277. package/commands/sandbox.js +9 -14
  278. package/commands/secret/__tests__/addSecret.test.js +13 -18
  279. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  280. package/commands/secret/__tests__/listSecret.test.js +13 -18
  281. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  282. package/commands/secret/addSecret.d.ts +1 -1
  283. package/commands/secret/addSecret.js +26 -28
  284. package/commands/secret/deleteSecret.d.ts +1 -1
  285. package/commands/secret/deleteSecret.js +27 -29
  286. package/commands/secret/listSecret.d.ts +1 -1
  287. package/commands/secret/listSecret.js +19 -21
  288. package/commands/secret/updateSecret.d.ts +1 -1
  289. package/commands/secret/updateSecret.js +25 -27
  290. package/commands/secret.d.ts +1 -1
  291. package/commands/secret.js +13 -18
  292. package/commands/testAccount/__tests__/create.test.js +17 -22
  293. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  294. package/commands/testAccount/__tests__/delete.test.js +15 -20
  295. package/commands/testAccount/create.d.ts +1 -1
  296. package/commands/testAccount/create.js +45 -53
  297. package/commands/testAccount/createConfig.d.ts +1 -1
  298. package/commands/testAccount/createConfig.js +36 -41
  299. package/commands/testAccount/delete.d.ts +1 -1
  300. package/commands/testAccount/delete.js +17 -19
  301. package/commands/testAccount.d.ts +1 -1
  302. package/commands/testAccount.js +10 -15
  303. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  304. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  305. package/commands/theme/__tests__/preview.test.js +12 -17
  306. package/commands/theme/generate-selectors.d.ts +1 -1
  307. package/commands/theme/generate-selectors.js +23 -28
  308. package/commands/theme/marketplace-validate.d.ts +1 -1
  309. package/commands/theme/marketplace-validate.js +19 -24
  310. package/commands/theme/preview.d.ts +1 -1
  311. package/commands/theme/preview.js +60 -65
  312. package/commands/theme.d.ts +1 -1
  313. package/commands/theme.js +11 -16
  314. package/commands/upload.d.ts +1 -1
  315. package/commands/upload.js +77 -82
  316. package/commands/watch.d.ts +1 -1
  317. package/commands/watch.js +45 -51
  318. package/lang/en.d.ts +0 -22
  319. package/lang/en.js +371 -399
  320. package/lib/__tests__/accountTypes.test.js +20 -22
  321. package/lib/__tests__/buildAccount.test.js +28 -63
  322. package/lib/__tests__/commonOpts.test.js +20 -22
  323. package/lib/__tests__/dependencyManagement.test.js +46 -51
  324. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  325. package/lib/__tests__/hasFeature.test.js +6 -8
  326. package/lib/__tests__/npm.test.js +15 -20
  327. package/lib/__tests__/oauth.test.js +23 -28
  328. package/lib/__tests__/parsing.test.js +18 -20
  329. package/lib/__tests__/polling.test.js +24 -26
  330. package/lib/__tests__/process.test.js +14 -19
  331. package/lib/__tests__/projectProfiles.test.js +34 -39
  332. package/lib/__tests__/sandboxSync.test.js +30 -35
  333. package/lib/__tests__/sandboxes.test.js +29 -31
  334. package/lib/__tests__/serverlessLogs.test.js +8 -13
  335. package/lib/__tests__/usageTracking.test.js +33 -34
  336. package/lib/__tests__/validation.test.js +18 -20
  337. package/lib/__tests__/yargsUtils.test.js +6 -41
  338. package/lib/accountTypes.js +24 -34
  339. package/lib/app/__tests__/migrate.test.js +94 -99
  340. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  341. package/lib/app/migrate.d.ts +3 -3
  342. package/lib/app/migrate.js +127 -145
  343. package/lib/app/migrate_legacy.d.ts +1 -1
  344. package/lib/app/migrate_legacy.js +72 -78
  345. package/lib/app/urls.js +5 -9
  346. package/lib/buildAccount.d.ts +1 -1
  347. package/lib/buildAccount.js +71 -80
  348. package/lib/commonOpts.d.ts +1 -1
  349. package/lib/commonOpts.js +42 -59
  350. package/lib/configMigrate.js +34 -38
  351. package/lib/configOptions.js +34 -40
  352. package/lib/constants.js +31 -34
  353. package/lib/customObject.js +2 -6
  354. package/lib/dependencyManagement.js +37 -45
  355. package/lib/developerTestAccounts.d.ts +1 -1
  356. package/lib/developerTestAccounts.js +34 -39
  357. package/lib/doctor/Diagnosis.d.ts +1 -1
  358. package/lib/doctor/Diagnosis.js +25 -29
  359. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  360. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  361. package/lib/doctor/Doctor.d.ts +1 -1
  362. package/lib/doctor/Doctor.js +94 -101
  363. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  364. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  365. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  366. package/lib/enums/exitCodes.js +1 -4
  367. package/lib/errorHandlers/index.js +32 -41
  368. package/lib/errorHandlers/suppressError.d.ts +1 -1
  369. package/lib/errorHandlers/suppressError.js +28 -31
  370. package/lib/filesystem.js +8 -15
  371. package/lib/generateSelectors.js +18 -29
  372. package/lib/hasFeature.d.ts +1 -1
  373. package/lib/hasFeature.js +3 -6
  374. package/lib/interpolation.js +11 -18
  375. package/lib/lang.d.ts +1 -1
  376. package/lib/lang.js +22 -27
  377. package/lib/links.js +16 -24
  378. package/lib/marketplaceValidate.js +29 -39
  379. package/lib/mcp/setup.js +70 -82
  380. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  381. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  382. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  383. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  384. package/lib/middleware/__test__/utils.test.js +9 -11
  385. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  386. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  387. package/lib/middleware/configMiddleware.js +36 -42
  388. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  389. package/lib/middleware/gitMiddleware.js +5 -8
  390. package/lib/middleware/notificationsMiddleware.js +16 -23
  391. package/lib/middleware/requestMiddleware.js +4 -10
  392. package/lib/middleware/utils.js +1 -4
  393. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  394. package/lib/npm.js +14 -23
  395. package/lib/oauth.js +29 -35
  396. package/lib/parsing.js +3 -6
  397. package/lib/polling.js +11 -15
  398. package/lib/process.js +11 -19
  399. package/lib/projectProfiles.d.ts +2 -2
  400. package/lib/projectProfiles.js +32 -42
  401. package/lib/projects/ProjectLogsManager.js +18 -21
  402. package/lib/projects/__tests__/AppDevModeInterface.test.js +140 -145
  403. package/lib/projects/__tests__/LocalDevProcess.test.js +68 -73
  404. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +32 -37
  405. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  406. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  407. package/lib/projects/__tests__/components.test.js +9 -14
  408. package/lib/projects/__tests__/projects.test.js +35 -40
  409. package/lib/projects/__tests__/structure.test.js +43 -81
  410. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  411. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  412. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  413. package/lib/projects/add/legacyAddComponent.js +24 -30
  414. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  415. package/lib/projects/add/v3AddComponent.js +36 -42
  416. package/lib/projects/buildAndDeploy.d.ts +1 -1
  417. package/lib/projects/buildAndDeploy.js +88 -97
  418. package/lib/projects/components.js +19 -25
  419. package/lib/projects/config.d.ts +1 -1
  420. package/lib/projects/config.js +32 -41
  421. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  422. package/lib/projects/create/__tests__/v3.test.js +5 -7
  423. package/lib/projects/create/index.d.ts +3 -3
  424. package/lib/projects/create/index.js +19 -22
  425. package/lib/projects/create/legacy.d.ts +1 -1
  426. package/lib/projects/create/legacy.js +25 -31
  427. package/lib/projects/create/v3.d.ts +3 -3
  428. package/lib/projects/create/v3.js +49 -59
  429. package/lib/projects/ensureProjectExists.js +31 -37
  430. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  431. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  432. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  433. package/lib/projects/localDev/DevServerManager.js +22 -24
  434. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  435. package/lib/projects/localDev/DevServerManagerV2.js +15 -20
  436. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  437. package/lib/projects/localDev/LocalDevLogger.js +59 -64
  438. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  439. package/lib/projects/localDev/LocalDevManager.js +106 -111
  440. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  441. package/lib/projects/localDev/LocalDevProcess.js +25 -30
  442. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  443. package/lib/projects/localDev/LocalDevState.js +3 -5
  444. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  445. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  446. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  447. package/lib/projects/localDev/LocalDevWebsocketServer.js +25 -27
  448. package/lib/projects/localDev/helpers.d.ts +3 -3
  449. package/lib/projects/localDev/helpers.js +156 -174
  450. package/lib/projects/structure.d.ts +4 -4
  451. package/lib/projects/structure.js +32 -78
  452. package/lib/projects/ui.js +10 -13
  453. package/lib/projects/upload.d.ts +2 -3
  454. package/lib/projects/upload.js +55 -65
  455. package/lib/projects/urls.js +14 -24
  456. package/lib/projects/watch.d.ts +1 -1
  457. package/lib/projects/watch.js +48 -54
  458. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  459. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  460. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  461. package/lib/prompts/accountNamePrompt.js +26 -31
  462. package/lib/prompts/accountsPrompt.js +12 -15
  463. package/lib/prompts/cmsFieldPrompt.js +13 -19
  464. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  465. package/lib/prompts/createApiSamplePrompt.js +9 -12
  466. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +1 -1
  467. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +23 -26
  468. package/lib/prompts/createFunctionPrompt.js +17 -20
  469. package/lib/prompts/createModulePrompt.js +12 -15
  470. package/lib/prompts/createTemplatePrompt.js +5 -8
  471. package/lib/prompts/downloadProjectPrompt.js +17 -20
  472. package/lib/prompts/installAppPrompt.js +19 -26
  473. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  474. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  475. package/lib/prompts/previewPrompt.js +15 -22
  476. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  477. package/lib/prompts/projectAddPrompt.js +14 -18
  478. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  479. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  480. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  481. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  482. package/lib/prompts/projectNamePrompt.js +11 -14
  483. package/lib/prompts/projectsLogsPrompt.js +5 -8
  484. package/lib/prompts/promptUtils.d.ts +1 -1
  485. package/lib/prompts/promptUtils.js +17 -24
  486. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  487. package/lib/prompts/sandboxesPrompt.js +26 -30
  488. package/lib/prompts/secretPrompt.js +10 -15
  489. package/lib/prompts/selectAppPrompt.js +11 -14
  490. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  491. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  492. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  493. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  494. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  495. package/lib/prompts/uploadPrompt.js +11 -17
  496. package/lib/sandboxSync.d.ts +1 -1
  497. package/lib/sandboxSync.js +58 -65
  498. package/lib/sandboxes.d.ts +1 -1
  499. package/lib/sandboxes.js +68 -76
  500. package/lib/schema.js +13 -20
  501. package/lib/serverlessLogs.js +45 -52
  502. package/lib/testUtils.js +4 -8
  503. package/lib/ui/SpinniesManager.d.ts +1 -1
  504. package/lib/ui/SpinniesManager.js +29 -34
  505. package/lib/ui/boxen.js +11 -14
  506. package/lib/ui/git.js +14 -20
  507. package/lib/ui/index.js +55 -73
  508. package/lib/ui/logger.js +10 -13
  509. package/lib/ui/serverlessFunctionLogs.js +14 -20
  510. package/lib/ui/spinniesUtils.js +24 -39
  511. package/lib/ui/supportHyperlinks.js +3 -6
  512. package/lib/ui/supportsColor.js +11 -17
  513. package/lib/ui/table.js +6 -13
  514. package/lib/upload.js +15 -21
  515. package/lib/usageTracking.js +35 -44
  516. package/lib/utils/hasFlag.js +2 -8
  517. package/lib/validation.js +48 -87
  518. package/lib/yargsUtils.d.ts +1 -1
  519. package/lib/yargsUtils.js +13 -16
  520. package/mcp-server/server.js +6 -8
  521. package/mcp-server/tools/index.js +13 -16
  522. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  523. package/mcp-server/tools/project/AddFeatureToProject.js +35 -39
  524. package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
  525. package/mcp-server/tools/project/CreateProjectTool.js +46 -50
  526. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  527. package/mcp-server/tools/project/DeployProject.js +18 -22
  528. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  529. package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
  530. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  531. package/mcp-server/tools/project/UploadProjectTools.js +12 -19
  532. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  533. package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
  534. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +12 -14
  535. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +13 -15
  536. package/mcp-server/tools/project/__tests__/DeployProject.test.js +6 -8
  537. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  538. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  539. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  540. package/mcp-server/tools/project/constants.js +3 -9
  541. package/mcp-server/types.js +1 -5
  542. package/mcp-server/utils/__tests__/command.test.js +9 -11
  543. package/mcp-server/utils/__tests__/project.test.js +12 -17
  544. package/mcp-server/utils/command.d.ts +1 -1
  545. package/mcp-server/utils/command.js +4 -11
  546. package/mcp-server/utils/content.d.ts +1 -1
  547. package/mcp-server/utils/content.js +2 -6
  548. package/mcp-server/utils/project.js +8 -14
  549. package/mcp-server/utils/toolUsageTracking.js +11 -14
  550. package/package.json +15 -11
  551. package/types/Cms.d.ts +1 -1
  552. package/types/Cms.js +1 -2
  553. package/types/LocalDev.d.ts +4 -4
  554. package/types/LocalDev.js +1 -2
  555. package/types/ProjectComponents.d.ts +2 -2
  556. package/types/ProjectComponents.js +1 -2
  557. package/types/Projects.d.ts +1 -1
  558. package/types/Projects.js +2 -5
  559. package/types/Prompts.js +1 -2
  560. package/types/Sandboxes.js +1 -2
  561. package/types/Yargs.js +1 -2
  562. package/commands/app/__tests__/install.test.d.ts +0 -1
  563. package/commands/app/__tests__/install.test.js +0 -52
  564. package/commands/app/install.d.ts +0 -8
  565. package/commands/app/install.js +0 -127
@@ -1,162 +1,144 @@
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.confirmDefaultAccountIsTarget = confirmDefaultAccountIsTarget;
7
- exports.checkIfDefaultAccountIsSupported = checkIfDefaultAccountIsSupported;
8
- exports.checkIfParentAccountIsAuthed = checkIfParentAccountIsAuthed;
9
- exports.checkIfAccountFlagIsSupported = checkIfAccountFlagIsSupported;
10
- exports.suggestRecommendedNestedAccount = suggestRecommendedNestedAccount;
11
- exports.createSandboxForLocalDev = createSandboxForLocalDev;
12
- exports.createDeveloperTestAccountForLocalDev = createDeveloperTestAccountForLocalDev;
13
- exports.useExistingDevTestAccount = useExistingDevTestAccount;
14
- exports.createNewProjectForLocalDev = createNewProjectForLocalDev;
15
- exports.createInitialBuildForNewProject = createInitialBuildForNewProject;
16
- exports.getAccountHomeUrl = getAccountHomeUrl;
17
- exports.hasSandboxes = hasSandboxes;
18
- exports.selectAccountTypePrompt = selectAccountTypePrompt;
19
- const config_1 = require("@hubspot/local-dev-lib/constants/config");
20
- const index_1 = require("@hubspot/local-dev-lib/errors/index");
21
- const urls_1 = require("@hubspot/local-dev-lib/urls");
22
- const config_2 = require("@hubspot/local-dev-lib/config");
23
- const projects_1 = require("@hubspot/local-dev-lib/api/projects");
24
- const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
25
- const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
26
- const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
27
- const sandboxHubs_1 = require("@hubspot/local-dev-lib/api/sandboxHubs");
28
- const projectDevTargetAccountPrompt_1 = require("../../prompts/projectDevTargetAccountPrompt");
29
- const promptUtils_1 = require("../../prompts/promptUtils");
30
- const sandboxes_1 = require("../../sandboxes");
31
- const sandboxSync_1 = require("../../sandboxSync");
32
- const developerTestAccounts_1 = require("../../developerTestAccounts");
33
- const ui_1 = require("../../ui");
34
- const SpinniesManager_1 = __importDefault(require("../../ui/SpinniesManager"));
35
- const exitCodes_1 = require("../../enums/exitCodes");
36
- const usageTracking_1 = require("../../usageTracking");
37
- const accountTypes_1 = require("../../accountTypes");
38
- const upload_1 = require("../../projects/upload");
39
- const buildAndDeploy_1 = require("../../projects/buildAndDeploy");
40
- const constants_1 = require("../../constants");
41
- const index_2 = require("../../errorHandlers/index");
42
- const buildAccount_1 = require("../../buildAccount");
43
- const accountNamePrompt_1 = require("../../prompts/accountNamePrompt");
44
- const en_1 = require("../../../lang/en");
45
- const logger_1 = require("../../ui/logger");
1
+ import { HUBSPOT_ACCOUNT_TYPES, HUBSPOT_ACCOUNT_TYPE_STRINGS, } from '@hubspot/local-dev-lib/constants/config';
2
+ import { isMissingScopeError, isSpecifiedError, } from '@hubspot/local-dev-lib/errors/index';
3
+ import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
4
+ import { getAccountConfig, getEnv } from '@hubspot/local-dev-lib/config';
5
+ import { createProject } from '@hubspot/local-dev-lib/api/projects';
6
+ import { ENVIRONMENTS } from '@hubspot/local-dev-lib/constants/environments';
7
+ import { PERSONAL_ACCESS_KEY_AUTH_METHOD } from '@hubspot/local-dev-lib/constants/auth';
8
+ import { getAccountIdentifier } from '@hubspot/local-dev-lib/config/getAccountIdentifier';
9
+ import { getSandboxUsageLimits } from '@hubspot/local-dev-lib/api/sandboxHubs';
10
+ import { confirmDefaultAccountPrompt, selectSandboxTargetAccountPrompt, selectDeveloperTestTargetAccountPrompt, confirmUseExistingDeveloperTestAccountPrompt, } from '../../prompts/projectDevTargetAccountPrompt.js';
11
+ import { confirmPrompt, listPrompt } from '../../prompts/promptUtils.js';
12
+ import { validateSandboxUsageLimits, getAvailableSyncTypes, } from '../../sandboxes.js';
13
+ import { syncSandbox } from '../../sandboxSync.js';
14
+ import { validateDevTestAccountUsageLimits } from '../../developerTestAccounts.js';
15
+ import { uiLine, uiAccountDescription } from '../../ui/index.js';
16
+ import SpinniesManager from '../../ui/SpinniesManager.js';
17
+ import { EXIT_CODES } from '../../enums/exitCodes.js';
18
+ import { trackCommandMetadataUsage } from '../../usageTracking.js';
19
+ import { isAppDeveloperAccount, isDeveloperTestAccount, isUnifiedAccount, } from '../../accountTypes.js';
20
+ import { handleProjectUpload } from '../../projects/upload.js';
21
+ import { pollProjectBuildAndDeploy } from '../../projects/buildAndDeploy.js';
22
+ import { PROJECT_ERROR_TYPES, PROJECT_BUILD_TEXT, PROJECT_DEPLOY_TEXT, } from '../../constants.js';
23
+ import { logError, ApiErrorContext, debugError, } from '../../errorHandlers/index.js';
24
+ import { buildSandbox, buildDeveloperTestAccount, saveAccountToConfig, } from '../../buildAccount.js';
25
+ import { hubspotAccountNamePrompt } from '../../prompts/accountNamePrompt.js';
26
+ import { lib } from '../../../lang/en.js';
27
+ import { uiLogger } from '../../ui/logger.js';
46
28
  // If the user passed in the --account flag, confirm they want to use that account as
47
29
  // their target account, otherwise exit
48
- async function confirmDefaultAccountIsTarget(accountConfig) {
30
+ export async function confirmDefaultAccountIsTarget(accountConfig) {
49
31
  if (!accountConfig.name || !accountConfig.accountType) {
50
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.confirmDefaultAccountIsTarget.configError);
51
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
32
+ uiLogger.error(lib.localDevHelpers.confirmDefaultAccountIsTarget.configError);
33
+ process.exit(EXIT_CODES.ERROR);
52
34
  }
53
- logger_1.uiLogger.log('');
54
- const useDefaultAccount = await (0, projectDevTargetAccountPrompt_1.confirmDefaultAccountPrompt)(accountConfig.name, config_1.HUBSPOT_ACCOUNT_TYPE_STRINGS[accountConfig.accountType]);
35
+ uiLogger.log('');
36
+ const useDefaultAccount = await confirmDefaultAccountPrompt(accountConfig.name, HUBSPOT_ACCOUNT_TYPE_STRINGS[accountConfig.accountType]);
55
37
  if (!useDefaultAccount) {
56
- logger_1.uiLogger.log(en_1.lib.localDevHelpers.confirmDefaultAccountIsTarget
38
+ uiLogger.log(lib.localDevHelpers.confirmDefaultAccountIsTarget
57
39
  .declineDefaultAccountExplanation);
58
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
40
+ process.exit(EXIT_CODES.SUCCESS);
59
41
  }
60
42
  }
61
43
  // Confirm the default account is supported for the type of apps being developed
62
- async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps) {
63
- const defaultAccountIsUnified = await (0, accountTypes_1.isUnifiedAccount)(accountConfig);
44
+ export async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps) {
45
+ const defaultAccountIsUnified = await isUnifiedAccount(accountConfig);
64
46
  if (hasPublicApps &&
65
- !((0, accountTypes_1.isAppDeveloperAccount)(accountConfig) ||
66
- (0, accountTypes_1.isDeveloperTestAccount)(accountConfig) ||
47
+ !(isAppDeveloperAccount(accountConfig) ||
48
+ isDeveloperTestAccount(accountConfig) ||
67
49
  defaultAccountIsUnified)) {
68
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.checkIfDefaultAccountIsSupported.publicApp);
69
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
50
+ uiLogger.error(lib.localDevHelpers.checkIfDefaultAccountIsSupported.publicApp);
51
+ process.exit(EXIT_CODES.SUCCESS);
70
52
  }
71
- else if (!hasPublicApps && (0, accountTypes_1.isAppDeveloperAccount)(accountConfig)) {
72
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.checkIfDefaultAccountIsSupported.privateApp);
73
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
53
+ else if (!hasPublicApps && isAppDeveloperAccount(accountConfig)) {
54
+ uiLogger.error(lib.localDevHelpers.checkIfDefaultAccountIsSupported.privateApp);
55
+ process.exit(EXIT_CODES.SUCCESS);
74
56
  }
75
57
  }
76
- function checkIfParentAccountIsAuthed(accountConfig) {
58
+ export function checkIfParentAccountIsAuthed(accountConfig) {
77
59
  if (!accountConfig.parentAccountId ||
78
- !(0, config_2.getAccountConfig)(accountConfig.parentAccountId)) {
79
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.checkIfParentAccountIsAuthed.notAuthedError(accountConfig.parentAccountId || '', (0, ui_1.uiAccountDescription)((0, getAccountIdentifier_1.getAccountIdentifier)(accountConfig))));
80
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
60
+ !getAccountConfig(accountConfig.parentAccountId)) {
61
+ uiLogger.error(lib.localDevHelpers.checkIfParentAccountIsAuthed.notAuthedError(accountConfig.parentAccountId || '', uiAccountDescription(getAccountIdentifier(accountConfig))));
62
+ process.exit(EXIT_CODES.SUCCESS);
81
63
  }
82
64
  }
83
65
  // Confirm the default account is a developer account if developing public apps
84
- function checkIfAccountFlagIsSupported(accountConfig, hasPublicApps) {
66
+ export function checkIfAccountFlagIsSupported(accountConfig, hasPublicApps) {
85
67
  if (hasPublicApps) {
86
- if (!(0, accountTypes_1.isDeveloperTestAccount)(accountConfig)) {
87
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.validateAccountOption.invalidPublicAppAccount);
88
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
68
+ if (!isDeveloperTestAccount(accountConfig)) {
69
+ uiLogger.error(lib.localDevHelpers.validateAccountOption.invalidPublicAppAccount);
70
+ process.exit(EXIT_CODES.SUCCESS);
89
71
  }
90
72
  checkIfParentAccountIsAuthed(accountConfig);
91
73
  }
92
- else if ((0, accountTypes_1.isAppDeveloperAccount)(accountConfig)) {
93
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.validateAccountOption.invalidPrivateAppAccount);
94
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
74
+ else if (isAppDeveloperAccount(accountConfig)) {
75
+ uiLogger.error(lib.localDevHelpers.validateAccountOption.invalidPrivateAppAccount);
76
+ process.exit(EXIT_CODES.SUCCESS);
95
77
  }
96
78
  }
97
79
  // If the user isn't using the recommended account type, prompt them to use or create one
98
- async function suggestRecommendedNestedAccount(accounts, accountConfig, hasPublicApps) {
99
- logger_1.uiLogger.log('');
100
- (0, ui_1.uiLine)();
80
+ export async function suggestRecommendedNestedAccount(accounts, accountConfig, hasPublicApps) {
81
+ uiLogger.log('');
82
+ uiLine();
101
83
  if (hasPublicApps) {
102
- logger_1.uiLogger.log(en_1.lib.localDevHelpers.validateAccountOption
84
+ uiLogger.log(lib.localDevHelpers.validateAccountOption
103
85
  .publicAppNonDeveloperTestAccountWarning);
104
86
  }
105
87
  else {
106
- logger_1.uiLogger.log(en_1.lib.localDevHelpers.validateAccountOption.nonSandboxWarning);
88
+ uiLogger.log(lib.localDevHelpers.validateAccountOption.nonSandboxWarning);
107
89
  }
108
- (0, ui_1.uiLine)();
109
- logger_1.uiLogger.log('');
90
+ uiLine();
91
+ uiLogger.log('');
110
92
  const targetAccountPrompt = hasPublicApps
111
- ? projectDevTargetAccountPrompt_1.selectDeveloperTestTargetAccountPrompt
112
- : projectDevTargetAccountPrompt_1.selectSandboxTargetAccountPrompt;
93
+ ? selectDeveloperTestTargetAccountPrompt
94
+ : selectSandboxTargetAccountPrompt;
113
95
  return targetAccountPrompt(accounts, accountConfig);
114
96
  }
115
97
  // Create a new sandbox and return its accountId
116
- async function createSandboxForLocalDev(accountId, accountConfig, env) {
98
+ export async function createSandboxForLocalDev(accountId, accountConfig, env) {
117
99
  try {
118
- await (0, sandboxes_1.validateSandboxUsageLimits)(accountConfig, config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX, env);
100
+ await validateSandboxUsageLimits(accountConfig, HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX, env);
119
101
  }
120
102
  catch (err) {
121
- if ((0, index_1.isMissingScopeError)(err)) {
122
- logger_1.uiLogger.error(en_1.lib.sandbox.create.developer.failure.scopes.message);
123
- const websiteOrigin = (0, urls_1.getHubSpotWebsiteOrigin)(env);
103
+ if (isMissingScopeError(err)) {
104
+ uiLogger.error(lib.sandbox.create.developer.failure.scopes.message);
105
+ const websiteOrigin = getHubSpotWebsiteOrigin(env);
124
106
  const url = `${websiteOrigin}/personal-access-key/${accountId}`;
125
- logger_1.uiLogger.info(en_1.lib.sandbox.create.developer.failure.scopes.instructions(accountConfig.name || accountId, url));
107
+ uiLogger.info(lib.sandbox.create.developer.failure.scopes.instructions(accountConfig.name || accountId, url));
126
108
  }
127
109
  else {
128
- (0, index_2.logError)(err);
110
+ logError(err);
129
111
  }
130
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
112
+ process.exit(EXIT_CODES.ERROR);
131
113
  }
132
114
  try {
133
- const { name } = await (0, accountNamePrompt_1.hubspotAccountNamePrompt)({
134
- accountType: config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
115
+ const { name } = await hubspotAccountNamePrompt({
116
+ accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
135
117
  });
136
- (0, usageTracking_1.trackCommandMetadataUsage)('sandbox-create', { step: 'project-dev' }, accountId);
137
- const result = await (0, buildAccount_1.buildSandbox)(name, accountConfig, config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX, env);
118
+ trackCommandMetadataUsage('sandbox-create', { step: 'project-dev' }, accountId);
119
+ const result = await buildSandbox(name, accountConfig, HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX, env);
138
120
  const targetAccountId = result.sandbox.sandboxHubId;
139
- const sandboxAccountConfig = (0, config_2.getAccountConfig)(result.sandbox.sandboxHubId);
121
+ const sandboxAccountConfig = getAccountConfig(result.sandbox.sandboxHubId);
140
122
  if (!sandboxAccountConfig) {
141
- logger_1.uiLogger.error(en_1.lib.sandbox.create.developer.failure.generic);
142
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
123
+ uiLogger.error(lib.sandbox.create.developer.failure.generic);
124
+ process.exit(EXIT_CODES.ERROR);
143
125
  }
144
- const syncTasks = await (0, sandboxes_1.getAvailableSyncTypes)(accountConfig, sandboxAccountConfig);
126
+ const syncTasks = await getAvailableSyncTypes(accountConfig, sandboxAccountConfig);
145
127
  // For v1 sandboxes, keep sync here. Once we migrate to v2, this will be handled by BE automatically
146
- await (0, sandboxSync_1.syncSandbox)(sandboxAccountConfig, accountConfig, env, syncTasks, true);
128
+ await syncSandbox(sandboxAccountConfig, accountConfig, env, syncTasks, true);
147
129
  return targetAccountId;
148
130
  }
149
131
  catch (err) {
150
- (0, index_2.logError)(err);
151
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
132
+ logError(err);
133
+ process.exit(EXIT_CODES.ERROR);
152
134
  }
153
135
  }
154
136
  // Create a developer test account and return its accountId
155
- async function createDeveloperTestAccountForLocalDev(accountId, accountConfig, env, useV3 = false) {
137
+ export async function createDeveloperTestAccountForLocalDev(accountId, accountConfig, env, useV3 = false) {
156
138
  let currentPortalCount = 0;
157
139
  let maxTestPortals = 10;
158
140
  try {
159
- const validateResult = await (0, developerTestAccounts_1.validateDevTestAccountUsageLimits)(accountConfig);
141
+ const validateResult = await validateDevTestAccountUsageLimits(accountConfig);
160
142
  if (validateResult) {
161
143
  currentPortalCount = validateResult.results
162
144
  ? validateResult.results.length
@@ -165,102 +147,102 @@ async function createDeveloperTestAccountForLocalDev(accountId, accountConfig, e
165
147
  }
166
148
  }
167
149
  catch (err) {
168
- if ((0, index_1.isMissingScopeError)(err)) {
169
- logger_1.uiLogger.error(en_1.lib.developerTestAccount.create.failure.scopes.message);
170
- const websiteOrigin = (0, urls_1.getHubSpotWebsiteOrigin)(env);
150
+ if (isMissingScopeError(err)) {
151
+ uiLogger.error(lib.developerTestAccount.create.failure.scopes.message);
152
+ const websiteOrigin = getHubSpotWebsiteOrigin(env);
171
153
  const url = `${websiteOrigin}/personal-access-key/${accountId}`;
172
- logger_1.uiLogger.info(en_1.lib.developerTestAccount.create.failure.scopes.instructions(accountConfig.name || accountId, url));
154
+ uiLogger.info(lib.developerTestAccount.create.failure.scopes.instructions(accountConfig.name || accountId, url));
173
155
  }
174
156
  else {
175
- (0, index_2.logError)(err);
157
+ logError(err);
176
158
  }
177
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
159
+ process.exit(EXIT_CODES.ERROR);
178
160
  }
179
161
  try {
180
- const { name } = await (0, accountNamePrompt_1.hubspotAccountNamePrompt)({
162
+ const { name } = await hubspotAccountNamePrompt({
181
163
  currentPortalCount,
182
- accountType: config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
164
+ accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
183
165
  });
184
- (0, usageTracking_1.trackCommandMetadataUsage)('developer-test-account-create', { step: 'project-dev' }, accountId);
185
- const result = await (0, buildAccount_1.buildDeveloperTestAccount)(name, accountConfig, env, maxTestPortals, useV3);
166
+ trackCommandMetadataUsage('developer-test-account-create', { step: 'project-dev' }, accountId);
167
+ const result = await buildDeveloperTestAccount(name, accountConfig, env, maxTestPortals, useV3);
186
168
  return result;
187
169
  }
188
170
  catch (err) {
189
- (0, index_2.logError)(err);
190
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
171
+ logError(err);
172
+ process.exit(EXIT_CODES.ERROR);
191
173
  }
192
174
  }
193
175
  // Prompt user to confirm usage of an existing developer test account that is not currently in the config
194
- async function useExistingDevTestAccount(env, account) {
195
- const useExistingDevTestAcct = await (0, projectDevTargetAccountPrompt_1.confirmUseExistingDeveloperTestAccountPrompt)(account);
176
+ export async function useExistingDevTestAccount(env, account) {
177
+ const useExistingDevTestAcct = await confirmUseExistingDeveloperTestAccountPrompt(account);
196
178
  if (!useExistingDevTestAcct) {
197
- logger_1.uiLogger.log('');
198
- logger_1.uiLogger.log(en_1.lib.localDevHelpers.confirmDefaultAccountIsTarget
179
+ uiLogger.log('');
180
+ uiLogger.log(lib.localDevHelpers.confirmDefaultAccountIsTarget
199
181
  .declineDefaultAccountExplanation);
200
- logger_1.uiLogger.log('');
201
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
182
+ uiLogger.log('');
183
+ process.exit(EXIT_CODES.SUCCESS);
202
184
  }
203
- const devTestAcctConfigName = await (0, buildAccount_1.saveAccountToConfig)(account.id, account.accountName, env);
204
- logger_1.uiLogger.success(en_1.lib.developerTestAccount.create.success.configFileUpdated(devTestAcctConfigName, auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.name));
185
+ const devTestAcctConfigName = await saveAccountToConfig(account.id, account.accountName, env);
186
+ uiLogger.success(lib.developerTestAccount.create.success.configFileUpdated(devTestAcctConfigName, PERSONAL_ACCESS_KEY_AUTH_METHOD.name));
205
187
  }
206
188
  // Prompt the user to create a new project if one doesn't exist on their target account
207
- async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps) {
189
+ export async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps) {
208
190
  // Create the project without prompting if this is a newly created sandbox
209
191
  let shouldCreateProject = shouldCreateWithoutConfirmation;
210
192
  if (!shouldCreateProject) {
211
193
  const explanationLangFunction = hasPublicApps
212
- ? en_1.lib.localDevHelpers.createNewProjectForLocalDev
194
+ ? lib.localDevHelpers.createNewProjectForLocalDev
213
195
  .publicAppProjectMustExistExplanation
214
- : en_1.lib.localDevHelpers.createNewProjectForLocalDev
196
+ : lib.localDevHelpers.createNewProjectForLocalDev
215
197
  .projectMustExistExplanation;
216
198
  const explanationString = explanationLangFunction(projectConfig.name, targetAccountId);
217
- logger_1.uiLogger.log('');
218
- (0, ui_1.uiLine)();
219
- logger_1.uiLogger.log(explanationString);
220
- (0, ui_1.uiLine)();
221
- shouldCreateProject = await (0, promptUtils_1.confirmPrompt)(en_1.lib.localDevHelpers.createNewProjectForLocalDev.createProject(projectConfig.name, (0, ui_1.uiAccountDescription)(targetAccountId)));
199
+ uiLogger.log('');
200
+ uiLine();
201
+ uiLogger.log(explanationString);
202
+ uiLine();
203
+ shouldCreateProject = await confirmPrompt(lib.localDevHelpers.createNewProjectForLocalDev.createProject(projectConfig.name, uiAccountDescription(targetAccountId)));
222
204
  }
223
205
  if (shouldCreateProject) {
224
- SpinniesManager_1.default.add('createProject', {
225
- text: en_1.lib.localDevHelpers.createNewProjectForLocalDev.creatingProject(projectConfig.name, (0, ui_1.uiAccountDescription)(targetAccountId)),
206
+ SpinniesManager.add('createProject', {
207
+ text: lib.localDevHelpers.createNewProjectForLocalDev.creatingProject(projectConfig.name, uiAccountDescription(targetAccountId)),
226
208
  });
227
209
  try {
228
- const { data: project } = await (0, projects_1.createProject)(targetAccountId, projectConfig.name);
229
- SpinniesManager_1.default.succeed('createProject', {
230
- text: en_1.lib.localDevHelpers.createNewProjectForLocalDev.createdProject(projectConfig.name, (0, ui_1.uiAccountDescription)(targetAccountId)),
210
+ const { data: project } = await createProject(targetAccountId, projectConfig.name);
211
+ SpinniesManager.succeed('createProject', {
212
+ text: lib.localDevHelpers.createNewProjectForLocalDev.createdProject(projectConfig.name, uiAccountDescription(targetAccountId)),
231
213
  succeedColor: 'white',
232
214
  });
233
215
  return project;
234
216
  }
235
217
  catch (err) {
236
- SpinniesManager_1.default.fail('createProject');
237
- logger_1.uiLogger.log(en_1.lib.localDevHelpers.createNewProjectForLocalDev.failedToCreateProject);
238
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
218
+ SpinniesManager.fail('createProject');
219
+ uiLogger.log(lib.localDevHelpers.createNewProjectForLocalDev.failedToCreateProject);
220
+ process.exit(EXIT_CODES.ERROR);
239
221
  }
240
222
  }
241
223
  else {
242
224
  // We cannot continue if the project does not exist in the target account
243
- logger_1.uiLogger.log('');
244
- logger_1.uiLogger.log(en_1.lib.localDevHelpers.createNewProjectForLocalDev.choseNotToCreateProject);
245
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
225
+ uiLogger.log('');
226
+ uiLogger.log(lib.localDevHelpers.createNewProjectForLocalDev.choseNotToCreateProject);
227
+ process.exit(EXIT_CODES.SUCCESS);
246
228
  }
247
229
  }
248
230
  function projectUploadCallback(accountId, projectConfig, tempFile, buildId) {
249
231
  if (!buildId) {
250
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.createInitialBuildForNewProject.genericError);
251
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
232
+ uiLogger.error(lib.localDevHelpers.createInitialBuildForNewProject.genericError);
233
+ process.exit(EXIT_CODES.ERROR);
252
234
  }
253
- return (0, buildAndDeploy_1.pollProjectBuildAndDeploy)(accountId, projectConfig, tempFile, buildId, true);
235
+ return pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, true);
254
236
  }
255
237
  // Create an initial build if the project was newly created in the account
256
238
  // Return the newly deployed build
257
- async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR, profile) {
258
- const { result: initialUploadResult, uploadError } = await (0, upload_1.handleProjectUpload)({
239
+ export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR, profile) {
240
+ const { result: initialUploadResult, uploadError } = await handleProjectUpload({
259
241
  accountId: targetAccountId,
260
242
  projectConfig,
261
243
  projectDir,
262
244
  callbackFunc: projectUploadCallback,
263
- uploadMessage: en_1.lib.localDevHelpers.createInitialBuildForNewProject
245
+ uploadMessage: lib.localDevHelpers.createInitialBuildForNewProject
264
246
  .initialUploadMessage,
265
247
  forceCreate: true,
266
248
  skipValidation: true,
@@ -268,80 +250,80 @@ async function createInitialBuildForNewProject(projectConfig, projectDir, target
268
250
  profile,
269
251
  });
270
252
  if (uploadError) {
271
- if ((0, index_1.isSpecifiedError)(uploadError, {
272
- subCategory: constants_1.PROJECT_ERROR_TYPES.PROJECT_LOCKED,
253
+ if (isSpecifiedError(uploadError, {
254
+ subCategory: PROJECT_ERROR_TYPES.PROJECT_LOCKED,
273
255
  })) {
274
- logger_1.uiLogger.log('');
275
- logger_1.uiLogger.error(en_1.lib.localDevHelpers.createInitialBuildForNewProject.projectLockedError);
276
- logger_1.uiLogger.log('');
256
+ uiLogger.log('');
257
+ uiLogger.error(lib.localDevHelpers.createInitialBuildForNewProject.projectLockedError);
258
+ uiLogger.log('');
277
259
  }
278
260
  else {
279
- (0, index_2.logError)(uploadError, new index_2.ApiErrorContext({
261
+ logError(uploadError, new ApiErrorContext({
280
262
  accountId: targetAccountId,
281
263
  projectName: projectConfig.name,
282
264
  }));
283
265
  }
284
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
266
+ process.exit(EXIT_CODES.ERROR);
285
267
  }
286
268
  if (!initialUploadResult?.succeeded) {
287
269
  let subTasks = [];
288
270
  if (initialUploadResult?.buildResult.status === 'FAILURE') {
289
271
  subTasks =
290
- initialUploadResult.buildResult[constants_1.PROJECT_BUILD_TEXT.SUBTASK_KEY];
272
+ initialUploadResult.buildResult[PROJECT_BUILD_TEXT.SUBTASK_KEY];
291
273
  }
292
274
  else if (initialUploadResult?.deployResult?.status === 'FAILURE') {
293
275
  subTasks =
294
- initialUploadResult.deployResult[constants_1.PROJECT_DEPLOY_TEXT.SUBTASK_KEY];
276
+ initialUploadResult.deployResult[PROJECT_DEPLOY_TEXT.SUBTASK_KEY];
295
277
  }
296
278
  const failedSubTasks = subTasks.filter(task => task.status === 'FAILURE');
297
- logger_1.uiLogger.log('');
279
+ uiLogger.log('');
298
280
  failedSubTasks.forEach(failedSubTask => {
299
- logger_1.uiLogger.error(failedSubTask.errorMessage);
281
+ uiLogger.error(failedSubTask.errorMessage);
300
282
  });
301
- logger_1.uiLogger.log('');
302
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
283
+ uiLogger.log('');
284
+ process.exit(EXIT_CODES.ERROR);
303
285
  }
304
286
  return initialUploadResult.buildResult;
305
287
  }
306
- function getAccountHomeUrl(accountId) {
307
- const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_2.getEnv)(accountId) === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
288
+ export function getAccountHomeUrl(accountId) {
289
+ const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
308
290
  return `${baseUrl}/home?portalId=${accountId}`;
309
291
  }
310
- async function hasSandboxes(account) {
311
- const accountId = (0, getAccountIdentifier_1.getAccountIdentifier)(account);
292
+ export async function hasSandboxes(account) {
293
+ const accountId = getAccountIdentifier(account);
312
294
  if (!accountId) {
313
295
  return false;
314
296
  }
315
297
  try {
316
- const { data: { usage }, } = await (0, sandboxHubs_1.getSandboxUsageLimits)(accountId);
298
+ const { data: { usage }, } = await getSandboxUsageLimits(accountId);
317
299
  return usage.STANDARD.limit > 0 || usage.DEVELOPER.limit > 0;
318
300
  }
319
301
  catch (e) {
320
- (0, index_2.debugError)(e);
302
+ debugError(e);
321
303
  return false;
322
304
  }
323
305
  }
324
306
  // Top level prompt to choose the type of account to test on
325
- async function selectAccountTypePrompt(accountConfig) {
307
+ export async function selectAccountTypePrompt(accountConfig) {
326
308
  const hasAccessToSandboxes = await hasSandboxes(accountConfig);
327
- const result = await (0, promptUtils_1.listPrompt)(en_1.lib.localDevHelpers.selectAccountTypePrompt.message, {
309
+ const result = await listPrompt(lib.localDevHelpers.selectAccountTypePrompt.message, {
328
310
  choices: [
329
311
  {
330
- name: en_1.lib.localDevHelpers.selectAccountTypePrompt
312
+ name: lib.localDevHelpers.selectAccountTypePrompt
331
313
  .developerTestAccountOption,
332
- value: config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
314
+ value: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
333
315
  },
334
316
  {
335
- name: en_1.lib.localDevHelpers.selectAccountTypePrompt
317
+ name: lib.localDevHelpers.selectAccountTypePrompt
336
318
  .sandboxAccountOption,
337
- value: config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
319
+ value: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
338
320
  disabled: !hasAccessToSandboxes
339
- ? en_1.lib.localDevHelpers.selectAccountTypePrompt
321
+ ? lib.localDevHelpers.selectAccountTypePrompt
340
322
  .sandboxAccountOptionDisabled
341
323
  : false,
342
324
  },
343
325
  {
344
- name: en_1.lib.localDevHelpers.selectAccountTypePrompt
326
+ name: lib.localDevHelpers.selectAccountTypePrompt
345
327
  .productionAccountOption,
346
328
  value: null,
347
329
  },
@@ -1,6 +1,6 @@
1
- import { ComponentTypes, Component, GenericComponentConfig, PublicAppComponentConfig, PrivateAppComponentConfig, AppCardComponentConfig } from '../../types/Projects';
2
- import { IntermediateRepresentationNode, IntermediateRepresentationNodeLocalDev } from '@hubspot/project-parsing-lib/src/lib/types';
3
- import { AppIRNode } from '../../types/ProjectComponents';
1
+ import { ComponentTypes, Component, GenericComponentConfig, PublicAppComponentConfig, PrivateAppComponentConfig, AppCardComponentConfig } from '../../types/Projects.js';
2
+ import { IntermediateRepresentationNodeLocalDev } from '@hubspot/project-parsing-lib/src/lib/types.js';
3
+ import { AppIRNode } from '../../types/ProjectComponents.js';
4
4
  export declare const CONFIG_FILES: {
5
5
  [k in ComponentTypes]: string;
6
6
  };
@@ -15,4 +15,4 @@ export declare function getProjectComponentTypes(components: Array<Component>):
15
15
  export declare function getComponentUid(component?: Component | null): string | null;
16
16
  export declare function componentIsApp(component?: Component | null): component is Component<PublicAppComponentConfig | PrivateAppComponentConfig>;
17
17
  export declare function componentIsPublicApp(component?: Component | null): component is Component<PublicAppComponentConfig>;
18
- export declare function isAppIRNode(component: IntermediateRepresentationNodeLocalDev | IntermediateRepresentationNode): component is AppIRNode;
18
+ export declare function isAppIRNode(component: IntermediateRepresentationNodeLocalDev): component is AppIRNode;