@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,60 +1,22 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const axios_1 = require("axios");
40
- const yargs_1 = __importDefault(require("yargs"));
41
- const chalk_1 = __importDefault(require("chalk"));
42
- const logger_1 = require("@hubspot/local-dev-lib/logger");
43
- const configUtils = __importStar(require("@hubspot/local-dev-lib/config"));
44
- const projectApiUtils = __importStar(require("@hubspot/local-dev-lib/api/projects"));
45
- const ui = __importStar(require("../../../lib/ui"));
46
- const commonOpts_1 = require("../../../lib/commonOpts");
47
- const projectUtils = __importStar(require("../../../lib/projects/config"));
48
- const projectUrlUtils = __importStar(require("../../../lib/projects/urls"));
49
- const buildAndDeploy_1 = require("../../../lib/projects/buildAndDeploy");
50
- const projectNamePrompt = __importStar(require("../../../lib/prompts/projectNamePrompt"));
51
- const promptUtils = __importStar(require("../../../lib/prompts/promptUtils"));
52
- const usageTracking_1 = require("../../../lib/usageTracking");
53
- const exitCodes_1 = require("../../../lib/enums/exitCodes");
54
- const exampleProject_json_1 = __importDefault(require("./fixtures/exampleProject.json"));
55
- const testUtils_1 = require("../../../lib/testUtils");
56
- const deploy_1 = __importDefault(require("../deploy"));
57
- const logger_2 = require("../../../lib/ui/logger");
1
+ import { HttpStatusCode } from 'axios';
2
+ import yargs from 'yargs';
3
+ import chalk from 'chalk';
4
+ import { logger } from '@hubspot/local-dev-lib/logger';
5
+ import * as configUtils from '@hubspot/local-dev-lib/config';
6
+ import * as projectApiUtils from '@hubspot/local-dev-lib/api/projects';
7
+ import * as ui from '../../../lib/ui/index.js';
8
+ import { addAccountOptions, addConfigOptions, addJSONOutputOptions, addUseEnvironmentOptions, } from '../../../lib/commonOpts.js';
9
+ import * as projectUtils from '../../../lib/projects/config.js';
10
+ import * as projectUrlUtils from '../../../lib/projects/urls.js';
11
+ import { pollDeployStatus } from '../../../lib/projects/buildAndDeploy.js';
12
+ import * as projectNamePrompt from '../../../lib/prompts/projectNamePrompt.js';
13
+ import * as promptUtils from '../../../lib/prompts/promptUtils.js';
14
+ import { trackCommandUsage } from '../../../lib/usageTracking.js';
15
+ import { EXIT_CODES } from '../../../lib/enums/exitCodes.js';
16
+ import exampleProject from './fixtures/exampleProject.json' with { type: 'json' };
17
+ import { mockHubSpotHttpResponse, mockHubSpotHttpError, } from '../../../lib/testUtils.js';
18
+ import projectDeployCommand from '../deploy.js';
19
+ import { uiLogger } from '../../../lib/ui/logger.js';
58
20
  vi.mock('@hubspot/local-dev-lib/api/projects');
59
21
  vi.mock('@hubspot/local-dev-lib/config');
60
22
  vi.mock('../../../lib/commonOpts');
@@ -79,14 +41,14 @@ const getAccountConfigSpy = vi.spyOn(configUtils, 'getAccountConfig');
79
41
  const promptUserSpy = vi.spyOn(promptUtils, 'promptUser');
80
42
  const processExitSpy = vi.spyOn(process, 'exit');
81
43
  const optionsSpy = vi
82
- .spyOn(yargs_1.default, 'options')
83
- .mockReturnValue(yargs_1.default);
44
+ .spyOn(yargs, 'options')
45
+ .mockReturnValue(yargs);
84
46
  const exampleSpy = vi
85
- .spyOn(yargs_1.default, 'example')
86
- .mockReturnValue(yargs_1.default);
47
+ .spyOn(yargs, 'example')
48
+ .mockReturnValue(yargs);
87
49
  const conflictsSpy = vi
