@hubspot/cli 7.7.20-experimental.0 → 7.7.21-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 (563) 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 +48 -53
  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 -11
  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 +124 -130
  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 +93 -131
  215. package/commands/project/__tests__/devUnifiedFlow.test.js +135 -140
  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 +62 -67
  232. package/commands/project/deploy.d.ts +1 -1
  233. package/commands/project/deploy.js +72 -77
  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 +50 -55
  297. package/commands/testAccount/createConfig.d.ts +2 -2
  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 -1
  319. package/lang/en.js +369 -376
  320. package/lib/__tests__/accountTypes.test.js +20 -22
  321. package/lib/__tests__/buildAccount.test.js +26 -61
  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 +59 -67
  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 +69 -97
  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 +23 -29
  414. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  415. package/lib/projects/add/v3AddComponent.js +35 -41
  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 +24 -26
  434. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  435. package/lib/projects/localDev/DevServerManagerV2.js +17 -22
  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 +3 -3
  451. package/lib/projects/structure.js +32 -78
  452. package/lib/projects/ui.js +10 -13
  453. package/lib/projects/upload.d.ts +1 -1
  454. package/lib/projects/upload.js +55 -64
  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 +16 -19
  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 +15 -22
  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 +12 -23
  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 +44 -50
  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 +33 -37
  524. package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
  525. package/mcp-server/tools/project/CreateProjectTool.js +44 -48
  526. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  527. package/mcp-server/tools/project/DeployProject.js +16 -20
  528. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  529. package/mcp-server/tools/project/GuidedWalkthroughTool.js +19 -23
  530. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  531. package/mcp-server/tools/project/UploadProjectTools.js +10 -17
  532. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  533. package/mcp-server/tools/project/ValidateProjectTool.js +11 -15
  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/package.json +15 -11
  550. package/types/LocalDev.d.ts +4 -4
  551. package/types/LocalDev.js +1 -2
  552. package/types/ProjectComponents.d.ts +2 -2
  553. package/types/ProjectComponents.js +1 -2
  554. package/types/Projects.d.ts +1 -1
  555. package/types/Projects.js +2 -5
  556. package/types/Prompts.js +1 -2
  557. package/types/Yargs.js +1 -2
  558. package/types/{Cms.d.ts → cms.d.ts} +1 -1
  559. package/types/cms.js +1 -0
  560. package/types/sandboxes.js +1 -0
  561. package/types/Cms.js +0 -2
  562. package/types/Sandboxes.js +0 -2
  563. /package/types/{Sandboxes.d.ts → sandboxes.d.ts} +0 -0
@@ -1,28 +1,19 @@
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.pollDeployStatus = exports.pollBuildStatus = void 0;
7
- exports.useV3Api = useV3Api;
8
- exports.displayWarnLogs = displayWarnLogs;
9
- exports.pollProjectBuildAndDeploy = pollProjectBuildAndDeploy;
10
- const chalk_1 = __importDefault(require("chalk"));
11
- const projects_1 = require("@hubspot/local-dev-lib/api/projects");
12
- const constants_1 = require("../constants");
13
- const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
14
- const errorHandlers_1 = require("../errorHandlers");
15
- const ui_1 = require("../ui");
16
- const urls_1 = require("./urls");
17
- const exitCodes_1 = require("../enums/exitCodes");
18
- const en_1 = require("../../lang/en");
19
- const logger_1 = require("../ui/logger");
20
- const constants_2 = require("@hubspot/project-parsing-lib/src/lib/constants");
21
- const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
1
+ import chalk from 'chalk';
2
+ import { getBuildStatus, getBuildStructure, getDeployStatus, getDeployStructure, fetchBuildWarnLogs, fetchDeployWarnLogs, } from '@hubspot/local-dev-lib/api/projects';
3
+ import { DEFAULT_POLLING_DELAY, PROJECT_BUILD_TEXT, PROJECT_DEPLOY_TEXT, PROJECT_TASK_TYPES, PROJECT_ERROR_TYPES, } from '../constants.js';
4
+ import SpinniesManager from '../ui/SpinniesManager.js';
5
+ import { logError, ApiErrorContext } from '../errorHandlers/index.js';
6
+ import { uiLine, uiLink, uiAccountDescription } from '../ui/index.js';
7
+ import { getProjectBuildDetailUrl, getProjectDeployDetailUrl, getProjectActivityUrl, } from './urls.js';
8
+ import { EXIT_CODES } from '../enums/exitCodes.js';
9
+ import { lib } from '../../lang/en.js';
10
+ import { uiLogger } from '../ui/logger.js';
11
+ import { AppFunctionsPackageKey } from '@hubspot/project-parsing-lib/src/lib/constants.js';
12
+ import { mapToInternalType } from '@hubspot/project-parsing-lib';
22
13
  const SPINNER_STATUS = {
23
14
  SPINNING: 'spinning',
24
15
  };
