@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,57 +1,19 @@
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 yargs_1 = __importDefault(require("yargs"));
40
- const path_1 = __importDefault(require("path"));
41
- const logger_1 = require("@hubspot/local-dev-lib/logger");
42
- const projectUtils = __importStar(require("../../../lib/projects/config"));
43
- const exitCodes_1 = require("../../../lib/enums/exitCodes");
44
- const usageTracking_1 = require("../../../lib/usageTracking");
45
- const dependencyManagement = __importStar(require("../../../lib/dependencyManagement"));
46
- const promptUtils = __importStar(require("../../../lib/prompts/promptUtils"));
47
- const installDeps_1 = __importDefault(require("../installDeps"));
1
+ import yargs from 'yargs';
2
+ import path from 'path';
3
+ import { logger } from '@hubspot/local-dev-lib/logger';
4
+ import * as projectUtils from '../../../lib/projects/config.js';
5
+ import { EXIT_CODES } from '../../../lib/enums/exitCodes.js';
6
+ import { trackCommandUsage } from '../../../lib/usageTracking.js';
7
+ import * as dependencyManagement from '../../../lib/dependencyManagement.js';
8
+ import * as promptUtils from '../../../lib/prompts/promptUtils.js';
9
+ import projectInstallDepsCommand from '../installDeps.js';
48
10
  vi.mock('@hubspot/local-dev-lib/logger');
49
11
  vi.mock('../../../lib/projects/config');
50
12
  vi.mock('../../../lib/dependencyManagement');
51
13
  vi.mock('../../../lib/prompts/promptUtils');
52
14
  vi.mock('../../../lib/usageTracking');
53
15
  vi.mock('../../../lib/commonOpts');
54
- const exampleSpy = vi.spyOn(yargs_1.default, 'example');
16
+ const exampleSpy = vi.spyOn(yargs, 'example');
55
17
  const processExitSpy = vi.spyOn(process, 'exit');
56
18
  const getProjectConfigSpy = vi.spyOn(projectUtils, 'getProjectConfig');
57
19
  const promptUserSpy = vi.spyOn(promptUtils, 'promptUser');
