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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/bin/cli.js +2 -0
  2. package/commands/account/auth.js +12 -22
  3. package/commands/account/clean.js +5 -6
  4. package/commands/account/createOverride.js +7 -7
  5. package/commands/account/info.js +2 -1
  6. package/commands/account/list.js +3 -5
  7. package/commands/account/remove.js +2 -3
  8. package/commands/account/removeOverride.js +8 -10
  9. package/commands/account/rename.js +5 -6
  10. package/commands/account/use.js +8 -19
  11. package/commands/api.d.ts +10 -0
  12. package/commands/api.js +164 -0
  13. package/commands/app/migrate.js +8 -8
  14. package/commands/app/secret/add.js +6 -7
  15. package/commands/app/secret/delete.js +9 -10
  16. package/commands/app/secret/list.js +6 -7
  17. package/commands/app/secret/update.js +8 -9
  18. package/commands/auth.js +12 -12
  19. package/commands/cms/app/create.js +9 -5
  20. package/commands/cms/convertFields.js +8 -8
  21. package/commands/cms/delete.js +2 -3
  22. package/commands/cms/fetch.js +7 -7
  23. package/commands/cms/function/create.js +9 -5
  24. package/commands/cms/function/deploy.js +2 -3
  25. package/commands/cms/function/list.js +11 -7
  26. package/commands/cms/function/logs.js +17 -23
  27. package/commands/cms/function/server.js +2 -3
  28. package/commands/cms/getReactModule.js +7 -8
  29. package/commands/cms/lighthouseScore.js +25 -24
  30. package/commands/cms/lint.js +4 -5
  31. package/commands/cms/list.js +5 -6
  32. package/commands/cms/module/create.js +9 -5
  33. package/commands/cms/module/marketplace-validate.js +7 -8
  34. package/commands/cms/mv.js +2 -3
  35. package/commands/cms/template/create.js +10 -6
  36. package/commands/cms/theme/create.js +5 -5
  37. package/commands/cms/theme/generate-selectors.js +5 -4
  38. package/commands/cms/theme/marketplace-validate.js +8 -9
  39. package/commands/cms/theme/preview.js +16 -8
  40. package/commands/cms/upload.js +15 -12
  41. package/commands/cms/watch.js +5 -5
  42. package/commands/cms/webpack/create.js +5 -5
  43. package/commands/completion.js +3 -5
  44. package/commands/config/migrate.js +6 -7
  45. package/commands/config/set.js +5 -6
  46. package/commands/customObject/create.js +4 -5
  47. package/commands/customObject/createSchema.js +4 -5
  48. package/commands/customObject/deleteSchema.js +4 -5
  49. package/commands/customObject/fetchAllSchemas.js +2 -3
  50. package/commands/customObject/fetchSchema.js +2 -3
  51. package/commands/customObject/listSchemas.js +2 -3
  52. package/commands/customObject/updateSchema.js +4 -5
  53. package/commands/doctor.js +8 -8
  54. package/commands/feedback.js +6 -4
  55. package/commands/filemanager/fetch.js +5 -6
  56. package/commands/filemanager/upload.js +5 -5
  57. package/commands/getStarted.js +14 -16
  58. package/commands/hubdb/clear.js +5 -6
  59. package/commands/hubdb/create.js +4 -5
  60. package/commands/hubdb/delete.js +8 -9
  61. package/commands/hubdb/fetch.js +5 -6
  62. package/commands/hubdb/list.js +16 -14
  63. package/commands/init.js +14 -17
  64. package/commands/mcp/setup.js +5 -6
  65. package/commands/mcp/start.js +2 -3
  66. package/commands/open.js +4 -5
  67. package/commands/project/add.js +10 -5
  68. package/commands/project/create.js +10 -10
  69. package/commands/project/delete.d.ts +7 -0
  70. package/commands/project/delete.js +74 -0
  71. package/commands/project/deploy.js +36 -34
  72. package/commands/project/dev/deprecatedFlow.js +42 -15
  73. package/commands/project/dev/index.d.ts +3 -3
  74. package/commands/project/dev/index.js +24 -30
  75. package/commands/project/dev/unifiedFlow.js +37 -14
  76. package/commands/project/download.js +10 -11
  77. package/commands/project/info.js +17 -17
  78. package/commands/project/installDeps.js +9 -6
  79. package/commands/project/lint.js +11 -8
  80. package/commands/project/list.js +14 -14
  81. package/commands/project/listBuilds.js +8 -6
  82. package/commands/project/logs.js +5 -6
  83. package/commands/project/migrate.js +8 -8
  84. package/commands/project/open.js +5 -6
  85. package/commands/project/profile/add.js +12 -8
  86. package/commands/project/profile/delete.js +15 -11
  87. package/commands/project/updateDeps.js +9 -6
  88. package/commands/project/upload.js +31 -17
  89. package/commands/project/validate.js +11 -11
  90. package/commands/project/watch.js +20 -20
  91. package/commands/project.js +2 -0
  92. package/commands/sandbox/create.js +15 -15
  93. package/commands/sandbox/delete.js +13 -14
  94. package/commands/secret/addSecret.js +6 -7
  95. package/commands/secret/deleteSecret.js +5 -6
  96. package/commands/secret/listSecret.js +2 -3
  97. package/commands/secret/updateSecret.js +4 -5
  98. package/commands/testAccount/create.d.ts +1 -1
  99. package/commands/testAccount/create.js +20 -16
  100. package/commands/testAccount/createConfig.js +7 -8
  101. package/commands/testAccount/delete.js +27 -18
  102. package/commands/testAccount/importData.js +6 -7
  103. package/commands/upgrade.js +9 -10
  104. package/lang/en.d.ts +94 -7
  105. package/lang/en.js +94 -10
  106. package/lib/accountAuth.js +2 -2
  107. package/lib/buildAccount.js +3 -3
  108. package/lib/constants.d.ts +0 -1
  109. package/lib/constants.js +0 -1
  110. package/lib/doctor/Diagnosis.js +5 -5
  111. package/lib/errorHandlers/index.js +4 -3
  112. package/lib/errorHandlers/suppressError.js +4 -0
  113. package/lib/errors/PromptExitError.d.ts +4 -2
  114. package/lib/errors/PromptExitError.js +3 -0
  115. package/lib/hasFeature.js +1 -2
  116. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  117. package/lib/process.d.ts +1 -1
  118. package/lib/process.js +10 -3
  119. package/lib/projects/create/v2.js +1 -2
  120. package/lib/projects/delete.d.ts +13 -0
  121. package/lib/projects/delete.js +193 -0
  122. package/lib/projects/localDev/AppDevModeInterface.js +11 -11
  123. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +3 -1
  124. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +2 -2
  125. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  126. package/lib/projects/localDev/DevSessionManager.js +31 -19
  127. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +3 -0
  128. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +16 -12
  129. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  130. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  131. package/lib/projects/localDev/LocalDevState.js +3 -1
  132. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  133. package/lib/projects/localDev/helpers/account.js +16 -19
  134. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  135. package/lib/projects/localDev/helpers/process.js +4 -10
  136. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  137. package/lib/projects/localDev/helpers/project.js +31 -15
  138. package/lib/projects/projectInfo.d.ts +3 -20
  139. package/lib/projects/projectInfo.js +32 -54
  140. package/lib/projects/projectProfiles.d.ts +1 -2
  141. package/lib/projects/projectProfiles.js +5 -17
  142. package/lib/projects/upload.js +19 -0
  143. package/lib/projects/workspaces.d.ts +42 -0
  144. package/lib/projects/workspaces.js +350 -0
  145. package/lib/prompts/createApiSamplePrompt.js +4 -0
  146. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  147. package/lib/prompts/projectProfilePrompt.js +46 -0
  148. package/lib/prompts/promptUtils.js +3 -2
  149. package/lib/prompts/selectHubDBTablePrompt.js +2 -2
  150. package/lib/prompts/selectPublicAppForMigrationPrompt.js +2 -2
  151. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  152. package/lib/theme/cmsDevServerProcess.js +7 -6
  153. package/lib/ui/SpinniesManager.d.ts +1 -0
  154. package/lib/ui/SpinniesManager.js +20 -6
  155. package/lib/ui/spinniesUtils.d.ts +0 -1
  156. package/lib/ui/spinniesUtils.js +6 -16
  157. package/lib/usageTracking.d.ts +3 -4
  158. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  159. package/lib/yargs/makeYargsBuilder.js +33 -0
  160. package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
  161. package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
  162. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  163. package/lib/yargs/strictEnforceBoolean.js +13 -0
  164. package/lib/yargsUtils.d.ts +3 -16
  165. package/lib/yargsUtils.js +3 -48
  166. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +1 -1
  167. package/package.json +10 -5
  168. package/types/LocalDev.d.ts +5 -0
  169. package/types/Projects.d.ts +19 -0
  170. package/types/Yargs.d.ts +18 -1
  171. package/api/__tests__/migrate.test.d.ts +0 -1
  172. package/api/__tests__/migrate.test.js +0 -199
  173. package/commands/__tests__/account.test.d.ts +0 -1
  174. package/commands/__tests__/account.test.js +0 -69
  175. package/commands/__tests__/auth.test.d.ts +0 -1
  176. package/commands/__tests__/auth.test.js +0 -43
  177. package/commands/__tests__/cms.test.d.ts +0 -1
  178. package/commands/__tests__/cms.test.js +0 -87
  179. package/commands/__tests__/config.test.d.ts +0 -1
  180. package/commands/__tests__/config.test.js +0 -44
  181. package/commands/__tests__/customObject.test.d.ts +0 -1
  182. package/commands/__tests__/customObject.test.js +0 -68
  183. package/commands/__tests__/doctor.test.d.ts +0 -1
  184. package/commands/__tests__/doctor.test.js +0 -132
  185. package/commands/__tests__/feedback.test.d.ts +0 -1
  186. package/commands/__tests__/feedback.test.js +0 -24
  187. package/commands/__tests__/filemanager.test.d.ts +0 -1
  188. package/commands/__tests__/filemanager.test.js +0 -45
  189. package/commands/__tests__/getStarted.test.d.ts +0 -1
  190. package/commands/__tests__/getStarted.test.js +0 -173
  191. package/commands/__tests__/hubdb.test.d.ts +0 -1
  192. package/commands/__tests__/hubdb.test.js +0 -50
  193. package/commands/__tests__/init.test.d.ts +0 -1
  194. package/commands/__tests__/init.test.js +0 -42
  195. package/commands/__tests__/mcp.test.d.ts +0 -1
  196. package/commands/__tests__/mcp.test.js +0 -46
  197. package/commands/__tests__/open.test.d.ts +0 -1
  198. package/commands/__tests__/open.test.js +0 -58
  199. package/commands/__tests__/project.test.d.ts +0 -1
  200. package/commands/__tests__/project.test.js +0 -125
  201. package/commands/__tests__/sandbox.test.d.ts +0 -1
  202. package/commands/__tests__/sandbox.test.js +0 -44
  203. package/commands/__tests__/secret.test.d.ts +0 -1
  204. package/commands/__tests__/secret.test.js +0 -49
  205. package/commands/__tests__/testAccount.test.d.ts +0 -1
  206. package/commands/__tests__/testAccount.test.js +0 -57
  207. package/commands/__tests__/upgrade.test.d.ts +0 -1
  208. package/commands/__tests__/upgrade.test.js +0 -309
  209. package/commands/account/__tests__/auth.test.d.ts +0 -1
  210. package/commands/account/__tests__/auth.test.js +0 -206
  211. package/commands/account/__tests__/clean.test.d.ts +0 -1
  212. package/commands/account/__tests__/clean.test.js +0 -28
  213. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  214. package/commands/account/__tests__/createOverride.test.js +0 -32
  215. package/commands/account/__tests__/info.test.d.ts +0 -1
  216. package/commands/account/__tests__/info.test.js +0 -28
  217. package/commands/account/__tests__/list.test.d.ts +0 -1
  218. package/commands/account/__tests__/list.test.js +0 -153
  219. package/commands/account/__tests__/remove.test.d.ts +0 -1
  220. package/commands/account/__tests__/remove.test.js +0 -36
  221. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  222. package/commands/account/__tests__/removeOverride.js +0 -25
  223. package/commands/account/__tests__/rename.test.d.ts +0 -1
  224. package/commands/account/__tests__/rename.test.js +0 -82
  225. package/commands/account/__tests__/use.test.d.ts +0 -1
  226. package/commands/account/__tests__/use.test.js +0 -170
  227. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  228. package/commands/app/__tests__/migrate.test.js +0 -111
  229. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  230. package/commands/app/secret/__tests__/add.test.js +0 -140
  231. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  232. package/commands/app/secret/__tests__/delete.test.js +0 -28
  233. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  234. package/commands/app/secret/__tests__/list.test.js +0 -25
  235. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  236. package/commands/app/secret/__tests__/update.test.js +0 -28
  237. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  238. package/commands/cms/__tests__/delete.test.js +0 -39
  239. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  240. package/commands/cms/__tests__/fetch.test.js +0 -156
  241. package/commands/cms/__tests__/function.test.d.ts +0 -1
  242. package/commands/cms/__tests__/function.test.js +0 -50
  243. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  244. package/commands/cms/__tests__/lint.test.js +0 -33
  245. package/commands/cms/__tests__/list.test.d.ts +0 -1
  246. package/commands/cms/__tests__/list.test.js +0 -42
  247. package/commands/cms/__tests__/module.test.d.ts +0 -1
  248. package/commands/cms/__tests__/module.test.js +0 -45
  249. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  250. package/commands/cms/__tests__/mv.test.js +0 -46
  251. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  252. package/commands/cms/__tests__/theme.test.js +0 -54
  253. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  254. package/commands/cms/__tests__/upload.test.js +0 -312
  255. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  256. package/commands/cms/__tests__/watch.test.js +0 -204
  257. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  258. package/commands/cms/function/__tests__/logs.test.js +0 -70
  259. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  260. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  261. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  262. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  263. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  264. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  265. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  266. package/commands/customObject/__tests__/create.test.js +0 -40
  267. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  268. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  269. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  270. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  271. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  272. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  273. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  274. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  275. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  276. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  277. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  278. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  279. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  280. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  281. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  282. package/commands/filemanager/__tests__/upload.test.js +0 -191
  283. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  284. package/commands/hubdb/__tests__/clear.test.js +0 -28
  285. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  286. package/commands/hubdb/__tests__/create.test.js +0 -28
  287. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  288. package/commands/hubdb/__tests__/delete.test.js +0 -28
  289. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  290. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  291. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  292. package/commands/hubdb/__tests__/list.test.js +0 -88
  293. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  294. package/commands/mcp/__tests__/setup.test.js +0 -26
  295. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  296. package/commands/mcp/__tests__/start.test.js +0 -144
  297. package/commands/project/__tests__/add.test.d.ts +0 -1
  298. package/commands/project/__tests__/add.test.js +0 -107
  299. package/commands/project/__tests__/create.test.d.ts +0 -1
  300. package/commands/project/__tests__/create.test.js +0 -97
  301. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  302. package/commands/project/__tests__/deploy.test.js +0 -307
  303. package/commands/project/__tests__/dev.test.d.ts +0 -1
  304. package/commands/project/__tests__/dev.test.js +0 -273
  305. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  306. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  307. package/commands/project/__tests__/download.test.d.ts +0 -1
  308. package/commands/project/__tests__/download.test.js +0 -39
  309. package/commands/project/__tests__/info.test.d.ts +0 -1
  310. package/commands/project/__tests__/info.test.js +0 -145
  311. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  312. package/commands/project/__tests__/installDeps.test.js +0 -140
  313. package/commands/project/__tests__/lint.test.d.ts +0 -1
  314. package/commands/project/__tests__/lint.test.js +0 -704
  315. package/commands/project/__tests__/list.test.d.ts +0 -1
  316. package/commands/project/__tests__/list.test.js +0 -31
  317. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  318. package/commands/project/__tests__/listBuilds.test.js +0 -38
  319. package/commands/project/__tests__/logs.test.d.ts +0 -1
  320. package/commands/project/__tests__/logs.test.js +0 -202
  321. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  322. package/commands/project/__tests__/migrate.test.js +0 -106
  323. package/commands/project/__tests__/open.test.d.ts +0 -1
  324. package/commands/project/__tests__/open.test.js +0 -39
  325. package/commands/project/__tests__/profile.test.d.ts +0 -1
  326. package/commands/project/__tests__/profile.test.js +0 -42
  327. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  328. package/commands/project/__tests__/updateDeps.test.js +0 -140
  329. package/commands/project/__tests__/upload.test.d.ts +0 -1
  330. package/commands/project/__tests__/upload.test.js +0 -234
  331. package/commands/project/__tests__/validate.test.d.ts +0 -1
  332. package/commands/project/__tests__/validate.test.js +0 -381
  333. package/commands/project/__tests__/watch.test.d.ts +0 -1
  334. package/commands/project/__tests__/watch.test.js +0 -35
  335. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  336. package/commands/sandbox/__tests__/create.test.js +0 -198
  337. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  338. package/commands/sandbox/__tests__/delete.test.js +0 -31
  339. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  340. package/commands/secret/__tests__/addSecret.test.js +0 -162
  341. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  342. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  343. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  344. package/commands/secret/__tests__/listSecret.test.js +0 -29
  345. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  346. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  347. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  348. package/commands/testAccount/__tests__/create.test.js +0 -106
  349. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  350. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  351. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  352. package/commands/testAccount/__tests__/delete.test.js +0 -29
  353. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  354. package/commands/testAccount/__tests__/importData.test.js +0 -92
  355. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  356. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  357. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  358. package/lib/__tests__/accountAuth.test.js +0 -258
  359. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  360. package/lib/__tests__/accountTypes.test.js +0 -98
  361. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  362. package/lib/__tests__/buildAccount.test.js +0 -211
  363. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  364. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  365. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  366. package/lib/__tests__/commandSuggestion.test.js +0 -121
  367. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  368. package/lib/__tests__/commonOpts.test.js +0 -80
  369. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  370. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  371. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  372. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  373. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  374. package/lib/__tests__/hasFeature.test.js +0 -167
  375. package/lib/__tests__/http.test.d.ts +0 -1
  376. package/lib/__tests__/http.test.js +0 -40
  377. package/lib/__tests__/importData.test.d.ts +0 -1
  378. package/lib/__tests__/importData.test.js +0 -98
  379. package/lib/__tests__/npmCli.test.d.ts +0 -1
  380. package/lib/__tests__/npmCli.test.js +0 -84
  381. package/lib/__tests__/oauth.test.d.ts +0 -1
  382. package/lib/__tests__/oauth.test.js +0 -109
  383. package/lib/__tests__/parsing.test.d.ts +0 -1
  384. package/lib/__tests__/parsing.test.js +0 -34
  385. package/lib/__tests__/polling.test.d.ts +0 -1
  386. package/lib/__tests__/polling.test.js +0 -76
  387. package/lib/__tests__/process.test.d.ts +0 -1
  388. package/lib/__tests__/process.test.js +0 -89
  389. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  390. package/lib/__tests__/sandboxes.test.js +0 -128
  391. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  392. package/lib/__tests__/serverlessLogs.test.js +0 -163
  393. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  394. package/lib/__tests__/usageTracking.test.js +0 -197
  395. package/lib/__tests__/validation.test.d.ts +0 -1
  396. package/lib/__tests__/validation.test.js +0 -143
  397. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  398. package/lib/__tests__/yargsUtils.test.js +0 -124
  399. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  400. package/lib/app/__tests__/migrate.test.js +0 -638
  401. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  402. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  403. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  404. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  405. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  406. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  407. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  408. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  409. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  410. package/lib/mcp/__tests__/setup.test.js +0 -523
  411. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  412. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  413. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  414. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  415. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  416. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  417. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  418. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  419. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  420. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  421. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  422. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  423. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  424. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  425. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  426. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  427. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  428. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  429. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  430. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  431. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  432. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  433. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  434. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  435. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  436. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  437. package/lib/projects/__tests__/components.test.d.ts +0 -1
  438. package/lib/projects/__tests__/components.test.js +0 -440
  439. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  440. package/lib/projects/__tests__/deploy.test.js +0 -231
  441. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  442. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  443. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  444. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  445. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  446. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  447. package/lib/projects/__tests__/projectInfo.test.d.ts +0 -1
  448. package/lib/projects/__tests__/projectInfo.test.js +0 -114
  449. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  450. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  451. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  452. package/lib/projects/__tests__/projects.test.js +0 -58
  453. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  454. package/lib/projects/__tests__/structure.test.js +0 -210
  455. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  456. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  457. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  458. package/lib/projects/__tests__/upload.test.js +0 -183
  459. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  460. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  461. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  462. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  463. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  464. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  465. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  466. package/lib/projects/create/__tests__/v2.test.js +0 -257
  467. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  468. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  469. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  470. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  471. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  472. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  473. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  474. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  475. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  476. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  477. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  478. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  479. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  480. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  481. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  482. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  483. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  484. package/lib/theme/__tests__/migrate.test.js +0 -247
  485. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  486. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  487. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  488. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  489. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  490. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  491. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  492. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  493. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  494. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  495. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  496. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  497. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  498. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  499. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  500. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  501. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  502. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  503. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  504. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -131
  505. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  506. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  507. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  508. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  509. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  510. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  511. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  512. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  513. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  514. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  515. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  516. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  517. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  518. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  519. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  520. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  521. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  522. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  523. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  524. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  525. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  526. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  527. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  528. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  529. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  530. package/mcp-server/utils/__tests__/command.test.js +0 -275
  531. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  532. package/mcp-server/utils/__tests__/content.test.js +0 -164
  533. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  534. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -1,4 +1,4 @@