25
- function useV3Api(platformVersion) {
16
+ export function useV3Api(platformVersion) {
26
17
  if (!platformVersion || typeof platformVersion !== 'string') {
27
18
  return false;
28
19
  }
@@ -51,22 +42,22 @@ function getSubtaskType(task) {
51
42
  return task.deployType;
52
43
  }
53
44
  function handleTaskStatusError(statusText) {
54
- logger_1.uiLogger.error(en_1.lib.projectBuildAndDeploy.makePollTaskStatusFunc.errorFetchingTaskStatus(statusText.TYPE_KEY === constants_1.PROJECT_BUILD_TEXT.TYPE_KEY ? 'build' : 'deploy'));
55
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
45
+ uiLogger.error(lib.projectBuildAndDeploy.makePollTaskStatusFunc.errorFetchingTaskStatus(statusText.TYPE_KEY === PROJECT_BUILD_TEXT.TYPE_KEY ? 'build' : 'deploy'));
46
+ process.exit(EXIT_CODES.ERROR);
56
47
  }
57
48
  function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrings, linkToHubSpot, }) {
58
49
  return async function (accountId, taskName, taskId, deployedBuildId, silenceLogs = false) {
59
50
  const displayId = deployedBuildId || taskId;
60
51
  if (linkToHubSpot && !silenceLogs) {
61
- logger_1.uiLogger.log(`\n${linkToHubSpot(accountId, taskName, taskId, deployedBuildId)}\n`);
52
+ uiLogger.log(`\n${linkToHubSpot(accountId, taskName, taskId, deployedBuildId)}\n`);
62
53
  }
63
- SpinniesManager_1.default.init();
54
+ SpinniesManager.init();
64
55
  const overallTaskSpinniesKey = `overallTaskStatus-${statusText.STATUS_TEXT}`;
65
- SpinniesManager_1.default.add(overallTaskSpinniesKey, {
56
+ SpinniesManager.add(overallTaskSpinniesKey, {
66
57
  text: 'Beginning',
67
58
  succeedColor: 'white',
68
59
  failColor: 'white',
69
- failPrefix: chalk_1.default.bold('!'),
60
+ failPrefix: chalk.bold('!'),
70
61
  });
71
62
  const [{ data: initialTaskStatus }, { data: { topLevelComponentsWithChildren: taskStructure }, },] = await Promise.all([
72
63
  statusFn(accountId, taskName, taskId),
@@ -77,7 +68,7 @@ function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrin
77
68
  const tasksById = subtasks
78
69
  .filter(subtask => {
79
70
  // TODO: Remove this filtering logic when visible=false for SERVERLESS_PACKAGE
80
- const shouldBeVisible = getSubtaskType(subtask) !== (0, project_parsing_lib_1.mapToInternalType)(constants_2.AppFunctionsPackageKey);
71
+ const shouldBeVisible = getSubtaskType(subtask) !== mapToInternalType(AppFunctionsPackageKey);
81
72
  if (!shouldBeVisible) {
82
73
  hiddenComponentBuildIds.push(subtask.id);
83
74
  }
@@ -105,21 +96,21 @@ function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrin
105
96
  const componentCountText = silenceLogs
106
97
  ? ''
107
98
  : numComponents === 1
108
- ? en_1.lib.projectBuildAndDeploy.makePollTaskStatusFunc
99
+ ? lib.projectBuildAndDeploy.makePollTaskStatusFunc
109
100
  .componentCountSingular
110
- : en_1.lib.projectBuildAndDeploy.makePollTaskStatusFunc.componentCount(numComponents);
111
- SpinniesManager_1.default.update(overallTaskSpinniesKey, {
101
+ : lib.projectBuildAndDeploy.makePollTaskStatusFunc.componentCount(numComponents);
102
+ SpinniesManager.update(overallTaskSpinniesKey, {
112
103
  text: `${statusStrings.INITIALIZE(taskName, displayId)}\n${componentCountText}`,
113
104
  });
114
105
  if (!silenceLogs) {
115
106
  function addTaskSpinner(subtask, indent, newline) {
116
107
  const taskName = getSubtaskName(subtask);
117
108
  const taskType = getSubtaskType(subtask);
118
- const formattedTaskType = constants_1.PROJECT_TASK_TYPES[taskType]
119
- ? `[${constants_1.PROJECT_TASK_TYPES[taskType]}]`
109
+ const formattedTaskType = PROJECT_TASK_TYPES[taskType]
110
+ ? `[${PROJECT_TASK_TYPES[taskType]}]`
120
111
  : '';
121
- const text = `${indent <= 2 ? statusText.STATUS_TEXT : ''} ${chalk_1.default.bold(taskName)} ${formattedTaskType} ...${newline ? '\n' : ''}`;
122
- SpinniesManager_1.default.add(subtask.id, {
112
+ const text = `${indent <= 2 ? statusText.STATUS_TEXT : ''} ${chalk.bold(taskName)} ${formattedTaskType} ...${newline ? '\n' : ''}`;
113
+ SpinniesManager.add(subtask.id, {
123
114
  text,
124
115
  indent,
125
116
  succeedColor: 'white',
@@ -139,8 +130,8 @@ function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrin
139
130
  taskStatus = data;
140
131
  }
141
132
  catch (e) {
142
- logger_1.uiLogger.debug(e);
143
- (0, errorHandlers_1.logError)(e, new errorHandlers_1.ApiErrorContext({
133
+ uiLogger.debug(e);
134
+ logError(e, new ApiErrorContext({
144
135
  accountId,
145
136
  projectName: taskName,
146
137
  }));
@@ -151,10 +142,10 @@ function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrin
151
142
  handleTaskStatusError(statusText);
152
143
  }
153
144
  const { status } = taskStatus;
154
- if (SpinniesManager_1.default.hasActiveSpinners()) {
145
+ if (SpinniesManager.hasActiveSpinners()) {
155
146
  subtasks.forEach(subtask => {
156
147
  const { id, status } = subtask;
157
- const spinner = SpinniesManager_1.default.pick(id);
148
+ const spinner = SpinniesManager.pick(id);
158
149
  if (!spinner || spinner.status !== SPINNER_STATUS.SPINNING) {
159
150
  return;
160
151
  }
@@ -162,54 +153,54 @@ function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrin
162
153
  if (status === statusText.STATES.SUCCESS ||
163
154
  status === statusText.STATES.FAILURE) {
164
155
  const taskStatusText = subtask.status === statusText.STATES.SUCCESS
165
- ? en_1.lib.projectBuildAndDeploy.makePollTaskStatusFunc
156
+ ? lib.projectBuildAndDeploy.makePollTaskStatusFunc
166
157
  .successStatusText
167
- : en_1.lib.projectBuildAndDeploy.makePollTaskStatusFunc
158
+ : lib.projectBuildAndDeploy.makePollTaskStatusFunc
168
159
  .failedStatusText;
169
160
  const hasNewline = spinner?.text?.includes('\n') || Boolean(topLevelTask);
170
161
  const updatedText = `${spinner?.text?.replace('\n', '')} ${taskStatusText}${hasNewline ? '\n' : ''}`;
171
162
  if (status === statusText.STATES.SUCCESS) {
172
- SpinniesManager_1.default.succeed(id, { text: updatedText });
163
+ SpinniesManager.succeed(id, { text: updatedText });
173
164
  }
174
165
  else {
175
- SpinniesManager_1.default.fail(id, { text: updatedText });
166
+ SpinniesManager.fail(id, { text: updatedText });
176
167
  }
177
168
  if (topLevelTask) {
178
- topLevelTask.subtasks.forEach(currentSubtask => SpinniesManager_1.default.remove(currentSubtask.id));
169
+ topLevelTask.subtasks.forEach(currentSubtask => SpinniesManager.remove(currentSubtask.id));
179
170
  }
180
171
  }
181
172
  });
182
173
  if (status === statusText.STATES.SUCCESS) {
183
- SpinniesManager_1.default.succeed(overallTaskSpinniesKey, {
174
+ SpinniesManager.succeed(overallTaskSpinniesKey, {
184
175
  text: statusStrings.SUCCESS(taskName, displayId),
185
176
  });
186
177
  clearInterval(pollInterval);
187
178
  resolve(taskStatus);
188
179
  }
189
180
  else if (status === statusText.STATES.FAILURE) {
190
- SpinniesManager_1.default.fail(overallTaskSpinniesKey, {
181
+ SpinniesManager.fail(overallTaskSpinniesKey, {
191
182
  text: statusStrings.FAIL(taskName, displayId),
192
183
  });
193
184
  if (!silenceLogs) {
194
185
  const failedSubtasks = subtasks.filter(subtask => subtask.status === 'FAILURE');
195
- (0, ui_1.uiLine)();
196
- logger_1.uiLogger.log(`${statusStrings.SUBTASK_FAIL(failedSubtasks.length === 1
186
+ uiLine();
187
+ uiLogger.log(`${statusStrings.SUBTASK_FAIL(failedSubtasks.length === 1
197
188
  ? getSubtaskName(failedSubtasks[0])
198
189
  : failedSubtasks.length + ' components', displayId)}\n`);
199
- logger_1.uiLogger.log(en_1.lib.projectBuildAndDeploy.makePollTaskStatusFunc.errorSummary);
200
- (0, ui_1.uiLine)();
190
+ uiLogger.log(lib.projectBuildAndDeploy.makePollTaskStatusFunc.errorSummary);
191
+ uiLine();
201
192
  const displayErrors = failedSubtasks.filter(subtask => subtask?.standardError?.subCategory !==
202
- constants_1.PROJECT_ERROR_TYPES.SUBBUILD_FAILED &&
193
+ PROJECT_ERROR_TYPES.SUBBUILD_FAILED &&
203
194
  subtask?.standardError?.subCategory !==
204
- constants_1.PROJECT_ERROR_TYPES.SUBDEPLOY_FAILED);
195
+ PROJECT_ERROR_TYPES.SUBDEPLOY_FAILED);
205
196
  displayErrors.forEach(subTask => {
206
- logger_1.uiLogger.log(`\n--- ${chalk_1.default.bold(getSubtaskName(subTask))} failed with the following error ---`);
207
- logger_1.uiLogger.error(subTask.errorMessage);
197
+ uiLogger.log(`\n--- ${chalk.bold(getSubtaskName(subTask))} failed with the following error ---`);
198
+ uiLogger.error(subTask.errorMessage);
208
199
  // Log nested errors
209
200
  if (subTask.standardError && subTask.standardError.errors) {
210
- logger_1.uiLogger.log('');
201
+ uiLogger.log('');
211
202
  subTask.standardError.errors.forEach(error => {
212
- logger_1.uiLogger.log(error.message);
203
+ uiLogger.log(error.message);
213
204
  });
214
205
  }
215
206
  });
@@ -222,25 +213,25 @@ function makePollTaskStatusFunc({ statusFn, structureFn, statusText, statusStrin
222
213
  resolve(taskStatus);
223
214
  }
224
215
  }
225
- }, constants_1.DEFAULT_POLLING_DELAY);
216
+ }, DEFAULT_POLLING_DELAY);
226
217
  });
227
218
  };
228
219
  }
229
220
  function pollBuildAutodeployStatus(accountId, taskName, buildId) {
230
221
  return new Promise((resolve, reject) => {
231
- let maxIntervals = (15 * 1000) / constants_1.DEFAULT_POLLING_DELAY; // Num of intervals in ~15s
222
+ let maxIntervals = (15 * 1000) / DEFAULT_POLLING_DELAY; // Num of intervals in ~15s
232
223
  const pollInterval = setInterval(async () => {
233
224
  let build;
234
225
  try {
235
- const response = await (0, projects_1.getBuildStatus)(accountId, taskName, buildId);
226
+ const response = await getBuildStatus(accountId, taskName, buildId);
236
227
  build = response.data;
237
228
  }
238
229
  catch (e) {
239
- logger_1.uiLogger.debug(e);
240
- return reject(new Error(en_1.lib.projectBuildAndDeploy.pollBuildAutodeployStatusError(buildId)));
230
+ uiLogger.debug(e);
231
+ return reject(new Error(lib.projectBuildAndDeploy.pollBuildAutodeployStatusError(buildId)));
241
232
  }
242
233
  if (!build || !build.status) {
243
- return reject(new Error(en_1.lib.projectBuildAndDeploy.pollBuildAutodeployStatusError(buildId)));
234
+ return reject(new Error(lib.projectBuildAndDeploy.pollBuildAutodeployStatusError(buildId)));
244
235
  }
245
236
  if (build.deployStatusTaskLocator || maxIntervals <= 0) {
246
237
  clearInterval(pollInterval);
@@ -249,67 +240,67 @@ function pollBuildAutodeployStatus(accountId, taskName, buildId) {
249
240
  else {
250
241
  maxIntervals -= 1;
251
242
  }
252
- }, constants_1.DEFAULT_POLLING_DELAY);
243
+ }, DEFAULT_POLLING_DELAY);
253
244
  });
254
245
  }
255
- exports.pollBuildStatus = makePollTaskStatusFunc({
256
- linkToHubSpot: (accountId, taskName, taskId) => (0, ui_1.uiLink)(`View build #${taskId} in HubSpot`, (0, urls_1.getProjectBuildDetailUrl)(taskName, taskId, accountId)),
257
- statusFn: projects_1.getBuildStatus,
258
- structureFn: projects_1.getBuildStructure,
259
- statusText: constants_1.PROJECT_BUILD_TEXT,
246
+ export const pollBuildStatus = makePollTaskStatusFunc({
247
+ linkToHubSpot: (accountId, taskName, taskId) => uiLink(`View build #${taskId} in HubSpot`, getProjectBuildDetailUrl(taskName, taskId, accountId)),
248
+ statusFn: getBuildStatus,
249
+ structureFn: getBuildStructure,
250
+ statusText: PROJECT_BUILD_TEXT,
260
251
  statusStrings: {
261
- INITIALIZE: (name, buildId) => `Building ${chalk_1.default.bold(name)} #${buildId}`,
262
- SUCCESS: (name, buildId) => `Built ${chalk_1.default.bold(name)} #${buildId}`,
263
- FAIL: (name, buildId) => `Failed to build ${chalk_1.default.bold(name)} #${buildId}`,
264
- SUBTASK_FAIL: (buildId, name) => `Build #${buildId} failed because there was a problem\nbuilding ${chalk_1.default.bold(name)}`,
252
+ INITIALIZE: (name, buildId) => `Building ${chalk.bold(name)} #${buildId}`,
253
+ SUCCESS: (name, buildId) => `Built ${chalk.bold(name)} #${buildId}`,
254
+ FAIL: (name, buildId) => `Failed to build ${chalk.bold(name)} #${buildId}`,
255
+ SUBTASK_FAIL: (buildId, name) => `Build #${buildId} failed because there was a problem\nbuilding ${chalk.bold(name)}`,
265
256
  },
266
257
  });
267
- exports.pollDeployStatus = makePollTaskStatusFunc({
268
- linkToHubSpot: (accountId, taskName, taskId, deployedBuildId) => (0, ui_1.uiLink)(`View deploy of build #${deployedBuildId} in HubSpot`, (0, urls_1.getProjectDeployDetailUrl)(taskName, taskId, accountId)),
269
- statusFn: projects_1.getDeployStatus,
270
- structureFn: projects_1.getDeployStructure,
271
- statusText: constants_1.PROJECT_DEPLOY_TEXT,
258
+ export const pollDeployStatus = makePollTaskStatusFunc({
259
+ linkToHubSpot: (accountId, taskName, taskId, deployedBuildId) => uiLink(`View deploy of build #${deployedBuildId} in HubSpot`, getProjectDeployDetailUrl(taskName, taskId, accountId)),
260
+ statusFn: getDeployStatus,
261
+ structureFn: getDeployStructure,
262
+ statusText: PROJECT_DEPLOY_TEXT,
272
263
  statusStrings: {
273
- INITIALIZE: (name, buildId) => `Deploying build #${buildId} in ${chalk_1.default.bold(name)}`,
274
- SUCCESS: (name, buildId) => `Deployed build #${buildId} in ${chalk_1.default.bold(name)}`,
275
- FAIL: (name, buildId) => `Failed to deploy build #${buildId} in ${chalk_1.default.bold(name)}`,
276
- SUBTASK_FAIL: (deployedBuildId, name) => `Deploy for build #${deployedBuildId} failed because there was a\nproblem deploying ${chalk_1.default.bold(name)}`,
264
+ INITIALIZE: (name, buildId) => `Deploying build #${buildId} in ${chalk.bold(name)}`,
265
+ SUCCESS: (name, buildId) => `Deployed build #${buildId} in ${chalk.bold(name)}`,
266
+ FAIL: (name, buildId) => `Failed to deploy build #${buildId} in ${chalk.bold(name)}`,
267
+ SUBTASK_FAIL: (deployedBuildId, name) => `Deploy for build #${deployedBuildId} failed because there was a\nproblem deploying ${chalk.bold(name)}`,
277
268
  },
278
269
  });
279
- async function displayWarnLogs(accountId, projectName, taskId, isDeploy = false) {
270
+ export async function displayWarnLogs(accountId, projectName, taskId, isDeploy = false) {
280
271
  let result;
281
272
  if (isDeploy) {
282
273
  try {
283
- const { data } = await (0, projects_1.fetchDeployWarnLogs)(accountId, projectName, taskId);
274
+ const { data } = await fetchDeployWarnLogs(accountId, projectName, taskId);
284
275
  result = data;
285
276
  }
286
277
  catch (e) {
287
- (0, errorHandlers_1.logError)(e);
278
+ logError(e);
288
279
  }
289
280
  }
290
281
  else {
291
282
  try {
292
- const { data } = await (0, projects_1.fetchBuildWarnLogs)(accountId, projectName, taskId);
283
+ const { data } = await fetchBuildWarnLogs(accountId, projectName, taskId);
293
284
  result = data;
294
285
  }
295
286
  catch (e) {
296
- (0, errorHandlers_1.logError)(e);
287
+ logError(e);
297
288
  }
298
289
  }
299
290
  if (result && result.logs) {
300
291
  const logLength = result.logs.length;
301
292
  result.logs.forEach((log, i) => {
302
- logger_1.uiLogger.warn(log.message);
293
+ uiLogger.warn(log.message);
303
294
  if (i < logLength - 1) {
304
- logger_1.uiLogger.log('');
295
+ uiLogger.log('');
305
296
  }
306
297
  });
307
298
  }
308
299
  }
309
- async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, silenceLogs = false) {
310
- let buildStatus = await (0, exports.pollBuildStatus)(accountId, projectConfig.name, buildId, null, silenceLogs);
300
+ export async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, silenceLogs = false) {
301
+ let buildStatus = await pollBuildStatus(accountId, projectConfig.name, buildId, null, silenceLogs);
311
302
  if (!silenceLogs) {
312
- (0, ui_1.uiLine)();
303
+ uiLine();
313
304
  }
314
305
  const result = {
315
306
  succeeded: true,
@@ -323,7 +314,7 @@ async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, bui
323
314
  }
324
315
  else if (buildStatus.isAutoDeployEnabled) {
325
316
  if (!silenceLogs) {
326
- logger_1.uiLogger.log(en_1.lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.buildSucceededAutomaticallyDeploying(buildId, (0, ui_1.uiAccountDescription)(accountId)));
317
+ uiLogger.log(lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.buildSucceededAutomaticallyDeploying(buildId, uiAccountDescription(accountId)));
327
318
  await displayWarnLogs(accountId, projectConfig.name, buildId);
328
319
  }
329
320
  // autoDeployId of 0 indicates a skipped deploy
@@ -333,24 +324,24 @@ async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, bui
333
324
  buildStatus = await pollBuildAutodeployStatus(accountId, projectConfig.name, buildId);
334
325
  }
335
326
  if (getIsDeploying()) {
336
- const deployStatus = await (0, exports.pollDeployStatus)(accountId, projectConfig.name, Number(buildStatus.deployStatusTaskLocator.id), buildId, silenceLogs);
327
+ const deployStatus = await pollDeployStatus(accountId, projectConfig.name, Number(buildStatus.deployStatusTaskLocator.id), buildId, silenceLogs);
337
328
  result.deployResult = deployStatus;
338
329
  if (deployStatus.status === 'FAILURE') {
339
330
  result.succeeded = false;
340
331
  }
341
332
  }
342
333
  else if (!silenceLogs) {
343
- logger_1.uiLogger.log(en_1.lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.unableToFindAutodeployStatus(buildId, (0, ui_1.uiLink)(en_1.lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.viewDeploys, (0, urls_1.getProjectActivityUrl)(projectConfig.name, accountId))));
334
+ uiLogger.log(lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.unableToFindAutodeployStatus(buildId, uiLink(lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.viewDeploys, getProjectActivityUrl(projectConfig.name, accountId))));
344
335
  }
345
336
  }
346
337
  try {
347
338
  if (tempFile) {
348
339
  tempFile.removeCallback();
349
- logger_1.uiLogger.debug(en_1.lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.cleanedUpTempFile(tempFile.name));
340
+ uiLogger.debug(lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.cleanedUpTempFile(tempFile.name));
350
341
  }
351
342
  }
352
343
  catch (e) {
353
- (0, errorHandlers_1.logError)(e);
344
+ logError(e);
354
345
  }
355
346
  if (result && result.deployResult) {
356
347
  await displayWarnLogs(accountId, projectConfig.name, result.deployResult.deployId, true);
@@ -1,22 +1,16 @@
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.handleComponentCollision = handleComponentCollision;
7
- const path_1 = __importDefault(require("path"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
1
+ import path from 'path';
2
+ import fs from 'fs';
3
+ import { metafileExtension } from '@hubspot/project-parsing-lib';
10
4
  // Handles a collision between component source files
11
- function handleComponentCollision({ dest, src, collisions }) {
5
+ export function handleComponentCollision({ dest, src, collisions }) {
12
6
  const hsMetaFiles = [];
13
7
  const packageJsonFiles = [];
14
8
  const sourceFiles = [];
15
9
  collisions.forEach(collision => {
16
- if (collision.endsWith(project_parsing_lib_1.metafileExtension)) {
10
+ if (collision.endsWith(metafileExtension)) {
17
11
  hsMetaFiles.push(collision);
18
12
  }
19
- else if (path_1.default.parse(collision).base === 'package.json') {
13
+ else if (path.parse(collision).base === 'package.json') {
20
14
  packageJsonFiles.push(collision);
21
15
  }
22
16
  else {
@@ -24,18 +18,18 @@ function handleComponentCollision({ dest, src, collisions }) {
24
18
  }
25
19
  });
26
20
  const sourceFilenameMapping = sourceFiles.reduce((acc, filename) => {
27
- const { name, ext, dir } = path_1.default.parse(filename);
21
+ const { name, ext, dir } = path.parse(filename);
28
22
  return {
29
23
  ...acc,
30
- [filename]: path_1.default.join(dir, `${name}-${Date.now()}${ext}`),
24
+ [filename]: path.join(dir, `${name}-${Date.now()}${ext}`),
31
25
  };
32
26
  }, {});
33
- const metafileExtensionPrefix = path_1.default.parse(project_parsing_lib_1.metafileExtension).name;
27
+ const metafileExtensionPrefix = path.parse(metafileExtension).name;
34
28
  const metaFilenameMapping = hsMetaFiles.reduce((acc, filename) => {
35
- const { name, dir } = path_1.default.parse(filename);
29
+ const { name, dir } = path.parse(filename);
36
30
  return {
37
31
  ...acc,
38
- [filename]: path_1.default.join(dir, `${name.replace(metafileExtensionPrefix, '')}-${Date.now()}${project_parsing_lib_1.metafileExtension}`),
32
+ [filename]: path.join(dir, `${name.replace(metafileExtensionPrefix, '')}-${Date.now()}${metafileExtension}`),
39
33
  };
40
34
  }, {});
41
35
  // Update the metafiles that might contain references to the old filenames
@@ -50,25 +44,25 @@ function handleComponentCollision({ dest, src, collisions }) {
50
44
  });
51
45
  // Copy the renamed files into their new destination location
52
46
  Object.entries(sourceFilenameMapping).forEach(([key, value]) => {
53
- fs_1.default.copyFileSync(path_1.default.join(src, key), path_1.default.join(dest, value));
47
+ fs.copyFileSync(path.join(src, key), path.join(dest, value));
54
48
  });
55
49
  if (packageJsonFiles.length) {
56
50
  handlePackageJsonCollisions(dest, src, packageJsonFiles);
57
51
  }
58
52
  }
59
53
  function updateMetaFile({ dest, src, file, sourceFilenameMapping, metaFilenameMapping, }) {
60
- let text = fs_1.default.readFileSync(path_1.default.join(src, file), 'utf-8');
54
+ let text = fs.readFileSync(path.join(src, file), 'utf-8');
61
55
  Object.entries(sourceFilenameMapping).forEach(([key, value]) => {
62
- const { base: oldFileName } = path_1.default.parse(key);
63
- const { base: newFileName } = path_1.default.parse(value);
56
+ const { base: oldFileName } = path.parse(key);
57
+ const { base: newFileName } = path.parse(value);
64
58
  text = text.replace(oldFileName, newFileName);
65
59
  });
66
- fs_1.default.writeFileSync(path_1.default.join(dest, metaFilenameMapping[file]), text);
60
+ fs.writeFileSync(path.join(dest, metaFilenameMapping[file]), text);
67
61
  }
68
62
  function handlePackageJsonCollisions(dest, src, packageJsonFiles) {
69
63
  packageJsonFiles.forEach(file => {
70
- const existingPackageJsonContents = JSON.parse(fs_1.default.readFileSync(path_1.default.join(dest, file), 'utf-8'));
71
- const newPackageJsonContents = JSON.parse(fs_1.default.readFileSync(path_1.default.join(src, file), 'utf-8'));
64
+ const existingPackageJsonContents = JSON.parse(fs.readFileSync(path.join(dest, file), 'utf-8'));
65
+ const newPackageJsonContents = JSON.parse(fs.readFileSync(path.join(src, file), 'utf-8'));
72
66
  existingPackageJsonContents.dependencies = {
73
67
  ...newPackageJsonContents.dependencies,
74
68
  ...existingPackageJsonContents.dependencies,
@@ -77,6 +71,6 @@ function handlePackageJsonCollisions(dest, src, packageJsonFiles) {
77
71
  ...newPackageJsonContents.devDependencies,
78
72
  ...existingPackageJsonContents.devDependencies,
79
73
  };
80
- fs_1.default.writeFileSync(path_1.default.join(dest, file), JSON.stringify(existingPackageJsonContents, null, 2));
74
+ fs.writeFileSync(path.join(dest, file), JSON.stringify(existingPackageJsonContents, null, 2));
81
75
  });
82
76
  }
@@ -1,4 +1,4 @@
1
- import { ProjectConfig } from '../../types/Projects';
1
+ import { ProjectConfig } from '../../types/Projects.js';
2
2
  export declare function writeProjectConfig(configPath: string, config: ProjectConfig): boolean;
3
3
  export declare function getIsInProject(dir?: string): boolean;
4
4
  export interface LoadedProjectConfig {
@@ -1,79 +1,70 @@
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.writeProjectConfig = writeProjectConfig;
7
- exports.getIsInProject = getIsInProject;
8
- exports.getProjectConfig = getProjectConfig;
9
- exports.validateProjectConfig = validateProjectConfig;
10
- const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const path_1 = __importDefault(require("path"));
12
- const findup_sync_1 = __importDefault(require("findup-sync"));
13
- const path_2 = require("@hubspot/local-dev-lib/path");
14
- const constants_1 = require("../constants");
15
- const en_1 = require("../../lang/en");
16
- const exitCodes_1 = require("../enums/exitCodes");
17
- const logger_1 = require("../ui/logger");
18
- function writeProjectConfig(configPath, config) {
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import findup from 'findup-sync';
4
+ import { getAbsoluteFilePath, getCwd } from '@hubspot/local-dev-lib/path';
5
+ import { PROJECT_CONFIG_FILE } from '../constants.js';
6
+ import { lib } from '../../lang/en.js';
7
+ import { EXIT_CODES } from '../enums/exitCodes.js';
8
+ import { uiLogger } from '../ui/logger.js';
9
+ export function writeProjectConfig(configPath, config) {
19
10
  try {
20
- fs_extra_1.default.ensureFileSync(configPath);
21
- fs_extra_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2));
22
- logger_1.uiLogger.debug(`Wrote project config at ${configPath}`);
11
+ fs.ensureFileSync(configPath);
12
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
13
+ uiLogger.debug(`Wrote project config at ${configPath}`);
23
14
  }
24
15
  catch (e) {
25
- logger_1.uiLogger.debug(e);
16
+ uiLogger.debug(e);
26
17
  return false;
27
18
  }
28
19
  return true;
29
20
  }
30
- function getIsInProject(dir) {
21
+ export function getIsInProject(dir) {
31
22
  const configPath = getProjectConfigPath(dir);
32
23
  return !!configPath;
33
24
  }
34
25
  function getProjectConfigPath(dir) {
35
- const projectDir = dir ? (0, path_2.getAbsoluteFilePath)(dir) : (0, path_2.getCwd)();
36
- const configPath = (0, findup_sync_1.default)(constants_1.PROJECT_CONFIG_FILE, {
26
+ const projectDir = dir ? getAbsoluteFilePath(dir) : getCwd();
27
+ const configPath = findup(PROJECT_CONFIG_FILE, {
37
28
  cwd: projectDir,
38
29
  nocase: true,
39
30
  });
40
31
  return configPath;
41
32
  }
42
- async function getProjectConfig(dir) {
33
+ export async function getProjectConfig(dir) {
43
34
  const configPath = getProjectConfigPath(dir);
44
35
  if (!configPath) {
45
36
  return { projectConfig: null, projectDir: null };
46
37
  }
47
38
  try {
48
- const config = fs_extra_1.default.readFileSync(configPath);
39
+ const config = fs.readFileSync(configPath);
49
40
  const projectConfig = JSON.parse(config.toString());
50
41
  return {
51
- projectDir: path_1.default.dirname(configPath),
42
+ projectDir: path.dirname(configPath),
52
43
  projectConfig,
53
44
  };
54
45
  }
55
46
  catch (e) {
56
- logger_1.uiLogger.error(en_1.lib.projects.getProjectConfig.error);
47
+ uiLogger.error(lib.projects.getProjectConfig.error);
57
48
  return { projectConfig: null, projectDir: null };
58
49
  }
59
50
  }
60
- function validateProjectConfig(projectConfig, projectDir) {
51
+ export function validateProjectConfig(projectConfig, projectDir) {
61
52
  if (!projectConfig || !projectDir) {
62
- logger_1.uiLogger.error(en_1.lib.projects.validateProjectConfig.configNotFound);
63
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
53
+ uiLogger.error(lib.projects.validateProjectConfig.configNotFound);
54
+ return process.exit(EXIT_CODES.ERROR);
64
55
  }
65
56
  if (!projectConfig.name || !projectConfig.srcDir) {
66
- logger_1.uiLogger.error(en_1.lib.projects.validateProjectConfig.configMissingFields);
67
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
57
+ uiLogger.error(lib.projects.validateProjectConfig.configMissingFields);
58
+ return process.exit(EXIT_CODES.ERROR);
68
59
  }
69
- const resolvedPath = path_1.default.resolve(projectDir, projectConfig.srcDir);
60
+ const resolvedPath = path.resolve(projectDir, projectConfig.srcDir);
70
61
  if (!resolvedPath.startsWith(projectDir)) {
71
- const projectConfigFile = path_1.default.relative('.', path_1.default.join(projectDir, constants_1.PROJECT_CONFIG_FILE));
72
- logger_1.uiLogger.error(en_1.lib.projects.validateProjectConfig.srcOutsideProjectDir(projectConfigFile, projectConfig.srcDir));
73
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
62
+ const projectConfigFile = path.relative('.', path.join(projectDir, PROJECT_CONFIG_FILE));
63
+ uiLogger.error(lib.projects.validateProjectConfig.srcOutsideProjectDir(projectConfigFile, projectConfig.srcDir));
64
+ return process.exit(EXIT_CODES.ERROR);
74
65
  }
75
- if (!fs_extra_1.default.existsSync(resolvedPath)) {
76
- logger_1.uiLogger.error(en_1.lib.projects.validateProjectConfig.srcDirNotFound(projectConfig.srcDir, projectDir));
77
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
66
+ if (!fs.existsSync(resolvedPath)) {
67
+ uiLogger.error(lib.projects.validateProjectConfig.srcDirNotFound(projectConfig.srcDir, projectDir));
68
+ return process.exit(EXIT_CODES.ERROR);
78
69
  }
79
70
  }