88
- .spyOn(yargs_1.default, 'conflicts')
89
- .mockReturnValue(yargs_1.default);
50
+ .spyOn(yargs, 'conflicts')
51
+ .mockReturnValue(yargs);
90
52
  describe('commands/project/deploy', () => {
91
53
  const projectFlag = 'project';
92
54
  const buildFlag = 'build';
@@ -95,20 +57,20 @@ describe('commands/project/deploy', () => {
95
57
  const forceFlag = 'force';
96
58
  describe('command', () => {
97
59
  it('should have the correct command structure', () => {
98
- expect(deploy_1.default.command).toEqual('deploy');
60
+ expect(projectDeployCommand.command).toEqual('deploy');
99
61
  });
100
62
  });
101
63
  describe('describe', () => {
102
64
  it('should contain the beta tag', () => {
103
- expect(deploy_1.default.describe).toContain('[BETA]');
65
+ expect(projectDeployCommand.describe).toContain('[BETA]');
104
66
  });
105
67
  it('should provide a description', () => {
106
- expect(deploy_1.default.describe).toBeDefined();
68
+ expect(projectDeployCommand.describe).toBeDefined();
107
69
  });
108
70
  });
109
71
  describe('builder', () => {
110
72
  it('should support the correct options', () => {
111
- deploy_1.default.builder(yargs_1.default);
73
+ projectDeployCommand.builder(yargs);
112
74
  expect(conflictsSpy).toHaveBeenCalledTimes(2);
113
75
  expect(conflictsSpy).toHaveBeenNthCalledWith(1, profileFlag, projectFlag);
114
76
  expect(conflictsSpy).toHaveBeenNthCalledWith(2, profileFlag, 'account');
@@ -134,17 +96,17 @@ describe('commands/project/deploy', () => {
134
96
  alias: ['f'],
135
97
  }),
136
98
  });
137
- expect(commonOpts_1.addConfigOptions).toHaveBeenCalledTimes(1);
138
- expect(commonOpts_1.addConfigOptions).toHaveBeenCalledWith(yargs_1.default);
139
- expect(commonOpts_1.addAccountOptions).toHaveBeenCalledTimes(1);
140
- expect(commonOpts_1.addAccountOptions).toHaveBeenCalledWith(yargs_1.default);
141
- expect(commonOpts_1.addUseEnvironmentOptions).toHaveBeenCalledTimes(1);
142
- expect(commonOpts_1.addUseEnvironmentOptions).toHaveBeenCalledWith(yargs_1.default);
143
- expect(commonOpts_1.addJSONOutputOptions).toHaveBeenCalledTimes(1);
144
- expect(commonOpts_1.addJSONOutputOptions).toHaveBeenCalledWith(yargs_1.default);
99
+ expect(addConfigOptions).toHaveBeenCalledTimes(1);
100
+ expect(addConfigOptions).toHaveBeenCalledWith(yargs);
101
+ expect(addAccountOptions).toHaveBeenCalledTimes(1);
102
+ expect(addAccountOptions).toHaveBeenCalledWith(yargs);
103
+ expect(addUseEnvironmentOptions).toHaveBeenCalledTimes(1);
104
+ expect(addUseEnvironmentOptions).toHaveBeenCalledWith(yargs);
105
+ expect(addJSONOutputOptions).toHaveBeenCalledTimes(1);
106
+ expect(addJSONOutputOptions).toHaveBeenCalledWith(yargs);
145
107
  });
146
108
  it('should provide examples', () => {
147
- deploy_1.default.builder(yargs_1.default);
109
+ projectDeployCommand.builder(yargs);
148
110
  expect(exampleSpy).toHaveBeenCalledTimes(1);
149
111
  });
150
112
  });
@@ -178,29 +140,29 @@ describe('commands/project/deploy', () => {
178
140
  });
179
141
  getProjectDetailUrlSpy.mockReturnValue(projectDetailUrl);
180
142
  getAccountConfigSpy.mockReturnValue({ accountType, env: 'qa' });
181
- fetchProjectSpy.mockReturnValue((0, testUtils_1.mockHubSpotHttpResponse)(exampleProject_json_1.default));
182
- deployProjectSpy.mockReturnValue((0, testUtils_1.mockHubSpotHttpResponse)(deployDetails));
143
+ fetchProjectSpy.mockReturnValue(mockHubSpotHttpResponse(exampleProject));
144
+ deployProjectSpy.mockReturnValue(mockHubSpotHttpResponse(deployDetails));
183
145
  // Spy on process.exit so our tests don't close when it's called
184
146
  // @ts-expect-error Doesn't match the actual signature because then the linter complains about unused variables
185
147
  processExitSpy.mockImplementation(() => { });
186
148
  });