@@ -60,17 +22,17 @@ const installPackagesSpy = vi.spyOn(dependencyManagement, 'installPackages');
60
22
  describe('commands/project/installDeps', () => {
61
23
  describe('command', () => {
62
24
  it('should have the correct command structure', () => {
63
- expect(installDeps_1.default.command).toEqual('install-deps [packages..]');
25
+ expect(projectInstallDepsCommand.command).toEqual('install-deps [packages..]');
64
26
  });
65
27
  });
66
28
  describe('describe', () => {
67
29
  it('should not provide a description', () => {
68
- expect(installDeps_1.default.describe).toEqual(expect.stringMatching(/Install the dependencies for your project, or add a dependency to a subcomponent of a project/));
30
+ expect(projectInstallDepsCommand.describe).toEqual(expect.stringMatching(/Install the dependencies for your project, or add a dependency to a subcomponent of a project/));
69
31
  });
70
32
  });
71
33
  describe('builder', () => {
72
34
  it('should provide examples', () => {
73
- installDeps_1.default.builder(yargs_1.default);
35
+ projectInstallDepsCommand.builder(yargs);
74
36
  expect(exampleSpy).toHaveBeenCalledTimes(1);
75
37
  });
76
38
  });
@@ -84,42 +46,42 @@ describe('commands/project/installDeps', () => {
84
46
  processExitSpy.mockImplementation(() => { });
85
47
  });
86
48
  it('should track the command usage', async () => {
87
- await installDeps_1.default.handler(args);
88
- expect(usageTracking_1.trackCommandUsage).toHaveBeenCalledTimes(1);
89
- expect(usageTracking_1.trackCommandUsage).toHaveBeenCalledWith('project-install-deps', undefined, args.derivedAccountId);
49
+ await projectInstallDepsCommand.handler(args);
50
+ expect(trackCommandUsage).toHaveBeenCalledTimes(1);
51
+ expect(trackCommandUsage).toHaveBeenCalledWith('project-install-deps', undefined, args.derivedAccountId);
90
52
  });
91
53
  it('should handle exceptions', async () => {
92
54
  const error = new Error('Something went super wrong');
93
55
  getProjectConfigSpy.mockImplementationOnce(() => {
94
56
  throw error;
95
57
  });
96
- await installDeps_1.default.handler(args);
97
- expect(logger_1.logger.error).toHaveBeenCalledTimes(1);
98
- expect(logger_1.logger.error).toHaveBeenCalledWith(error.message);
58
+ await projectInstallDepsCommand.handler(args);
59
+ expect(logger.error).toHaveBeenCalledTimes(1);
60
+ expect(logger.error).toHaveBeenCalledWith(error.message);
99
61
  expect(processExitSpy).toHaveBeenCalledTimes(1);
100
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
62
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
101
63
  });
102
64
  it('should log an error and exit when the project config is not defined', async () => {
103
65
  getProjectConfigSpy.mockResolvedValueOnce({
104
66
  projectDir: null,
105
67
  projectConfig: null,
106
68
  });
107
- await installDeps_1.default.handler(args);
108
- expect(logger_1.logger.error).toHaveBeenCalledTimes(1);
109
- expect(logger_1.logger.error).toHaveBeenCalledWith('No project detected. Run this command from a project directory.');
69
+ await projectInstallDepsCommand.handler(args);
70
+ expect(logger.error).toHaveBeenCalledTimes(1);
71
+ expect(logger.error).toHaveBeenCalledWith('No project detected. Run this command from a project directory.');
110
72
  expect(processExitSpy).toHaveBeenCalledTimes(1);
111
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
73
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
112
74
  });
113
75
  it('should log an error and exit when the project config has no projectDir', async () => {
114
76
  getProjectConfigSpy.mockResolvedValueOnce({
115
77
  projectDir: null,
116
78
  projectConfig: null,
117
79
  });
118
- await installDeps_1.default.handler(args);
119
- expect(logger_1.logger.error).toHaveBeenCalledTimes(1);
120
- expect(logger_1.logger.error).toHaveBeenCalledWith('No project detected. Run this command from a project directory.');
80
+ await projectInstallDepsCommand.handler(args);
81
+ expect(logger.error).toHaveBeenCalledTimes(1);
82
+ expect(logger.error).toHaveBeenCalledWith('No project detected. Run this command from a project directory.');
121
83
  expect(processExitSpy).toHaveBeenCalledTimes(1);
122
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
84
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
123
85
  });
124
86
  it('should prompt for input when packages is defined', async () => {
125
87
  const projectDir = 'src';
@@ -127,14 +89,14 @@ describe('commands/project/installDeps', () => {
127
89
  projectDir,
128
90
  projectConfig: null,
129
91
  });
130
- const packageJsonLocation = path_1.default.join(projectDir, 'directory1');
92
+ const packageJsonLocation = path.join(projectDir, 'directory1');
131
93
  promptUserSpy.mockResolvedValueOnce({
132
94
  selectedInstallLocations: packageJsonLocation,
133
95
  });
134
96
  getProjectPackageJsonLocationsSpy.mockResolvedValue([
135
97
  packageJsonLocation,
136
98
  ]);
137
- await installDeps_1.default.handler({
99
+ await projectInstallDepsCommand.handler({
138
100
  ...args,
139
101
  packages: ['@hubspot/local-dev-lib'],
140
102
  });
@@ -158,7 +120,7 @@ describe('commands/project/installDeps', () => {
158
120
  });
159
121
  it('should call installPackages correctly', async () => {
160
122
  const projectDir = 'src';
161
- const packageJsonLocation = path_1.default.join(projectDir, 'directory1');
123
+ const packageJsonLocation = path.join(projectDir, 'directory1');
162
124
  const installLocations = [packageJsonLocation];
163
125
  const packages = ['@hubspot/local-dev-lib'];
164
126
  getProjectConfigSpy.mockResolvedValue({
@@ -169,7 +131,7 @@ describe('commands/project/installDeps', () => {
169
131
  selectedInstallLocations: packageJsonLocation,
170
132
  });
171
133
  getProjectPackageJsonLocationsSpy.mockResolvedValue(installLocations);
172
- await installDeps_1.default.handler({ ...args, packages });
134
+ await projectInstallDepsCommand.handler({ ...args, packages });
173
135
  expect(installPackagesSpy).toHaveBeenCalledTimes(1);
174
136
  expect(installPackagesSpy).toHaveBeenCalledWith({
175
137
  packages,
@@ -1,38 +1,33 @@
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
- const yargs_1 = __importDefault(require("yargs"));
7
- const commonOpts_1 = require("../../../lib/commonOpts");
8
- const listBuilds_1 = __importDefault(require("../listBuilds"));
1
+ import yargs from 'yargs';
2
+ import { addAccountOptions, addConfigOptions, addUseEnvironmentOptions, } from '../../../lib/commonOpts.js';
3
+ import projectListBuildsCommand from '../listBuilds.js';
9
4
  vi.mock('../../../lib/commonOpts');
10
5
  describe('commands/project/listBuilds', () => {
11
- const yargsMock = yargs_1.default;
6
+ const yargsMock = yargs;
12
7
  describe('command', () => {
13
8
  it('should have the correct command structure', () => {
14
- expect(listBuilds_1.default.command).toEqual('list-builds');
9
+ expect(projectListBuildsCommand.command).toEqual('list-builds');
15
10
  });
16
11
  });
17
12
  describe('describe', () => {
18
13
  it('should provide a description', () => {
19
- expect(listBuilds_1.default.describe).toBeDefined();
14
+ expect(projectListBuildsCommand.describe).toBeDefined();
20
15
  });
21
16
  });
22
17
  describe('builder', () => {
23
18
  it('should support the correct options', () => {
24
- listBuilds_1.default.builder(yargsMock);
25
- expect(commonOpts_1.addAccountOptions).toHaveBeenCalledTimes(1);
26
- expect(commonOpts_1.addAccountOptions).toHaveBeenCalledWith(yargsMock);
27
- expect(commonOpts_1.addConfigOptions).toHaveBeenCalledTimes(1);
28
- expect(commonOpts_1.addConfigOptions).toHaveBeenCalledWith(yargsMock);
29
- expect(commonOpts_1.addUseEnvironmentOptions).toHaveBeenCalledTimes(1);
30
- expect(commonOpts_1.addUseEnvironmentOptions).toHaveBeenCalledWith(yargsMock);
19
+ projectListBuildsCommand.builder(yargsMock);
20
+ expect(addAccountOptions).toHaveBeenCalledTimes(1);
21
+ expect(addAccountOptions).toHaveBeenCalledWith(yargsMock);
22
+ expect(addConfigOptions).toHaveBeenCalledTimes(1);
23
+ expect(addConfigOptions).toHaveBeenCalledWith(yargsMock);
24
+ expect(addUseEnvironmentOptions).toHaveBeenCalledTimes(1);
25
+ expect(addUseEnvironmentOptions).toHaveBeenCalledWith(yargsMock);
31
26
  });
32
27
  it('should define project and limit options', () => {
33
28
  const optionsSpy = vi.spyOn(yargsMock, 'options');
34
29
  const exampleSpy = vi.spyOn(yargsMock, 'example');
35
- listBuilds_1.default.builder(yargsMock);
30
+ projectListBuildsCommand.builder(yargsMock);
36
31
  expect(optionsSpy).toHaveBeenCalledWith(expect.objectContaining({
37
32
  project: expect.any(Object),
38
33
  limit: expect.any(Object),
@@ -1,51 +1,13 @@
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 yargs_1 = __importDefault(require("yargs"));
40
- const commonOpts_1 = require("../../../lib/commonOpts");
41
- const ProjectLogsManager_1 = require("../../../lib/projects/ProjectLogsManager");
42
- const projectLogsPrompt = __importStar(require("../../../lib/prompts/projectsLogsPrompt"));
43
- const table = __importStar(require("../../../lib/ui/table"));
44
- const usageTracking_1 = require("../../../lib/usageTracking");
45
- const ui = __importStar(require("../../../lib/ui"));
46
- const exitCodes_1 = require("../../../lib/enums/exitCodes");
47
- const errorHandlers_1 = require("../../../lib/errorHandlers");
48
- const logs_1 = __importDefault(require("../logs"));
1
+ import yargs from 'yargs';
2
+ import { addUseEnvironmentOptions } from '../../../lib/commonOpts.js';
3
+ import { ProjectLogsManager } from '../../../lib/projects/ProjectLogsManager.js';
4
+ import * as projectLogsPrompt from '../../../lib/prompts/projectsLogsPrompt.js';
5
+ import * as table from '../../../lib/ui/table.js';
6
+ import { trackCommandUsage } from '../../../lib/usageTracking.js';
7
+ import * as ui from '../../../lib/ui/index.js';
8
+ import { EXIT_CODES } from '../../../lib/enums/exitCodes.js';
9
+ import { logError } from '../../../lib/errorHandlers/index.js';
10
+ import projectLogsCommand from '../logs.js';
49
11
  vi.mock('@hubspot/local-dev-lib/logger');
50
12
  vi.mock('../../../lib/commonOpts');
51
13
  vi.mock('../../../lib/usageTracking');
@@ -58,20 +20,20 @@ const uiLinkSpy = vi.spyOn(ui, 'uiLink');
58
20
  const uiLineSpy = vi.spyOn(ui, 'uiLine');
59
21
  const processExitSpy = vi.spyOn(process, 'exit');
60
22
  const projectLogsPromptSpy = vi.spyOn(projectLogsPrompt, 'projectLogsPrompt');
61
- const projectLogsManagerSetFunctionSpy = vi.spyOn(ProjectLogsManager_1.ProjectLogsManager, 'setFunction');
62
- const projectLogsManagerGetFunctionNamesSpy = vi.spyOn(ProjectLogsManager_1.ProjectLogsManager, 'getFunctionNames');
63
- const projectLogsManagerInitSpy = vi.spyOn(ProjectLogsManager_1.ProjectLogsManager, 'init');
23
+ const projectLogsManagerSetFunctionSpy = vi.spyOn(ProjectLogsManager, 'setFunction');
24
+ const projectLogsManagerGetFunctionNamesSpy = vi.spyOn(ProjectLogsManager, 'getFunctionNames');
25
+ const projectLogsManagerInitSpy = vi.spyOn(ProjectLogsManager, 'init');
64
26
  const getTableHeaderSpy = vi.spyOn(table, 'getTableHeader');
65
27
  const getTableContentsSpy = vi.spyOn(table, 'getTableContents');
66
28
  const optionsSpy = vi
67
- .spyOn(yargs_1.default, 'options')
68
- .mockReturnValue(yargs_1.default);
29
+ .spyOn(yargs, 'options')
30
+ .mockReturnValue(yargs);
69
31
  const conflictsSpy = vi
70
- .spyOn(yargs_1.default, 'conflicts')
71
- .mockReturnValue(yargs_1.default);
32
+ .spyOn(yargs, 'conflicts')
33
+ .mockReturnValue(yargs);
72
34
  const exampleSpy = vi
73
- .spyOn(yargs_1.default, 'example')
74
- .mockReturnValue(yargs_1.default);
35
+ .spyOn(yargs, 'example')
36
+ .mockReturnValue(yargs);
75
37
  describe('commands/project/logs', () => {
76
38
  beforeEach(() => {
77
39
  // @ts-expect-error Doesn't match the actual signature because then the linter complains about unused variables
@@ -79,20 +41,20 @@ describe('commands/project/logs', () => {
79
41
  });
80
42
  describe('command', () => {
81
43
  it('should have the correct command structure', async () => {
82
- expect(logs_1.default.command).toEqual('logs');
44
+ expect(projectLogsCommand.command).toEqual('logs');
83
45
  });
84
46
  });
85
47
  describe('describe', () => {
86
48
  it('should contain the beta tag', () => {
87
- expect(logs_1.default.describe).toContain('[BETA]');
49
+ expect(projectLogsCommand.describe).toContain('[BETA]');
88
50
  });
89
51
  it('should provide a description', () => {
90
- expect(logs_1.default.describe).toBeDefined();
52
+ expect(projectLogsCommand.describe).toBeDefined();
91
53
  });
92
54
  });
93
55
  describe('builder', () => {
94
56
  it('should support the correct options', () => {
95
- logs_1.default.builder(yargs_1.default);
57
+ projectLogsCommand.builder(yargs);
96
58
  expect(optionsSpy).toHaveBeenCalledTimes(1);
97
59
  expect(optionsSpy).toHaveBeenCalledWith({
98
60
  function: expect.objectContaining({
@@ -115,16 +77,16 @@ describe('commands/project/logs', () => {
115
77
  type: 'number',
116
78
  }),
117
79
  });
118
- expect(commonOpts_1.addUseEnvironmentOptions).toHaveBeenCalledTimes(1);
119
- expect(commonOpts_1.addUseEnvironmentOptions).toHaveBeenCalledWith(yargs_1.default);
80
+ expect(addUseEnvironmentOptions).toHaveBeenCalledTimes(1);
81
+ expect(addUseEnvironmentOptions).toHaveBeenCalledWith(yargs);
120
82
  });
121
83
  it('should set the correct conflicts', () => {
122
- logs_1.default.builder(yargs_1.default);
84
+ projectLogsCommand.builder(yargs);
123
85
  expect(conflictsSpy).toHaveBeenCalledTimes(1);
124
86
  expect(conflictsSpy).toHaveBeenCalledWith('tail', 'limit');
125
87
  });
126
88
  it('should provide examples', () => {
127
- logs_1.default.builder(yargs_1.default);
89
+ projectLogsCommand.builder(yargs);
128
90
  expect(exampleSpy).toHaveBeenCalledTimes(1);
129
91
  });
130
92
  });
@@ -137,19 +99,19 @@ describe('commands/project/logs', () => {
137
99
  projectLogsPromptSpy.mockResolvedValue({ functionName: 'foo' });
138
100
  });
139
101
  it('should track the command usage', async () => {
140
- await logs_1.default.handler(options);
141
- expect(usageTracking_1.trackCommandUsage).toHaveBeenCalledTimes(1);
142
- expect(usageTracking_1.trackCommandUsage).toHaveBeenCalledWith('project-logs', undefined, options.derivedAccountId);
102
+ await projectLogsCommand.handler(options);
103
+ expect(trackCommandUsage).toHaveBeenCalledTimes(1);
104
+ expect(trackCommandUsage).toHaveBeenCalledWith('project-logs', undefined, options.derivedAccountId);
143
105
  });
144
106
  it('should initialize the ProjectLogsManager', async () => {
145
- await logs_1.default.handler(options);
107
+ await projectLogsCommand.handler(options);
146
108
  expect(projectLogsManagerInitSpy).toHaveBeenCalledTimes(1);
147
109
  expect(projectLogsManagerInitSpy).toHaveBeenCalledWith(options.derivedAccountId);
148
110
  });
149
111
  it('should prompt the user for input', async () => {
150
112
  const functionNames = ['function1', 'function2'];
151
113
  projectLogsManagerGetFunctionNamesSpy.mockReturnValue(functionNames);
152
- await logs_1.default.handler(options);
114
+ await projectLogsCommand.handler(options);
153
115
  expect(projectLogsPromptSpy).toHaveBeenCalledTimes(1);
154
116
  expect(projectLogsPromptSpy).toHaveBeenCalledWith({
155
117
  functionChoices: functionNames,
@@ -165,7 +127,7 @@ describe('commands/project/logs', () => {
165
127
  projectLogsPromptSpy.mockResolvedValue({
166
128
  functionName: selectedFunction,
167
129
  });
168
- await logs_1.default.handler(options);
130
+ await projectLogsCommand.handler(options);
169
131
  expect(projectLogsManagerSetFunctionSpy).toHaveBeenCalledTimes(1);
170
132
  expect(projectLogsManagerSetFunctionSpy).toHaveBeenCalledWith(selectedFunction);
171
133
  });
@@ -178,12 +140,12 @@ describe('commands/project/logs', () => {
178
140
  });
179
141
  const tableHeaders = ['Header 1', 'Header 2'];
180
142
  getTableHeaderSpy.mockReturnValue(tableHeaders);
181
- ProjectLogsManager_1.ProjectLogsManager.isPublicFunction = true;
182
- ProjectLogsManager_1.ProjectLogsManager.accountId = options.derivedAccountId;
183
- ProjectLogsManager_1.ProjectLogsManager.functionName = selectedFunction;
184
- ProjectLogsManager_1.ProjectLogsManager.endpointName = 'my-endpoint';
185
- ProjectLogsManager_1.ProjectLogsManager.appId = 123456;
186
- await logs_1.default.handler(options);
143
+ ProjectLogsManager.isPublicFunction = true;
144
+ ProjectLogsManager.accountId = options.derivedAccountId;
145
+ ProjectLogsManager.functionName = selectedFunction;
146
+ ProjectLogsManager.endpointName = 'my-endpoint';
147
+ ProjectLogsManager.appId = 123456;
148
+ await projectLogsCommand.handler(options);
187
149
  expect(getTableHeaderSpy).toHaveBeenCalledTimes(1);
188
150
  expect(getTableHeaderSpy).toHaveBeenCalledWith([
189
151
  'Account',
@@ -194,13 +156,13 @@ describe('commands/project/logs', () => {
194
156
  expect(getTableContentsSpy).toHaveBeenCalledWith([
195
157
  tableHeaders,
196
158
  [
197
- ProjectLogsManager_1.ProjectLogsManager.accountId,
198
- ProjectLogsManager_1.ProjectLogsManager.functionName,
199
- ProjectLogsManager_1.ProjectLogsManager.endpointName,
159
+ ProjectLogsManager.accountId,
160
+ ProjectLogsManager.functionName,
161
+ ProjectLogsManager.endpointName,
200
162
  ],
201
163
  ], { border: { bodyLeft: ' ' } });
202
164
  expect(uiLinkSpy).toHaveBeenCalledTimes(1);
203
- expect(uiLinkSpy).toHaveBeenCalledWith('View function logs in HubSpot', `https://app.hubspot.com/private-apps/${options.derivedAccountId}/${ProjectLogsManager_1.ProjectLogsManager.appId}/logs/serverlessGatewayExecution?path=${ProjectLogsManager_1.ProjectLogsManager.endpointName}`);
165
+ expect(uiLinkSpy).toHaveBeenCalledWith('View function logs in HubSpot', `https://app.hubspot.com/private-apps/${options.derivedAccountId}/${ProjectLogsManager.appId}/logs/serverlessGatewayExecution?path=${ProjectLogsManager.endpointName}`);
204
166
  expect(uiLineSpy).toHaveBeenCalledTimes(1);
205
167
  });
206
168
  it('should log private functions correctly', async () => {
@@ -212,19 +174,19 @@ describe('commands/project/logs', () => {
212
174
  });
213
175
  const tableHeaders = ['Header 1', 'Header 2'];
214
176
  getTableHeaderSpy.mockReturnValue(tableHeaders);
215
- ProjectLogsManager_1.ProjectLogsManager.isPublicFunction = false;
216
- ProjectLogsManager_1.ProjectLogsManager.accountId = options.derivedAccountId;
217
- ProjectLogsManager_1.ProjectLogsManager.functionName = selectedFunction;
218
- ProjectLogsManager_1.ProjectLogsManager.appId = 456789;
219
- await logs_1.default.handler(options);
177
+ ProjectLogsManager.isPublicFunction = false;
178
+ ProjectLogsManager.accountId = options.derivedAccountId;
179
+ ProjectLogsManager.functionName = selectedFunction;
180
+ ProjectLogsManager.appId = 456789;
181
+ await projectLogsCommand.handler(options);
220
182
  expect(getTableHeaderSpy).toHaveBeenCalledTimes(1);
221
183
  expect(getTableHeaderSpy).toHaveBeenCalledWith(['Account', 'Function']);
222
184
  expect(getTableContentsSpy).toHaveBeenCalledTimes(1);
223
185
  expect(getTableContentsSpy).toHaveBeenCalledWith([
224
186
  tableHeaders,
225
- [ProjectLogsManager_1.ProjectLogsManager.accountId, ProjectLogsManager_1.ProjectLogsManager.functionName],
187
+ [ProjectLogsManager.accountId, ProjectLogsManager.functionName],
226
188
  ], { border: { bodyLeft: ' ' } });
227
- expect(uiLinkSpy).toHaveBeenCalledWith('View function logs in HubSpot', `https://app.hubspot.com/private-apps/${options.derivedAccountId}/${ProjectLogsManager_1.ProjectLogsManager.appId}/logs/crm?serverlessFunction=${selectedFunction}`);
189
+ expect(uiLinkSpy).toHaveBeenCalledWith('View function logs in HubSpot', `https://app.hubspot.com/private-apps/${options.derivedAccountId}/${ProjectLogsManager.appId}/logs/crm?serverlessFunction=${selectedFunction}`);
228
190
  expect(uiLineSpy).toHaveBeenCalledTimes(1);
229
191
  });
230
192
  it('should handle errors correctly', async () => {
@@ -232,15 +194,15 @@ describe('commands/project/logs', () => {
232
194
  projectLogsManagerInitSpy.mockImplementation(() => {
233
195
  throw error;
234
196
  });
235
- ProjectLogsManager_1.ProjectLogsManager.projectName = 'Super cool project';
236
- await logs_1.default.handler(options);
237
- expect(errorHandlers_1.logError).toHaveBeenCalledTimes(1);
238
- expect(errorHandlers_1.logError).toHaveBeenCalledWith(error, {
197
+ ProjectLogsManager.projectName = 'Super cool project';
198
+ await projectLogsCommand.handler(options);
199
+ expect(logError).toHaveBeenCalledTimes(1);
200
+ expect(logError).toHaveBeenCalledWith(error, {
239
201
  accountId: options.derivedAccountId,
240
- projectName: ProjectLogsManager_1.ProjectLogsManager.projectName,
202
+ projectName: ProjectLogsManager.projectName,
241
203
  });
242
204
  expect(processExitSpy).toHaveBeenCalledTimes(1);
243
- expect(processExitSpy).toHaveBeenCalledWith(exitCodes_1.EXIT_CODES.ERROR);
205
+ expect(processExitSpy).toHaveBeenCalledWith(EXIT_CODES.ERROR);
244
206
  });
245
207
  });
246
208
  });
@@ -1,36 +1,31 @@
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
- const yargs_1 = __importDefault(require("yargs"));
7
- const logger_1 = require("@hubspot/local-dev-lib/logger");
8
- const projects_1 = require("@hubspot/local-dev-lib/constants/projects");
9
- const migrate_1 = __importDefault(require("../migrate"));
10
- const migrate_2 = require("../../../lib/app/migrate");
11
- const config_1 = require("../../../lib/projects/config");
12
- const en_1 = require("../../../lang/en");
13
- const ui_1 = require("../../../lib/ui");
1
+ import yargs from 'yargs';
2
+ import { logger } from '@hubspot/local-dev-lib/logger';
3
+ import { PLATFORM_VERSIONS } from '@hubspot/local-dev-lib/constants/projects';
4
+ import migrateCommand from '../migrate.js';
5
+ import { migrateApp2025_2 } from '../../../lib/app/migrate.js';
6
+ import { getProjectConfig } from '../../../lib/projects/config.js';
7
+ import { commands } from '../../../lang/en.js';
8
+ import { uiBetaTag, uiCommandReference } from '../../../lib/ui/index.js';
14
9
  vi.mock('@hubspot/local-dev-lib/logger');
15
10
  vi.mock('../../../lib/app/migrate');
16
11
  vi.mock('../../../lib/projects/config');
17
12
  vi.mock('../../../lib/ui');
18
- const { v2025_2 } = projects_1.PLATFORM_VERSIONS;
13
+ const { v2025_2 } = PLATFORM_VERSIONS;
19
14
  describe('commands/project/migrate', () => {
20
- const yargsMock = yargs_1.default;
15
+ const yargsMock = yargs;
21
16
  const optionsSpy = vi.spyOn(yargsMock, 'option').mockReturnValue(yargsMock);
22
17
  // Mock the imported functions
23
- const migrateApp2025_2Mock = migrate_2.migrateApp2025_2;
24
- const getProjectConfigMock = config_1.getProjectConfig;
25
- const uiBetaTagMock = ui_1.uiBetaTag;
26
- const uiCommandReferenceMock = ui_1.uiCommandReference;
18
+ const migrateApp2025_2Mock = migrateApp2025_2;
19
+ const getProjectConfigMock = getProjectConfig;
20
+ const uiBetaTagMock = uiBetaTag;
21
+ const uiCommandReferenceMock = uiCommandReference;
27
22
  const mockExit = vi
28
23
  .spyOn(process, 'exit')
29
24
  .mockImplementation(() => undefined);
30
25
  beforeEach(() => {
31
26
  // Mock logger methods
32
- vi.spyOn(logger_1.logger, 'log').mockImplementation(() => { });
33
- vi.spyOn(logger_1.logger, 'error').mockImplementation(() => { });
27
+ vi.spyOn(logger, 'log').mockImplementation(() => { });
28
+ vi.spyOn(logger, 'error').mockImplementation(() => { });
34
29
  migrateApp2025_2Mock.mockResolvedValue(undefined);
35
30
  getProjectConfigMock.mockResolvedValue({
36
31
  projectConfig: { name: 'test-project' },
@@ -44,17 +39,17 @@ describe('commands/project/migrate', () => {
44
39
  });
45
40
  describe('command', () => {
46
41
  it('should have the correct command structure', () => {
47
- expect(migrate_1.default.command).toEqual('migrate');
42
+ expect(migrateCommand.command).toEqual('migrate');
48
43
  });
49
44
  });
50
45
  describe('describe', () => {
51
46
  it('should provide a description', () => {
52
- expect(migrate_1.default.describe).toBe(undefined);
47
+ expect(migrateCommand.describe).toBe(undefined);
53
48
  });
54
49
  });
55
50
  describe('builder', () => {
56
51
  it('should support the correct options', () => {
57
- migrate_1.default.builder(yargsMock);
52
+ migrateCommand.builder(yargsMock);
58
53
  expect(optionsSpy).toHaveBeenCalledWith('platform-version', {
59
54
  type: 'string',
60
55
  choices: [v2025_2],
@@ -79,13 +74,13 @@ describe('commands/project/migrate', () => {
79
74
  });
80
75
  it('should exit with error if no project config exists', async () => {
81
76
  getProjectConfigMock.mockResolvedValue({ projectConfig: null });
82
- await migrate_1.default.handler(options);
83
- expect(logger_1.logger.error).toHaveBeenCalledWith(en_1.commands.project.migrate.errors.noProjectConfig('command reference'));
77
+ await migrateCommand.handler(options);
78
+ expect(logger.error).toHaveBeenCalledWith(commands.project.migrate.errors.noProjectConfig('command reference'));
84
79
  expect(mockExit).toHaveBeenCalledWith(1);
85
80
  expect(mockExit).toHaveBeenCalledTimes(1);
86
81
  });
87
82
  it('should call migrateApp2025_2 with correct parameters', async () => {
88
- await migrate_1.default.handler(options);
83
+ await migrateCommand.handler(options);
89
84
  expect(migrateApp2025_2Mock).toHaveBeenCalledWith(123, {
90
85
  ...options,
91
86
  name: 'test-project',
@@ -96,11 +91,11 @@ describe('commands/project/migrate', () => {
96
91
  });
97
92
  it('should use unstable platform version when unstable flag is true', async () => {
98
93
  options.unstable = true;
99
- await migrate_1.default.handler(options);
94
+ await migrateCommand.handler(options);
100
95
  expect(migrateApp2025_2Mock).toHaveBeenCalledWith(123, {
101
96
  ...options,
102
97
  name: 'test-project',
103
- platformVersion: projects_1.PLATFORM_VERSIONS.unstable,
98
+ platformVersion: PLATFORM_VERSIONS.unstable,
104
99
  }, { projectConfig: { name: 'test-project' } });
105
100
  expect(mockExit).toHaveBeenCalledWith(0);
106
101
  expect(mockExit).toHaveBeenCalledTimes(1);
@@ -108,7 +103,7 @@ describe('commands/project/migrate', () => {
108
103
  it('should handle errors and exit with error code', async () => {
109
104
  const error = new Error('Test error');
110
105
  migrateApp2025_2Mock.mockRejectedValue(error);
111
- await migrate_1.default.handler(options);
106
+ await migrateCommand.handler(options);
112
107
  expect(mockExit).toHaveBeenCalledWith(1);
113
108
  expect(mockExit).toHaveBeenCalledTimes(1);
114
109
  });