1
- type Meta = {
1
+ export type UsageTrackingMeta = {
2
2
  action?: string;
3
3
  os?: string;
4
4
  nodeVersion?: string;
@@ -24,9 +24,8 @@ export declare function getNodeVersionData(): {
24
24
  nodeMajorVersion: string;
25
25
  };
26
26
  export declare function getPlatform(): string;
27
- export declare function trackCommandUsage(command: string, meta?: Meta, accountId?: number): Promise<void>;
27
+ export declare function trackCommandUsage(command: string, meta?: UsageTrackingMeta, accountId?: number): Promise<void>;
28
28
  export declare function trackHelpUsage(command: string): Promise<void>;
29
29
  export declare function trackConvertFieldsUsage(command: string): Promise<void>;
30
30
  export declare function trackAuthAction(command: string, authType: string, step: string, accountId?: number): Promise<void>;
31
- export declare function trackCommandMetadataUsage(command: string, meta?: Meta, accountId?: number): Promise<void>;
32
- export {};
31
+ export declare function trackCommandMetadataUsage(command: string, meta?: UsageTrackingMeta, accountId?: number): Promise<void>;
@@ -0,0 +1,13 @@
1
+ import { Argv } from 'yargs';
2
+ export declare function makeYargsBuilder<T>(callback: (yargs: Argv) => Argv<T>, command: string | string[], describe?: string, options?: {
3
+ useGlobalOptions?: boolean;
4
+ useAccountOptions?: boolean;
5
+ useConfigOptions?: boolean;
6
+ useEnvironmentOptions?: boolean;
7
+ useTestingOptions?: boolean;
8
+ useCmsPublishModeOptions?: boolean | {
9
+ read?: boolean;
10
+ write?: boolean;
11
+ };
12
+ useJSONOutputOptions?: boolean;
13
+ }): (yargs: Argv) => Promise<Argv<T>>;
@@ -0,0 +1,33 @@
1
+ import { addCustomHelpOutput, addTestingOptions, addAccountOptions, addConfigOptions, addGlobalOptions, addUseEnvironmentOptions, addCmsPublishModeOptions, addJSONOutputOptions, } from '../commonOpts.js';
2
+ export function makeYargsBuilder(callback, command, describe, options = {}) {
3
+ return async function (yargs) {
4
+ if (options.useGlobalOptions) {
5
+ addGlobalOptions(yargs);
6
+ }
7
+ if (options.useAccountOptions) {
8
+ addAccountOptions(yargs);
9
+ }
10
+ if (options.useConfigOptions) {
11
+ addConfigOptions(yargs);
12
+ }
13
+ if (options.useEnvironmentOptions) {
14
+ addUseEnvironmentOptions(yargs);
15
+ }
16
+ if (options.useTestingOptions) {
17
+ addTestingOptions(yargs);
18
+ }
19
+ if (options.useJSONOutputOptions) {
20
+ addJSONOutputOptions(yargs);
21
+ }
22
+ if (options.useCmsPublishModeOptions) {
23
+ const opts = typeof options.useCmsPublishModeOptions === 'object'
24
+ ? options.useCmsPublishModeOptions
25
+ : { write: true };
26
+ addCmsPublishModeOptions(yargs, opts);
27
+ }
28
+ const result = callback(yargs);
29
+ // Must go last to pick up available options
30
+ await addCustomHelpOutput(result, command, describe);
31
+ return result;
32
+ };
33
+ }
@@ -0,0 +1,3 @@
1
+ import { ArgumentsCamelCase } from 'yargs';
2
+ import { CommonArgs } from '../../types/Yargs.js';
3
+ export declare function makeYargsHandlerWithUsageTracking<T extends CommonArgs>(trackingName: string, handler: (args: ArgumentsCamelCase<T>) => Promise<void>): (args: ArgumentsCamelCase<T>) => Promise<void>;
@@ -0,0 +1,95 @@
1
+ import { getConfig } from '@hubspot/local-dev-lib/config';
2
+ import { getStateValue, setStateValue, } from '@hubspot/local-dev-lib/config/state';
3
+ import { STATE_FLAGS } from '@hubspot/local-dev-lib/constants/config';
4
+ import { trackCommandUsage as _trackCommandUsage } from '../usageTracking.js';
5
+ import { pkg } from '../jsonLoader.js';
6
+ import { uiLogger } from '../ui/logger.js';
7
+ import { lib } from '../../lang/en.js';
8
+ import { EXIT_CODES } from '../enums/exitCodes.js';
9
+ import { isPromptExitError } from '../errors/PromptExitError.js';
10
+ import { debugError } from '../errorHandlers/index.js';
11
+ function logUsageTrackingMessage(isJsonOutput) {
12
+ if (isJsonOutput) {
13
+ return;
14
+ }
15
+ try {
16
+ const config = getConfig();
17
+ if (config?.allowUsageTracking !== true) {
18
+ return;
19
+ }
20
+ const lastShownVersion = getStateValue(STATE_FLAGS.USAGE_TRACKING_MESSAGE_LAST_SHOW_VERSION);
21
+ if (lastShownVersion === pkg.version) {
22
+ return;
23
+ }
24
+ setStateValue(STATE_FLAGS.USAGE_TRACKING_MESSAGE_LAST_SHOW_VERSION, pkg.version);
25
+ uiLogger.info(lib.usageTracking.transparencyMessage);
26
+ }
27
+ catch (_e) {
28
+ return;
29
+ }
30
+ }
31
+ export function makeYargsHandlerWithUsageTracking(trackingName, handler) {
32
+ return async (args) => {
33
+ const meta = {};
34
+ let trackingFired = false;
35
+ const trackingArgs = args;
36
+ const addUsageMetadata = (newMeta) => {
37
+ Object.assign(meta, newMeta);
38
+ };
39
+ trackingArgs.addUsageMetadata = addUsageMetadata;
40
+ const trackCommandUsage = async (successful) => {
41
+ if (trackingFired) {
42
+ return;
43
+ }
44
+ trackingFired = true;
45
+ try {
46
+ const { accountId: overrideAccountId, ...trackingMeta } = meta;
47
+ trackingMeta.successful = successful;
48
+ await _trackCommandUsage(trackingName, trackingMeta, overrideAccountId ?? args.derivedAccountId);
49
+ }
50
+ catch (_e) { }
51
+ };
52
+ const onForcedExit = () => {
53
+ process.exit(EXIT_CODES.SUCCESS);
54
+ };
55
+ const onSigint = async () => {
56
+ process.removeListener('SIGINT', onSigint);
57
+ process.on('SIGINT', onForcedExit);
58
+ try {
59
+ await trackCommandUsage(false);
60
+ }
61
+ catch (_e) { }
62
+ process.removeListener('SIGINT', onForcedExit);
63
+ process.exit(EXIT_CODES.SUCCESS);
64
+ };
65
+ process.on('SIGINT', onSigint);
66
+ const trackCommandUsageAndRemoveListeners = async (successful) => {
67
+ await trackCommandUsage(successful);
68
+ process.removeListener('SIGINT', onSigint);
69
+ process.removeListener('SIGINT', onForcedExit);
70
+ };
71
+ trackingArgs.exit = async (code) => {
72
+ await trackCommandUsageAndRemoveListeners(code !== EXIT_CODES.ERROR);
73
+ return process.exit(code);
74
+ };
75
+ const jsonArgs = args;
76
+ logUsageTrackingMessage(Boolean(jsonArgs.json || jsonArgs.formatOutputAsJson));
77
+ try {
78
+ await handler(trackingArgs);
79
+ }
80
+ catch (e) {
81
+ const isSuccessfulPromptExit = isPromptExitError(e)
82
+ ? e.exitCode !== EXIT_CODES.ERROR
83
+ : false;
84
+ await trackCommandUsageAndRemoveListeners(isSuccessfulPromptExit);
85
+ if (isPromptExitError(e)) {
86
+ return process.exit(e.exitCode);
87
+ }
88
+ else {
89
+ debugError(e);
90
+ return process.exit(EXIT_CODES.ERROR);
91
+ }
92
+ }
93
+ await trackCommandUsageAndRemoveListeners(true);
94
+ };
95
+ }
@@ -0,0 +1 @@
1
+ export declare function strictEnforceBoolean(rawArgs: string[], booleanOptions: string[]): boolean;
@@ -0,0 +1,13 @@
1
+ import { commands } from '../../lang/en.js';
2
+ export function strictEnforceBoolean(rawArgs, booleanOptions) {
3
+ for (const option of booleanOptions) {
4
+ const argIndex = rawArgs.findIndex(arg => arg.startsWith(`--${option}=`));
5
+ if (argIndex !== -1) {
6
+ const value = rawArgs[argIndex].split('=')[1];
7
+ if (value && !['true', 'false'].includes(value.toLowerCase())) {
8
+ throw new Error(commands.config.subcommands.set.errors.invalidBoolean(option, value));
9
+ }
10
+ }
11
+ }
12
+ return true;
13
+ }
@@ -1,16 +1,3 @@
1
- import { Argv } from 'yargs';
2
- import { hasFlag } from './utils/hasFlag.js';
3
- export { hasFlag };
4
- export declare function makeYargsBuilder<T>(callback: (yargs: Argv) => Argv<T>, command: string | string[], describe?: string, options?: {
5
- useGlobalOptions?: boolean;
6
- useAccountOptions?: boolean;
7
- useConfigOptions?: boolean;
8
- useEnvironmentOptions?: boolean;
9
- useTestingOptions?: boolean;
10
- useCmsPublishModeOptions?: boolean | {
11
- read?: boolean;
12
- write?: boolean;
13
- };
14
- useJSONOutputOptions?: boolean;
15
- }): (yargs: Argv) => Promise<Argv<T>>;
16
- export declare function strictEnforceBoolean(rawArgs: string[], booleanOptions: string[]): boolean;
1
+ export { hasFlag } from './utils/hasFlag.js';
2
+ export { makeYargsBuilder } from './yargs/makeYargsBuilder.js';
3
+ export { strictEnforceBoolean } from './yargs/strictEnforceBoolean.js';
package/lib/yargsUtils.js CHANGED
@@ -1,49 +1,4 @@
1
- import { addCustomHelpOutput, addTestingOptions, addAccountOptions, addConfigOptions, addGlobalOptions, addUseEnvironmentOptions, addCmsPublishModeOptions, addJSONOutputOptions, } from './commonOpts.js';
2
- import { hasFlag } from './utils/hasFlag.js';
3
- import { commands } from '../lang/en.js';
4
1
  // Re-export for backwards compatibility
5
- export { hasFlag };
6
- export function makeYargsBuilder(callback, command, describe, options = {}) {
7
- return async function (yargs) {
8
- if (options.useGlobalOptions) {
9
- addGlobalOptions(yargs);
10
- }
11
- if (options.useAccountOptions) {
12
- addAccountOptions(yargs);
13
- }
14
- if (options.useConfigOptions) {
15
- addConfigOptions(yargs);
16
- }
17
- if (options.useEnvironmentOptions) {
18
- addUseEnvironmentOptions(yargs);
19
- }
20
- if (options.useTestingOptions) {
21
- addTestingOptions(yargs);
22
- }
23
- if (options.useJSONOutputOptions) {
24
- addJSONOutputOptions(yargs);
25
- }
26
- if (options.useCmsPublishModeOptions) {
27
- const opts = typeof options.useCmsPublishModeOptions === 'object'
28
- ? options.useCmsPublishModeOptions
29
- : { write: true };
30
- addCmsPublishModeOptions(yargs, opts);
31
- }
32
- const result = callback(yargs);
33
- // Must go last to pick up available options
34
- await addCustomHelpOutput(result, command, describe);
35
- return result;
36
- };
37
- }
38
- export function strictEnforceBoolean(rawArgs, booleanOptions) {
39
- for (const option of booleanOptions) {
40
- const argIndex = rawArgs.findIndex(arg => arg.startsWith(`--${option}=`));
41
- if (argIndex !== -1) {
42
- const value = rawArgs[argIndex].split('=')[1];
43
- if (value && !['true', 'false'].includes(value.toLowerCase())) {
44
- throw new Error(commands.config.subcommands.set.errors.invalidBoolean(option, value));
45
- }
46
- }
47
- }
48
- return true;
49
- }
2
+ export { hasFlag } from './utils/hasFlag.js';
3
+ export { makeYargsBuilder } from './yargs/makeYargsBuilder.js';
4
+ export { strictEnforceBoolean } from './yargs/strictEnforceBoolean.js';
@@ -6,7 +6,6 @@ declare const inputSchemaZodObject: z.ZodObject<{
6
6
  userSuppliedName: z.ZodOptional<z.ZodString>;
7
7
  dest: z.ZodOptional<z.ZodString>;
8
8
  templateType: z.ZodOptional<z.ZodEnum<{
9
- section: "section";
10
9
  "page-template": "page-template";
11
10
  "email-template": "email-template";
12
11
  partial: "partial";
@@ -14,6 +13,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
14
13
  "blog-listing-template": "blog-listing-template";
15
14
  "blog-post-template": "blog-post-template";
16
15
  "search-template": "search-template";
16
+ section: "section";
17
17
  }>>;
18
18
  }, z.core.$strip>;
19
19
  export type HsCreateTemplateInputSchema = z.infer<typeof inputSchemaZodObject>;
package/package.json CHANGED
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "name": "@hubspot/cli",
3
- "version": "8.0.11-experimental.0",
3
+ "version": "8.0.11-experimental.1",
4
4
  "description": "The official CLI for developing on HubSpot",
5
5
  "license": "Apache-2.0",
6
6
  "repository": "https://github.com/HubSpot/hubspot-cli",
7
7
  "type": "module",
8
+ "files": [
9
+ "**/*",
10
+ "!**/__tests__/**"
11
+ ],
8
12
  "dependencies": {
9
- "@hubspot/local-dev-lib": "5.2.0",
10
- "@hubspot/project-parsing-lib": "0.12.1",
13
+ "@hubspot/local-dev-lib": "5.3.3",
14
+ "@hubspot/project-parsing-lib": "0.14.1-beta.0",
11
15
  "@hubspot/serverless-dev-runtime": "7.0.7",
12
- "@hubspot/ui-extensions-dev-server": "2.0.0",
16
+ "@hubspot/ui-extensions-dev-server": "2.0.4",
13
17
  "@inquirer/prompts": "7.1.0",
14
18
  "@modelcontextprotocol/sdk": "1.25.0",
15
19
  "archiver": "7.0.1",
@@ -55,7 +59,7 @@
55
59
  "@typescript-eslint/eslint-plugin": "^8.30.1",
56
60
  "@typescript-eslint/parser": "^8.11.0",
57
61
  "@vitest/coverage-v8": "^2.1.9",
58
- "axios": "^1.12.2",
62
+ "axios": "1.14.0",
59
63
  "eslint": "^8.56.0",
60
64
  "eslint-plugin-import": "^2.31.0",
61
65
  "husky": "^4.3.8",
@@ -76,6 +80,7 @@
76
80
  "debug-mcp": "yarn build && npx @modelcontextprotocol/inspector node dist/mcp-server/server.js",
77
81
  "hs": "yarn build && node ./dist/bin/hs",
78
82
  "hs-debug": "yarn build && NODE_DEBUG=http* node --inspect-brk ./dist/bin/hs",
83
+ "hs-proxy": "yarn build && HTTPS_PROXY=http://localhost:8181 NODE_TLS_REJECT_UNAUTHORIZED=0 node ./dist/bin/hs",
79
84
  "lint": "echo 'Linting is disabled for Blazar'",
80
85
  "lint:local": "eslint . && prettier --list-different './**/*.{ts,tsx,js,json}'",
81
86
  "list-all-commands": "yarn tsx ./scripts/get-all-commands.ts",
@@ -6,6 +6,10 @@ import { Project } from '@hubspot/local-dev-lib/types/Project';
6
6
  import { ProjectConfig } from './Projects.js';
7
7
  import LocalDevState from '../lib/projects/localDev/LocalDevState.js';
8
8
  import { APP_INSTALLATION_STATES, LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES, LOCAL_DEV_SERVER_MESSAGE_TYPES } from '../lib/constants.js';
9
+ import { ExitFunction } from './Yargs.js';
10
+ export type LocalDevActions = {
11
+ exit: ExitFunction;
12
+ };
9
13
  export type LocalDevStateConstructorOptions = {
10
14
  targetProjectAccountId: number;
11
15
  targetTestingAccountId: number;
@@ -19,6 +23,7 @@ export type LocalDevStateConstructorOptions = {
19
23
  };
20
24
  initialProjectProfileData: HSProfileVariables;
21
25
  env: Environment;
26
+ actions: LocalDevActions;
22
27
  };
23
28
  export type LocalDevDeployWebsocketMessage = {
24
29
  type: typeof LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES.DEPLOY;
@@ -117,6 +117,25 @@ export type AppCardComponentConfig = {
117
117
  };
118
118
  };
119
119
  export type GenericComponentConfig = PublicAppComponentConfig | PrivateAppComponentConfig | AppCardComponentConfig;
120
+ export type ProjectInfo = {
121
+ projectName: string;
122
+ platformVersion: string;
123
+ projectId: number;
124
+ deployedBuildId: number;
125
+ autoDeployEnabled: boolean;
126
+ projectUrl?: string;
127
+ app?: {
128
+ name: string;
129
+ id: number;
130
+ uid: string;
131
+ authType?: string;
132
+ distributionType?: string;
133
+ };
134
+ components: {
135
+ uid: string;
136
+ type: string;
137
+ }[];
138
+ };
120
139
  export declare enum ComponentTypes {
121
140
  PrivateApp = "private-app",
122
141
  PublicApp = "public-app",
package/types/Yargs.d.ts CHANGED
@@ -1,11 +1,25 @@
1
1
  import { Options, CommandModule, Argv } from 'yargs';
2
2
  import { CmsPublishMode } from '@hubspot/local-dev-lib/types/Files';
3
- export type CommonArgs = {
3
+ import { EXIT_CODES } from '../lib/enums/exitCodes.js';
4
+ import { ValueOf } from '@hubspot/local-dev-lib/types/Utils';
5
+ import { UsageTrackingMeta } from '../lib/usageTracking.js';
6
+ export type UsageTrackingMetaWithAccountId = UsageTrackingMeta & {
7
+ accountId?: number;
8
+ };
9
+ export type AddUsageMetadata = (meta: Omit<UsageTrackingMetaWithAccountId, 'successful'>) => void;
10
+ export type UsageTrackingArgs = {
11
+ addUsageMetadata: AddUsageMetadata;
12
+ exit: ExitFunction;
13
+ };
14
+ type AccountMiddlewareArgs = {
4
15
  derivedAccountId: number;
5
16
  userProvidedAccount?: string;
17
+ };
18
+ type DebugArgs = {
6
19
  d: boolean;
7
20
  debug: boolean;
8
21
  };
22
+ export type CommonArgs = AccountMiddlewareArgs & DebugArgs & UsageTrackingArgs;
9
23
  export type ConfigArgs = {
10
24
  c?: string;
11
25
  config?: string;
@@ -44,3 +58,6 @@ export interface YargsCommandModule<T, U> extends CommandModule<T, U> {
44
58
  builder: (yargs: Argv) => Promise<Argv<U>>;
45
59
  }
46
60
  export type YargsCommandModuleBucket = YargsCommandModule<unknown, object>;
61
+ export type ExitCode = ValueOf<typeof EXIT_CODES>;
62
+ export type ExitFunction = (code: ExitCode) => Promise<never>;
63
+ export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,199 +0,0 @@
1
- import { http } from '@hubspot/local-dev-lib/http';
2
- import { MIGRATION_STATUS } from '@hubspot/local-dev-lib/types/Migration';
3
- import { listAppsForMigration, initializeAppMigration, continueAppMigration, checkMigrationStatusV2, isMigrationStatus, } from '../migrate.js';
4
- vi.mock('@hubspot/local-dev-lib/http');
5
- const httpMock = http;
6
- describe('api/migrate', () => {
7
- const mockAccountId = 12345;
8
- const mockPortalId = 12345;
9
- const mockAppId = 67890;
10
- const mockMigrationId = 54321;
11
- const mockPlatformVersion = '2025.2';
12
- const convertedPlatformVersion = 'V2025_2';
13
- const mockProjectName = 'Test Project';
14
- const mockComponentUids = { 'component-1': 'uid-1', 'component-2': 'uid-2' };
15
- describe('listAppsForMigration', () => {
16
- it('should call http.get with correct parameters', async () => {
17
- const mockResponse = {
18
- migratableApps: [
19
- {
20
- appId: 1,
21
- appName: 'App 1',
22
- isMigratable: true,
23
- migrationComponents: [
24
- { id: 'comp1', componentType: 'type1', isSupported: true },
25
- ],
26
- },
27
- ],
28
- unmigratableApps: [
29
- {
30
- appId: 2,
31
- appName: 'App 2',
32
- isMigratable: false,
33
- unmigratableReason: 'UP_TO_DATE',
34
- migrationComponents: [
35
- { id: 'comp2', componentType: 'type2', isSupported: false },
36
- ],
37
- },
38
- ],
39
- };
40
- // @ts-expect-error Mock
41
- httpMock.get.mockResolvedValue(mockResponse);
42
- const result = await listAppsForMigration(mockAccountId, mockPlatformVersion, mockAppId);
43
- expect(http.get).toHaveBeenCalledWith(mockAccountId, {
44
- url: 'dfs/migrations/v2/list-apps',
45
- params: {
46
- platformVersion: convertedPlatformVersion,
47
- appId: 67890,
48
- },
49
- });
50
- expect(result).toEqual(mockResponse);
51
- });
52
- it('should call http.get with undefined appId when not provided', async () => {
53
- const mockResponse = {
54
- migratableApps: [],
55
- unmigratableApps: [],
56
- };
57
- // @ts-expect-error Mock
58
- httpMock.get.mockResolvedValue(mockResponse);
59
- const result = await listAppsForMigration(mockAccountId, mockPlatformVersion, undefined);
60
- expect(http.get).toHaveBeenCalledWith(mockAccountId, {
61
- url: 'dfs/migrations/v2/list-apps',
62
- params: {
63
- platformVersion: convertedPlatformVersion,
64
- appId: undefined,
65
- },
66
- });
67
- expect(result).toEqual(mockResponse);
68
- });
69
- });
70
- describe('initializeAppMigration', () => {
71
- it('should call http.post with correct parameters', async () => {
72
- const mockResponse = { migrationId: mockMigrationId };
73
- // @ts-expect-error Mock
74
- httpMock.post.mockResolvedValue(mockResponse);
75
- const result = await initializeAppMigration(mockAccountId, mockAppId, mockPlatformVersion);
76
- expect(http.post).toHaveBeenCalledWith(mockAccountId, {
77
- url: 'dfs/migrations/v2/migrations',
78
- data: {
79
- applicationId: mockAppId,
80
- platformVersion: convertedPlatformVersion,
81
- },
82
- });
83
- expect(result).toEqual(mockResponse);
84
- });
85
- });
86
- describe('continueAppMigration', () => {
87
- it('should call http.post with correct parameters', async () => {
88
- const mockResponse = { migrationId: mockMigrationId };
89
- // @ts-expect-error Mock
90
- httpMock.post.mockResolvedValue(mockResponse);
91
- const result = await continueAppMigration(mockPortalId, mockMigrationId, mockComponentUids, mockProjectName);
92
- expect(http.post).toHaveBeenCalledWith(mockPortalId, {
93
- url: 'dfs/migrations/v2/migrations/continue',
94
- data: {
95
- migrationId: mockMigrationId,
96
- projectName: mockProjectName,
97
- componentUids: mockComponentUids,
98
- },
99
- });
100
- expect(result).toEqual(mockResponse);
101
- });
102
- });
103
- describe('checkMigrationStatusV2', () => {
104
- it('should call http.get with correct parameters for in-progress status', async () => {
105
- const mockResponse = {
106
- id: mockMigrationId,
107
- status: MIGRATION_STATUS.IN_PROGRESS,
108
- };
109
- // @ts-expect-error Mock
110
- httpMock.get.mockResolvedValue(mockResponse);
111
- const result = await checkMigrationStatusV2(mockAccountId, mockMigrationId);
112
- expect(http.get).toHaveBeenCalledWith(mockAccountId, {
113
- url: `dfs/migrations/v2/migrations/${mockMigrationId}/status`,
114
- });
115
- expect(result).toEqual(mockResponse);
116
- });
117
- it('should handle input required status', async () => {
118
- const mockResponse = {
119
- id: mockMigrationId,
120
- status: MIGRATION_STATUS.INPUT_REQUIRED,
121
- componentsRequiringUids: {
122
- 'component-1': {
123
- componentType: 'type1',
124
- componentHint: 'hint1',
125
- },
126
- },
127
- };
128
- // @ts-expect-error Mock
129
- httpMock.get.mockResolvedValue(mockResponse);
130
- const result = await checkMigrationStatusV2(mockAccountId, mockMigrationId);
131
- expect(result).toEqual(mockResponse);
132
- });
133
- it('should handle success status', async () => {
134
- const mockResponse = {
135
- id: mockMigrationId,
136
- status: MIGRATION_STATUS.SUCCESS,
137
- buildId: 98765,
138
- };
139
- // @ts-expect-error Mock
140
- httpMock.get.mockResolvedValue(mockResponse);
141
- const result = await checkMigrationStatusV2(mockAccountId, mockMigrationId);
142
- expect(result).toEqual(mockResponse);
143
- });
144
- it('should handle failure status', async () => {
145
- const mockResponse = {
146
- id: mockMigrationId,
147
- status: MIGRATION_STATUS.FAILURE,
148
- projectErrorDetail: 'Error details',
149
- componentErrors: [],
150
- };
151
- // @ts-expect-error Mock
152
- httpMock.get.mockResolvedValue(mockResponse);
153
- const result = await checkMigrationStatusV2(mockAccountId, mockMigrationId);
154
- expect(result).toEqual(mockResponse);
155
- });
156
- });
157
- });
158
- describe('isMigrationStatus', () => {
159
- it.each([
160
- {
161
- id: 123,
162
- status: MIGRATION_STATUS.IN_PROGRESS,
163
- },
164
- {
165
- id: 456,
166
- status: MIGRATION_STATUS.INPUT_REQUIRED,
167
- componentsRequiringUids: {
168
- 'component-1': {
169
- componentType: 'type1',
170
- componentHint: 'hint1',
171
- },
172
- },
173
- },
174
- {
175
- id: 789,
176
- status: MIGRATION_STATUS.SUCCESS,
177
- buildId: 98765,
178
- },
179
- {
180
- id: 101,
181
- status: MIGRATION_STATUS.FAILURE,
182
- projectErrorDetail: 'Error details',
183
- componentErrors: [],
184
- },
185
- ])('should return true for valid MigrationStatus object %j', status => {
186
- expect(isMigrationStatus(status)).toBe(true);
187
- });
188
- it.each([null, undefined, 123, 'string', true, false, []])('should return false for non-object value %j', value => {
189
- expect(isMigrationStatus(value)).toBe(false);
190
- });
191
- it.each([
192
- {},
193
- { id: 123 },
194
- { status: MIGRATION_STATUS.IN_PROGRESS },
195
- { foo: 'bar' },
196
- ])('should return false for invalid object %j', obj => {
197
- expect(isMigrationStatus(obj)).toBe(false);
198
- });
199
- });
@@ -1 +0,0 @@
1
- export {};