187
149
  it('should load the account config for the correct account id', async () => {
188
- await deploy_1.default.handler(args);
150
+ await projectDeployCommand.handler(args);
189
151
  expect(getAccountConfigSpy).toHaveBeenCalledTimes(1);
190
152
  expect(getAccountConfigSpy).toHaveBeenCalledWith(args.derivedAccountId);
191
153
  });
192
154
  it('should track the command usage', async () => {
193
- await deploy_1.default.handler(args);
194
- expect(usageTracking_1.trackCommandUsage).toHaveBeenCalledTimes(1);
195
- expect(usageTracking_1.trackCommandUsage).toHaveBeenCalledWith('project-deploy', { type: accountType }, args.derivedAccountId);
155
+ await projectDeployCommand.handler(args);
156
+ expect(trackCommandUsage).toHaveBeenCalledTimes(1);
157
+ expect(trackCommandUsage).toHaveBeenCalledWith('project-deploy', { type: accountType }, args.derivedAccountId);
196
158
  });
197
159
  it('should load the project config', async () => {
198
- await deploy_1.default.handler(args);
160
+ await projectDeployCommand.handler(args);
199
161
  expect(getProjectConfigSpy).toHaveBeenCalledTimes(1);
200
162
  expect(getProjectConfigSpy).toHaveBeenCalled();
201
163
  });
202
164
  it('should prompt for the project name', async () => {
203
- await deploy_1.default.handler(args);
165
+ await projectDeployCommand.handler(args);
204
166
  expect(projectNamePromptSpy).toHaveBeenCalledTimes(1);
205
167
  expect(projectNamePromptSpy).toHaveBeenCalledWith(args.derivedAccountId, {
206
168
  project: args.project,
@@ -208,14 +170,14 @@ describe('commands/project/deploy', () => {
208
170
  });
209
171
  it('should use the project name from the config is a project args is not provided', async () => {
210
172
  delete args.project;
211
- await deploy_1.default.handler(args);
173
+ await projectDeployCommand.handler(args);
212
174
  expect(projectNamePromptSpy).toHaveBeenCalledTimes(1);
213
175
  expect(projectNamePromptSpy).toHaveBeenCalledWith(args.derivedAccountId, {
214
176
  project: projectConfig.name,
215
177
  });
216
178
  });
217
179
  it('should fetch the project details', async () => {
218
- await deploy_1.default.handler(args);
180
+ await projectDeployCommand.handler(args);
219
181
  expect(fetchProjectSpy).toHaveBeenCalledTimes(1);
220
182
  expect(fetchProjectSpy).toHaveBeenCalledWith(args.derivedAccountId, projectNameFromPrompt);
221
183
  });
@@ -230,72 +192,72 @@ describe('commands/project/deploy', () => {
230
192
  projectConfig: null,
231
193
  projectDir: null,
232
194
  });
233
- await deploy_1.default.handler(argsWithoutProject);
195
+ await projectDeployCommand.handler(argsWithoutProject);
234
196
  expect(projectNamePromptSpy).toHaveBeenCalledTimes(1);
235
197
  expect(projectNamePromptSpy).toHaveBeenCalledWith(args.derivedAccountId, {});
236
198
  expect(fetchProjectSpy).toHaveBeenCalledTimes(1);
237
199
  expect(fetchProjectSpy).toHaveBeenCalledWith(args.derivedAccountId, promptProjectName);
238
200
  });
239
201
  it('should log an error and exit when latest build is not defined', async () => {
240
- fetchProjectSpy.mockReturnValue((0, testUtils_1.mockHubSpotHttpResponse)({}));
241
- await deploy_1.default.handler(args);
242
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
243
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith('Deploy error: no builds for this project were found.');
202
+ fetchProjectSpy.mockReturnValue(mockHubSpotHttpResponse({}));
203
+ await projectDeployCommand.handler(args);
204
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
205
+ expect(uiLogger.error).toHaveBeenCalledWith('Deploy error: no builds for this project were found.');
244
206
  expect(processExitSpy).toHaveBeenCalledTimes(1);
245
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
207
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
246
208
  });
247
209
  it('should log an error and exit when buildId option is not a valid build', async () => {
248
- args.buildId = exampleProject_json_1.default.latestBuild.buildId + 1;
249
- await deploy_1.default.handler(args);
250
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
251
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith(expect.stringMatching(`Build ${args.buildId} does not exist for project`));
210
+ args.buildId = exampleProject.latestBuild.buildId + 1;
211
+ await projectDeployCommand.handler(args);
212
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
213
+ expect(uiLogger.error).toHaveBeenCalledWith(expect.stringMatching(`Build ${args.buildId} does not exist for project`));
252
214
  expect(processExitSpy).toHaveBeenCalledTimes(1);
253
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
215
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
254
216
  });
255
217
  it('should log an error and exit when buildId option is already deployed', async () => {
256
- args.buildId = exampleProject_json_1.default.deployedBuildId;
257
- await deploy_1.default.handler(args);
258
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
259
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith(expect.stringMatching(`Build ${args.buildId} is already deployed. View project builds in HubSpot.`));
218
+ args.buildId = exampleProject.deployedBuildId;
219
+ await projectDeployCommand.handler(args);
220
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
221
+ expect(uiLogger.error).toHaveBeenCalledWith(expect.stringMatching(`Build ${args.buildId} is already deployed. View project builds in HubSpot.`));
260
222
  expect(processExitSpy).toHaveBeenCalledTimes(1);
261
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
223
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
262
224
  });
263
225
  it('should prompt for build id if no option is provided', async () => {
264
226
  delete args.buildId;
265
227
  promptUserSpy.mockResolvedValue({
266
- buildId: exampleProject_json_1.default.latestBuild.buildId,
228
+ buildId: exampleProject.latestBuild.buildId,
267
229
  });
268
- await deploy_1.default.handler(args);
230
+ await projectDeployCommand.handler(args);
269
231
  expect(promptUserSpy).toHaveBeenCalledTimes(1);
270
232
  });
271
233
  it('should log an error and exit if the prompted value is invalid', async () => {
272
234
  delete args.buildId;
273
235
  promptUserSpy.mockResolvedValue({});
274
- await deploy_1.default.handler(args);
236
+ await projectDeployCommand.handler(args);
275
237
  expect(promptUserSpy).toHaveBeenCalledTimes(1);
276
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
277
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith('You must specify a build to deploy');
238
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
239
+ expect(uiLogger.error).toHaveBeenCalledWith('You must specify a build to deploy');
278
240
  expect(processExitSpy).toHaveBeenCalledTimes(1);
279
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
241
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
280
242
  });
281
243
  it('should deploy the project', async () => {
282
- await deploy_1.default.handler(args);
244
+ await projectDeployCommand.handler(args);
283
245
  expect(deployProjectSpy).toHaveBeenCalledTimes(1);
284
246
  expect(deployProjectSpy).toHaveBeenCalledWith(args.derivedAccountId, projectNameFromPrompt, args.buildId, undefined, undefined);
285
247
  });
286
248
  it('should log an error and exit when the deploy fails', async () => {
287
249
  // @ts-expect-error Testing an edge case where the response is empty
288
250
  deployProjectSpy.mockResolvedValue({});
289
- await deploy_1.default.handler(args);
290
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
291
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith(`Deploy error: an unknown error occurred.`);
251
+ await projectDeployCommand.handler(args);
252
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
253
+ expect(uiLogger.error).toHaveBeenCalledWith(`Deploy error: an unknown error occurred.`);
292
254
  expect(processExitSpy).toHaveBeenCalledTimes(1);
293
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
255
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
294
256
  });
295
257
  it('should poll the deploy status', async () => {
296
- await deploy_1.default.handler(args);
297
- expect(buildAndDeploy_1.pollDeployStatus).toHaveBeenCalledTimes(1);
298
- expect(buildAndDeploy_1.pollDeployStatus).toHaveBeenCalledWith(args.derivedAccountId, projectNameFromPrompt, deployDetails.id, args.buildId);
258
+ await projectDeployCommand.handler(args);
259
+ expect(pollDeployStatus).toHaveBeenCalledTimes(1);
260
+ expect(pollDeployStatus).toHaveBeenCalledWith(args.derivedAccountId, projectNameFromPrompt, deployDetails.id, args.buildId);
299
261
  });
300
262
  it('log an error and exit if a 404 status is returned', async () => {
301
263
  const commandReference = 'hs project upload';
@@ -303,44 +265,44 @@ describe('commands/project/deploy', () => {
303
265
  uiCommandReferenceSpy.mockReturnValueOnce(commandReference);
304
266
  uiAccountDescriptionSpy.mockReturnValueOnce(accountDescription);
305
267
  fetchProjectSpy.mockImplementation(() => {
306
- throw (0, testUtils_1.mockHubSpotHttpError)('OH NO', {
307
- status: axios_1.HttpStatusCode.NotFound,
268
+ throw mockHubSpotHttpError('OH NO', {
269
+ status: HttpStatusCode.NotFound,
308
270
  data: {},
309
271
  });
310
272
  });
311
- await deploy_1.default.handler(args);
312
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
313
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith(`The project ${chalk_1.default.bold(projectNameFromPrompt)} does not exist in account ${accountDescription}. Run ${commandReference} to upload your project files to HubSpot.`);
273
+ await projectDeployCommand.handler(args);
274
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
275
+ expect(uiLogger.error).toHaveBeenCalledWith(`The project ${chalk.bold(projectNameFromPrompt)} does not exist in account ${accountDescription}. Run ${commandReference} to upload your project files to HubSpot.`);
314
276
  expect(processExitSpy).toHaveBeenCalledTimes(1);
315
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
277
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
316
278
  });
317
279
  it('log an error and exit if a 400 status is returned', async () => {
318
280
  const errorMessage = 'Something bad happened';
319
281
  fetchProjectSpy.mockImplementation(() => {
320
- throw (0, testUtils_1.mockHubSpotHttpError)(errorMessage, {
321
- status: axios_1.HttpStatusCode.BadRequest,
282
+ throw mockHubSpotHttpError(errorMessage, {
283
+ status: HttpStatusCode.BadRequest,
322
284
  data: {},
323
285
  });
324
286
  });
325
- await deploy_1.default.handler(args);
326
- expect(logger_2.uiLogger.error).toHaveBeenCalledTimes(1);
327
- expect(logger_2.uiLogger.error).toHaveBeenCalledWith('The request was bad.');
287
+ await projectDeployCommand.handler(args);
288
+ expect(uiLogger.error).toHaveBeenCalledTimes(1);
289
+ expect(uiLogger.error).toHaveBeenCalledWith('The request was bad.');
328
290
  expect(processExitSpy).toHaveBeenCalledTimes(1);
329
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
291
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
330
292
  });
331
293
  it('log an error another unexpected status code is returned', async () => {
332
294
  const errorMessage = 'Something bad happened';
333
295
  fetchProjectSpy.mockImplementation(() => {
334
- throw (0, testUtils_1.mockHubSpotHttpError)(errorMessage, {
335
- status: axios_1.HttpStatusCode.MethodNotAllowed,
296
+ throw mockHubSpotHttpError(errorMessage, {
297
+ status: HttpStatusCode.MethodNotAllowed,
336
298
  data: {},
337
299
  });
338
300
  });
339
- await deploy_1.default.handler(args);
340
- expect(logger_1.logger.error).toHaveBeenCalledTimes(1);
341
- expect(logger_1.logger.error).toHaveBeenCalledWith(`The request for 'project deploy' in account ${args.derivedAccountId} failed due to a client error.`);
301
+ await projectDeployCommand.handler(args);
302
+ expect(logger.error).toHaveBeenCalledTimes(1);
303
+ expect(logger.error).toHaveBeenCalledWith(`The request for 'project deploy' in account ${args.derivedAccountId} failed due to a client error.`);
342
304
  expect(processExitSpy).toHaveBeenCalledTimes(1);
343
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
305
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
344
306
  });
345
307
  });
346
308
  });