@hubspot/cli 8.0.10-experimental.7 → 8.0.11-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 (373) hide show
  1. package/api/__tests__/migrate.test.d.ts +1 -0
  2. package/api/__tests__/migrate.test.js +199 -0
  3. package/commands/__tests__/account.test.d.ts +1 -0
  4. package/commands/__tests__/account.test.js +69 -0
  5. package/commands/__tests__/auth.test.d.ts +1 -0
  6. package/commands/__tests__/auth.test.js +43 -0
  7. package/commands/__tests__/cms.test.d.ts +1 -0
  8. package/commands/__tests__/cms.test.js +87 -0
  9. package/commands/__tests__/config.test.d.ts +1 -0
  10. package/commands/__tests__/config.test.js +44 -0
  11. package/commands/__tests__/customObject.test.d.ts +1 -0
  12. package/commands/__tests__/customObject.test.js +68 -0
  13. package/commands/__tests__/doctor.test.d.ts +1 -0
  14. package/commands/__tests__/doctor.test.js +132 -0
  15. package/commands/__tests__/feedback.test.d.ts +1 -0
  16. package/commands/__tests__/feedback.test.js +24 -0
  17. package/commands/__tests__/filemanager.test.d.ts +1 -0
  18. package/commands/__tests__/filemanager.test.js +45 -0
  19. package/commands/__tests__/getStarted.test.d.ts +1 -0
  20. package/commands/__tests__/getStarted.test.js +173 -0
  21. package/commands/__tests__/hubdb.test.d.ts +1 -0
  22. package/commands/__tests__/hubdb.test.js +50 -0
  23. package/commands/__tests__/init.test.d.ts +1 -0
  24. package/commands/__tests__/init.test.js +42 -0
  25. package/commands/__tests__/mcp.test.d.ts +1 -0
  26. package/commands/__tests__/mcp.test.js +46 -0
  27. package/commands/__tests__/open.test.d.ts +1 -0
  28. package/commands/__tests__/open.test.js +58 -0
  29. package/commands/__tests__/project.test.d.ts +1 -0
  30. package/commands/__tests__/project.test.js +125 -0
  31. package/commands/__tests__/sandbox.test.d.ts +1 -0
  32. package/commands/__tests__/sandbox.test.js +44 -0
  33. package/commands/__tests__/secret.test.d.ts +1 -0
  34. package/commands/__tests__/secret.test.js +49 -0
  35. package/commands/__tests__/testAccount.test.d.ts +1 -0
  36. package/commands/__tests__/testAccount.test.js +57 -0
  37. package/commands/__tests__/upgrade.test.d.ts +1 -0
  38. package/commands/__tests__/upgrade.test.js +309 -0
  39. package/commands/account/__tests__/auth.test.d.ts +1 -0
  40. package/commands/account/__tests__/auth.test.js +206 -0
  41. package/commands/account/__tests__/clean.test.d.ts +1 -0
  42. package/commands/account/__tests__/clean.test.js +28 -0
  43. package/commands/account/__tests__/createOverride.test.d.ts +1 -0
  44. package/commands/account/__tests__/createOverride.test.js +32 -0
  45. package/commands/account/__tests__/info.test.d.ts +1 -0
  46. package/commands/account/__tests__/info.test.js +28 -0
  47. package/commands/account/__tests__/list.test.d.ts +1 -0
  48. package/commands/account/__tests__/list.test.js +153 -0
  49. package/commands/account/__tests__/remove.test.d.ts +1 -0
  50. package/commands/account/__tests__/remove.test.js +36 -0
  51. package/commands/account/__tests__/removeOverride.d.ts +1 -0
  52. package/commands/account/__tests__/removeOverride.js +25 -0
  53. package/commands/account/__tests__/rename.test.d.ts +1 -0
  54. package/commands/account/__tests__/rename.test.js +82 -0
  55. package/commands/account/__tests__/use.test.d.ts +1 -0
  56. package/commands/account/__tests__/use.test.js +170 -0
  57. package/commands/app/__tests__/migrate.test.d.ts +1 -0
  58. package/commands/app/__tests__/migrate.test.js +111 -0
  59. package/commands/app/secret/__tests__/add.test.d.ts +1 -0
  60. package/commands/app/secret/__tests__/add.test.js +140 -0
  61. package/commands/app/secret/__tests__/delete.test.d.ts +1 -0
  62. package/commands/app/secret/__tests__/delete.test.js +28 -0
  63. package/commands/app/secret/__tests__/list.test.d.ts +1 -0
  64. package/commands/app/secret/__tests__/list.test.js +25 -0
  65. package/commands/app/secret/__tests__/update.test.d.ts +1 -0
  66. package/commands/app/secret/__tests__/update.test.js +28 -0
  67. package/commands/cms/__tests__/delete.test.d.ts +1 -0
  68. package/commands/cms/__tests__/delete.test.js +39 -0
  69. package/commands/cms/__tests__/fetch.test.d.ts +1 -0
  70. package/commands/cms/__tests__/fetch.test.js +156 -0
  71. package/commands/cms/__tests__/function.test.d.ts +1 -0
  72. package/commands/cms/__tests__/function.test.js +50 -0
  73. package/commands/cms/__tests__/lint.test.d.ts +1 -0
  74. package/commands/cms/__tests__/lint.test.js +33 -0
  75. package/commands/cms/__tests__/list.test.d.ts +1 -0
  76. package/commands/cms/__tests__/list.test.js +42 -0
  77. package/commands/cms/__tests__/module.test.d.ts +1 -0
  78. package/commands/cms/__tests__/module.test.js +45 -0
  79. package/commands/cms/__tests__/mv.test.d.ts +1 -0
  80. package/commands/cms/__tests__/mv.test.js +46 -0
  81. package/commands/cms/__tests__/theme.test.d.ts +1 -0
  82. package/commands/cms/__tests__/theme.test.js +54 -0
  83. package/commands/cms/__tests__/upload.test.d.ts +1 -0
  84. package/commands/cms/__tests__/upload.test.js +312 -0
  85. package/commands/cms/__tests__/watch.test.d.ts +1 -0
  86. package/commands/cms/__tests__/watch.test.js +204 -0
  87. package/commands/cms/function/__tests__/logs.test.d.ts +1 -0
  88. package/commands/cms/function/__tests__/logs.test.js +70 -0
  89. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +1 -0
  90. package/commands/cms/theme/__tests__/generate-selectors.test.js +28 -0
  91. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +1 -0
  92. package/commands/cms/theme/__tests__/marketplace-validate.test.js +36 -0
  93. package/commands/cms/theme/__tests__/preview.test.d.ts +1 -0
  94. package/commands/cms/theme/__tests__/preview.test.js +54 -0
  95. package/commands/customObject/__tests__/create.test.d.ts +1 -0
  96. package/commands/customObject/__tests__/create.test.js +40 -0
  97. package/commands/customObject/__tests__/createSchema.test.d.ts +1 -0
  98. package/commands/customObject/__tests__/createSchema.test.js +28 -0
  99. package/commands/customObject/__tests__/deleteSchema.test.d.ts +1 -0
  100. package/commands/customObject/__tests__/deleteSchema.test.js +42 -0
  101. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +1 -0
  102. package/commands/customObject/__tests__/fetch-all-schemas.test.js +41 -0
  103. package/commands/customObject/__tests__/fetchSchema.test.d.ts +1 -0
  104. package/commands/customObject/__tests__/fetchSchema.test.js +45 -0
  105. package/commands/customObject/__tests__/listSchemas.test.d.ts +1 -0
  106. package/commands/customObject/__tests__/listSchemas.test.js +29 -0
  107. package/commands/customObject/__tests__/updateSchema.test.d.ts +1 -0
  108. package/commands/customObject/__tests__/updateSchema.test.js +40 -0
  109. package/commands/filemanager/__tests__/fetch.test.d.ts +1 -0
  110. package/commands/filemanager/__tests__/fetch.test.js +32 -0
  111. package/commands/filemanager/__tests__/upload.test.d.ts +1 -0
  112. package/commands/filemanager/__tests__/upload.test.js +191 -0
  113. package/commands/hubdb/__tests__/clear.test.d.ts +1 -0
  114. package/commands/hubdb/__tests__/clear.test.js +28 -0
  115. package/commands/hubdb/__tests__/create.test.d.ts +1 -0
  116. package/commands/hubdb/__tests__/create.test.js +28 -0
  117. package/commands/hubdb/__tests__/delete.test.d.ts +1 -0
  118. package/commands/hubdb/__tests__/delete.test.js +28 -0
  119. package/commands/hubdb/__tests__/fetch.test.d.ts +1 -0
  120. package/commands/hubdb/__tests__/fetch.test.js +28 -0
  121. package/commands/hubdb/__tests__/list.test.d.ts +1 -0
  122. package/commands/hubdb/__tests__/list.test.js +88 -0
  123. package/commands/mcp/__tests__/setup.test.d.ts +1 -0
  124. package/commands/mcp/__tests__/setup.test.js +26 -0
  125. package/commands/mcp/__tests__/start.test.d.ts +1 -0
  126. package/commands/mcp/__tests__/start.test.js +144 -0
  127. package/commands/project/__tests__/add.test.d.ts +1 -0
  128. package/commands/project/__tests__/add.test.js +107 -0
  129. package/commands/project/__tests__/create.test.d.ts +1 -0
  130. package/commands/project/__tests__/create.test.js +97 -0
  131. package/commands/project/__tests__/deploy.test.d.ts +1 -0
  132. package/commands/project/__tests__/deploy.test.js +307 -0
  133. package/commands/project/__tests__/dev.test.d.ts +1 -0
  134. package/commands/project/__tests__/dev.test.js +273 -0
  135. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +1 -0
  136. package/commands/project/__tests__/devUnifiedFlow.test.js +434 -0
  137. package/commands/project/__tests__/download.test.d.ts +1 -0
  138. package/commands/project/__tests__/download.test.js +39 -0
  139. package/commands/project/__tests__/info.test.d.ts +1 -0
  140. package/commands/project/__tests__/info.test.js +145 -0
  141. package/commands/project/__tests__/installDeps.test.d.ts +1 -0
  142. package/commands/project/__tests__/installDeps.test.js +140 -0
  143. package/commands/project/__tests__/lint.test.d.ts +1 -0
  144. package/commands/project/__tests__/lint.test.js +704 -0
  145. package/commands/project/__tests__/list.test.d.ts +1 -0
  146. package/commands/project/__tests__/list.test.js +31 -0
  147. package/commands/project/__tests__/listBuilds.test.d.ts +1 -0
  148. package/commands/project/__tests__/listBuilds.test.js +38 -0
  149. package/commands/project/__tests__/logs.test.d.ts +1 -0
  150. package/commands/project/__tests__/logs.test.js +202 -0
  151. package/commands/project/__tests__/migrate.test.d.ts +1 -0
  152. package/commands/project/__tests__/migrate.test.js +106 -0
  153. package/commands/project/__tests__/open.test.d.ts +1 -0
  154. package/commands/project/__tests__/open.test.js +39 -0
  155. package/commands/project/__tests__/profile.test.d.ts +1 -0
  156. package/commands/project/__tests__/profile.test.js +42 -0
  157. package/commands/project/__tests__/updateDeps.test.d.ts +1 -0
  158. package/commands/project/__tests__/updateDeps.test.js +140 -0
  159. package/commands/project/__tests__/upload.test.d.ts +1 -0
  160. package/commands/project/__tests__/upload.test.js +234 -0
  161. package/commands/project/__tests__/validate.test.d.ts +1 -0
  162. package/commands/project/__tests__/validate.test.js +381 -0
  163. package/commands/project/__tests__/watch.test.d.ts +1 -0
  164. package/commands/project/__tests__/watch.test.js +35 -0
  165. package/commands/project/info.d.ts +4 -0
  166. package/commands/project/info.js +67 -0
  167. package/commands/project.js +2 -0
  168. package/commands/sandbox/__tests__/create.test.d.ts +1 -0
  169. package/commands/sandbox/__tests__/create.test.js +198 -0
  170. package/commands/sandbox/__tests__/delete.test.d.ts +1 -0
  171. package/commands/sandbox/__tests__/delete.test.js +31 -0
  172. package/commands/secret/__tests__/addSecret.test.d.ts +1 -0
  173. package/commands/secret/__tests__/addSecret.test.js +162 -0
  174. package/commands/secret/__tests__/deleteSecret.test.d.ts +1 -0
  175. package/commands/secret/__tests__/deleteSecret.test.js +41 -0
  176. package/commands/secret/__tests__/listSecret.test.d.ts +1 -0
  177. package/commands/secret/__tests__/listSecret.test.js +29 -0
  178. package/commands/secret/__tests__/updateSecret.test.d.ts +1 -0
  179. package/commands/secret/__tests__/updateSecret.test.js +29 -0
  180. package/commands/testAccount/__tests__/create.test.d.ts +1 -0
  181. package/commands/testAccount/__tests__/create.test.js +106 -0
  182. package/commands/testAccount/__tests__/createConfig.test.d.ts +1 -0
  183. package/commands/testAccount/__tests__/createConfig.test.js +32 -0
  184. package/commands/testAccount/__tests__/delete.test.d.ts +1 -0
  185. package/commands/testAccount/__tests__/delete.test.js +29 -0
  186. package/commands/testAccount/__tests__/importData.test.d.ts +1 -0
  187. package/commands/testAccount/__tests__/importData.test.js +92 -0
  188. package/lang/en.d.ts +31 -0
  189. package/lang/en.js +31 -0
  190. package/lib/__tests__/CLIWebSocketServer.test.d.ts +1 -0
  191. package/lib/__tests__/CLIWebSocketServer.test.js +252 -0
  192. package/lib/__tests__/accountAuth.test.d.ts +1 -0
  193. package/lib/__tests__/accountAuth.test.js +258 -0
  194. package/lib/__tests__/accountTypes.test.d.ts +1 -0
  195. package/lib/__tests__/accountTypes.test.js +98 -0
  196. package/lib/__tests__/buildAccount.test.d.ts +1 -0
  197. package/lib/__tests__/buildAccount.test.js +211 -0
  198. package/lib/__tests__/cliUpgradeUtils.test.d.ts +1 -0
  199. package/lib/__tests__/cliUpgradeUtils.test.js +131 -0
  200. package/lib/__tests__/commandSuggestion.test.d.ts +1 -0
  201. package/lib/__tests__/commandSuggestion.test.js +121 -0
  202. package/lib/__tests__/commonOpts.test.d.ts +1 -0
  203. package/lib/__tests__/commonOpts.test.js +80 -0
  204. package/lib/__tests__/dependencyManagement.test.d.ts +1 -0
  205. package/lib/__tests__/dependencyManagement.test.js +1067 -0
  206. package/lib/__tests__/developerTestAccounts.test.d.ts +1 -0
  207. package/lib/__tests__/developerTestAccounts.test.js +156 -0
  208. package/lib/__tests__/hasFeature.test.d.ts +1 -0
  209. package/lib/__tests__/hasFeature.test.js +167 -0
  210. package/lib/__tests__/http.test.d.ts +1 -0
  211. package/lib/__tests__/http.test.js +40 -0
  212. package/lib/__tests__/importData.test.d.ts +1 -0
  213. package/lib/__tests__/importData.test.js +98 -0
  214. package/lib/__tests__/npmCli.test.d.ts +1 -0
  215. package/lib/__tests__/npmCli.test.js +84 -0
  216. package/lib/__tests__/oauth.test.d.ts +1 -0
  217. package/lib/__tests__/oauth.test.js +109 -0
  218. package/lib/__tests__/parsing.test.d.ts +1 -0
  219. package/lib/__tests__/parsing.test.js +34 -0
  220. package/lib/__tests__/polling.test.d.ts +1 -0
  221. package/lib/__tests__/polling.test.js +76 -0
  222. package/lib/__tests__/process.test.d.ts +1 -0
  223. package/lib/__tests__/process.test.js +89 -0
  224. package/lib/__tests__/sandboxes.test.d.ts +1 -0
  225. package/lib/__tests__/sandboxes.test.js +128 -0
  226. package/lib/__tests__/serverlessLogs.test.d.ts +1 -0
  227. package/lib/__tests__/serverlessLogs.test.js +163 -0
  228. package/lib/__tests__/usageTracking.test.d.ts +1 -0
  229. package/lib/__tests__/usageTracking.test.js +197 -0
  230. package/lib/__tests__/validation.test.d.ts +1 -0
  231. package/lib/__tests__/validation.test.js +143 -0
  232. package/lib/__tests__/yargsUtils.test.d.ts +1 -0
  233. package/lib/__tests__/yargsUtils.test.js +124 -0
  234. package/lib/app/__tests__/migrate.test.d.ts +1 -0
  235. package/lib/app/__tests__/migrate.test.js +638 -0
  236. package/lib/doctor/__tests__/Diagnosis.test.d.ts +1 -0
  237. package/lib/doctor/__tests__/Diagnosis.test.js +84 -0
  238. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +1 -0
  239. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +177 -0
  240. package/lib/doctor/__tests__/Doctor.test.d.ts +1 -0
  241. package/lib/doctor/__tests__/Doctor.test.js +560 -0
  242. package/lib/errorHandlers/__tests__/index.test.d.ts +1 -0
  243. package/lib/errorHandlers/__tests__/index.test.js +278 -0
  244. package/lib/mcp/__tests__/setup.test.d.ts +1 -0
  245. package/lib/mcp/__tests__/setup.test.js +523 -0
  246. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +1 -0
  247. package/lib/middleware/__tests__/commandTargetingUtils.test.js +99 -0
  248. package/lib/middleware/__tests__/configMiddleware.test.d.ts +1 -0
  249. package/lib/middleware/__tests__/configMiddleware.test.js +118 -0
  250. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +1 -0
  251. package/lib/middleware/__tests__/gitMiddleware.test.js +43 -0
  252. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +1 -0
  253. package/lib/middleware/__tests__/requestMiddleware.test.js +15 -0
  254. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +1 -0
  255. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +44 -0
  256. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +1 -0
  257. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +39 -0
  258. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +1 -0
  259. package/lib/projects/__tests__/AppDevModeInterface.test.js +541 -0
  260. package/lib/projects/__tests__/DevServerManager.test.d.ts +1 -0
  261. package/lib/projects/__tests__/DevServerManager.test.js +185 -0
  262. package/lib/projects/__tests__/DevSessionManager.test.d.ts +1 -0
  263. package/lib/projects/__tests__/DevSessionManager.test.js +250 -0
  264. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +1 -0
  265. package/lib/projects/__tests__/LocalDevProcess.test.js +481 -0
  266. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +1 -0
  267. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +231 -0
  268. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +1 -0
  269. package/lib/projects/__tests__/ProjectLogsManager.test.js +302 -0
  270. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +1 -0
  271. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +160 -0
  272. package/lib/projects/__tests__/components.test.d.ts +1 -0
  273. package/lib/projects/__tests__/components.test.js +440 -0
  274. package/lib/projects/__tests__/deploy.test.d.ts +1 -0
  275. package/lib/projects/__tests__/deploy.test.js +231 -0
  276. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +1 -0
  277. package/lib/projects/__tests__/localDevProjectHelpers.test.js +120 -0
  278. package/lib/projects/__tests__/platformVersion.test.d.ts +1 -0
  279. package/lib/projects/__tests__/platformVersion.test.js +63 -0
  280. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +1 -0
  281. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +328 -0
  282. package/lib/projects/__tests__/projectInfo.test.d.ts +1 -0
  283. package/lib/projects/__tests__/projectInfo.test.js +114 -0
  284. package/lib/projects/__tests__/projectProfiles.test.d.ts +1 -0
  285. package/lib/projects/__tests__/projectProfiles.test.js +441 -0
  286. package/lib/projects/__tests__/projects.test.d.ts +1 -0
  287. package/lib/projects/__tests__/projects.test.js +58 -0
  288. package/lib/projects/__tests__/structure.test.d.ts +1 -0
  289. package/lib/projects/__tests__/structure.test.js +210 -0
  290. package/lib/projects/__tests__/uieLinting.test.d.ts +1 -0
  291. package/lib/projects/__tests__/uieLinting.test.js +631 -0
  292. package/lib/projects/__tests__/upload.test.d.ts +1 -0
  293. package/lib/projects/__tests__/upload.test.js +183 -0
  294. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +1 -0
  295. package/lib/projects/add/__tests__/legacyAddComponent.test.js +245 -0
  296. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +1 -0
  297. package/lib/projects/add/__tests__/v2AddComponent.test.js +343 -0
  298. package/lib/projects/create/__tests__/legacy.test.d.ts +1 -0
  299. package/lib/projects/create/__tests__/legacy.test.js +72 -0
  300. package/lib/projects/create/__tests__/v2.test.d.ts +1 -0
  301. package/lib/projects/create/__tests__/v2.test.js +257 -0
  302. package/lib/projects/projectInfo.d.ts +22 -0
  303. package/lib/projects/projectInfo.js +104 -0
  304. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +1 -0
  305. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +157 -0
  306. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +1 -0
  307. package/lib/prompts/__tests__/createFunctionPrompt.test.js +129 -0
  308. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +1 -0
  309. package/lib/prompts/__tests__/createModulePrompt.test.js +187 -0
  310. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +1 -0
  311. package/lib/prompts/__tests__/createTemplatePrompt.test.js +102 -0
  312. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +1 -0
  313. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +31 -0
  314. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +1 -0
  315. package/lib/prompts/__tests__/projectAddPrompt.test.js +143 -0
  316. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +1 -0
  317. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +37 -0
  318. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +1 -0
  319. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +160 -0
  320. package/lib/theme/__tests__/migrate.test.d.ts +1 -0
  321. package/lib/theme/__tests__/migrate.test.js +247 -0
  322. package/lib/ui/__tests__/SpinniesManager.test.d.ts +1 -0
  323. package/lib/ui/__tests__/SpinniesManager.test.js +488 -0
  324. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +1 -0
  325. package/lib/ui/__tests__/removeAnsiCodes.test.js +84 -0
  326. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +1 -1
  327. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +1 -0
  328. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +254 -0
  329. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +1 -0
  330. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +227 -0
  331. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +1 -0
  332. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +208 -0
  333. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +1 -0
  334. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +186 -0
  335. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +1 -0
  336. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +124 -0
  337. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +1 -0
  338. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +124 -0
  339. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +1 -0
  340. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +157 -0
  341. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +1 -0
  342. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +131 -0
  343. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +1 -0
  344. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +461 -0
  345. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +1 -0
  346. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +125 -0
  347. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +1 -0
  348. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +125 -0
  349. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +1 -0
  350. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +210 -0
  351. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +1 -0
  352. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +146 -0
  353. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +1 -0
  354. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +124 -0
  355. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +1 -0
  356. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +307 -0
  357. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +1 -0
  358. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +242 -0
  359. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +1 -0
  360. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +209 -0
  361. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +1 -0
  362. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +158 -0
  363. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +1 -0
  364. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +187 -0
  365. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +1 -0
  366. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +118 -0
  367. package/mcp-server/utils/__tests__/command.test.d.ts +1 -0
  368. package/mcp-server/utils/__tests__/command.test.js +275 -0
  369. package/mcp-server/utils/__tests__/content.test.d.ts +1 -0
  370. package/mcp-server/utils/__tests__/content.test.js +164 -0
  371. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +1 -0
  372. package/mcp-server/utils/__tests__/feedbackTracking.test.js +69 -0
  373. package/package.json +2 -6
@@ -0,0 +1,131 @@
1
+ import updateNotifier from 'update-notifier';
2
+ import { isCliGloballyInstalled, canCliBeAutoUpgraded, getLatestCliVersion, getCliUpgradeInfo, installCliVersion, } from '../cliUpgradeUtils.js';
3
+ import { isGloballyInstalled, getLatestPackageVersion, executeInstall, isInstalledGloballyWithNPM, } from '../npm/npmCli.js';
4
+ import { pkg } from '../jsonLoader.js';
5
+ vi.mock('../npm/npmCli');
6
+ vi.mock('update-notifier');
7
+ vi.mock('../jsonLoader.js', () => ({
8
+ pkg: {
9
+ name: '@hubspot/cli',
10
+ version: '7.11.2',
11
+ },
12
+ }));
13
+ const mockedIsGloballyInstalled = vi.mocked(isGloballyInstalled);
14
+ const mockedGetLatestPackageVersion = vi.mocked(getLatestPackageVersion);
15
+ const mockedExecuteInstall = vi.mocked(executeInstall);
16
+ const mockedUpdateNotifier = vi.mocked(updateNotifier);
17
+ const mockedIsInstalledGloballyWithNPM = vi.mocked(isInstalledGloballyWithNPM);
18
+ describe('lib/cliUpgradeUtils', () => {
19
+ beforeEach(() => {
20
+ vi.clearAllMocks();
21
+ });
22
+ describe('isCliGloballyInstalled()', () => {
23
+ it('should return true when hs is globally installed', async () => {
24
+ mockedIsGloballyInstalled.mockResolvedValueOnce(true);
25
+ const result = await isCliGloballyInstalled();
26
+ expect(result).toBe(true);
27
+ expect(mockedIsGloballyInstalled).toHaveBeenCalledTimes(1);
28
+ expect(mockedIsGloballyInstalled).toHaveBeenCalledWith('hs');
29
+ });
30
+ it('should return false when hs is not globally installed', async () => {
31
+ mockedIsGloballyInstalled.mockResolvedValueOnce(false);
32
+ const result = await isCliGloballyInstalled();
33
+ expect(result).toBe(false);
34
+ expect(mockedIsGloballyInstalled).toHaveBeenCalledTimes(1);
35
+ expect(mockedIsGloballyInstalled).toHaveBeenCalledWith('hs');
36
+ });
37
+ });
38
+ describe('canCliBeAutoUpgraded()', () => {
39
+ it('should return true when package is installed globally via npm', async () => {
40
+ mockedIsInstalledGloballyWithNPM.mockResolvedValueOnce(true);
41
+ const result = await canCliBeAutoUpgraded();
42
+ expect(result).toBe(true);
43
+ expect(mockedIsInstalledGloballyWithNPM).toHaveBeenCalledTimes(1);
44
+ expect(mockedIsInstalledGloballyWithNPM).toHaveBeenCalledWith(pkg.name);
45
+ });
46
+ it('should return false when package is not installed globally via npm', async () => {
47
+ mockedIsInstalledGloballyWithNPM.mockResolvedValueOnce(false);
48
+ const result = await canCliBeAutoUpgraded();
49
+ expect(result).toBe(false);
50
+ expect(mockedIsInstalledGloballyWithNPM).toHaveBeenCalledTimes(1);
51
+ expect(mockedIsInstalledGloballyWithNPM).toHaveBeenCalledWith(pkg.name);
52
+ });
53
+ });
54
+ describe('getLatestCliVersion()', () => {
55
+ it('should return the latest CLI version', async () => {
56
+ const latest = '7.12.0';
57
+ const next = '7.12.0-beta.1';
58
+ mockedGetLatestPackageVersion.mockResolvedValueOnce({ latest, next });
59
+ const result = await getLatestCliVersion();
60
+ expect(result).toEqual({ latest, next });
61
+ expect(mockedGetLatestPackageVersion).toHaveBeenCalledTimes(1);
62
+ expect(mockedGetLatestPackageVersion).toHaveBeenCalledWith(pkg.name);
63
+ });
64
+ it('should throw errors from getLatestPackageVersion', async () => {
65
+ const errorMessage = 'Failed to get version';
66
+ mockedGetLatestPackageVersion.mockRejectedValueOnce(new Error(errorMessage));
67
+ await expect(getLatestCliVersion()).rejects.toThrow(errorMessage);
68
+ expect(mockedGetLatestPackageVersion).toHaveBeenCalledWith(pkg.name);
69
+ });
70
+ });
71
+ describe('getCliUpgradeInfo()', () => {
72
+ it('should return upgrade info when update is available', () => {
73
+ const mockNotifier = {
74
+ update: {
75
+ current: '7.11.2',
76
+ latest: '7.12.0',
77
+ type: 'minor',
78
+ },
79
+ };
80
+ mockedUpdateNotifier.mockReturnValue(mockNotifier);
81
+ const result = getCliUpgradeInfo();
82
+ expect(result).toMatchObject({
83
+ current: '7.11.2',
84
+ latest: '7.12.0',
85
+ type: 'minor',
86
+ });
87
+ expect(mockedUpdateNotifier).toHaveBeenCalledWith({
88
+ pkg,
89
+ distTag: 'latest',
90
+ shouldNotifyInNpmScript: true,
91
+ });
92
+ });
93
+ it('should return cached info on subsequent calls', () => {
94
+ const mockNotifier = {
95
+ update: {
96
+ current: '7.11.2',
97
+ latest: '7.12.0',
98
+ type: 'minor',
99
+ },
100
+ };
101
+ mockedUpdateNotifier.mockReturnValue(mockNotifier);
102
+ const firstCall = getCliUpgradeInfo();
103
+ const secondCall = getCliUpgradeInfo();
104
+ expect(firstCall).toEqual(secondCall);
105
+ expect(firstCall.current).toBe('7.11.2');
106
+ expect(firstCall.latest).toBe('7.12.0');
107
+ expect(firstCall.type).toBe('minor');
108
+ });
109
+ });
110
+ describe('installCliVersion()', () => {
111
+ it('should install latest version by default', async () => {
112
+ mockedExecuteInstall.mockResolvedValueOnce(undefined);
113
+ await installCliVersion();
114
+ expect(mockedExecuteInstall).toHaveBeenCalledTimes(1);
115
+ expect(mockedExecuteInstall).toHaveBeenCalledWith([`${pkg.name}@latest`], '-g');
116
+ });
117
+ it('should install a specific version when provided', async () => {
118
+ const version = '7.12.0';
119
+ mockedExecuteInstall.mockResolvedValueOnce(undefined);
120
+ await installCliVersion(version);
121
+ expect(mockedExecuteInstall).toHaveBeenCalledTimes(1);
122
+ expect(mockedExecuteInstall).toHaveBeenCalledWith([`${pkg.name}@${version}`], '-g');
123
+ });
124
+ it('should throw errors from executeInstall', async () => {
125
+ const errorMessage = 'Installation failed';
126
+ mockedExecuteInstall.mockRejectedValueOnce(new Error(errorMessage));
127
+ await expect(installCliVersion()).rejects.toThrow(errorMessage);
128
+ expect(mockedExecuteInstall).toHaveBeenCalledWith([`${pkg.name}@latest`], '-g');
129
+ });
130
+ });
131
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,121 @@
1
+ import yargs from 'yargs';
2
+ import { addCommandSuggestions, commandSuggestionMappings, } from '../commandSuggestion.js';
3
+ import { uiLogger } from '../ui/logger.js';
4
+ import { uiCommandReference } from '../ui/index.js';
5
+ import { EXIT_CODES } from '../enums/exitCodes.js';
6
+ vi.mock('../ui/logger.js');
7
+ vi.mock('../ui/index.js');
8
+ const commandSpy = vi
9
+ .spyOn(yargs, 'command')
10
+ .mockReturnValue(yargs);
11
+ describe('lib/commandSuggestion', () => {
12
+ const uiLoggerErrorMock = uiLogger.error;
13
+ const uiCommandReferenceMock = uiCommandReference;
14
+ beforeEach(() => {
15
+ vi.clearAllMocks();
16
+ commandSpy.mockClear();
17
+ uiCommandReferenceMock.mockImplementation((command) => `\`${command}\``);
18
+ });
19
+ describe('addCommandSuggestions', () => {
20
+ it('adds all command suggestions to yargs instance', () => {
21
+ addCommandSuggestions(yargs);
22
+ expect(commandSpy).toHaveBeenCalledTimes(Object.keys(commandSuggestionMappings).length);
23
+ });
24
+ it('registers each mapping from commandSuggestionMappings', () => {
25
+ addCommandSuggestions(yargs);
26
+ Object.entries(commandSuggestionMappings).forEach(([oldCommand]) => {
27
+ expect(commandSpy).toHaveBeenCalledWith(expect.objectContaining({
28
+ command: oldCommand,
29
+ }));
30
+ });
31
+ });
32
+ it('returns the yargs instance', () => {
33
+ const yargsInstance = yargs;
34
+ const result = addCommandSuggestions(yargsInstance);
35
+ expect(result).toBe(yargsInstance);
36
+ });
37
+ it('creates command modules with handler that logs error and exits', () => {
38
+ vi.spyOn(process, 'exit').mockImplementation(() => {
39
+ throw new Error(`process.exit called with ${EXIT_CODES.ERROR}`);
40
+ });
41
+ addCommandSuggestions(yargs);
42
+ // Get the first registered command module
43
+ const firstCall = commandSpy.mock.calls[0];
44
+ const commandModule = firstCall[0];
45
+ const firstMapping = Object.entries(commandSuggestionMappings)[0];
46
+ const [, newCommand] = firstMapping;
47
+ // Verify the command module structure
48
+ expect(commandModule).toHaveProperty('command');
49
+ expect(commandModule).toHaveProperty('handler');
50
+ expect(commandModule).toHaveProperty('builder');
51
+ // Invoke the handler to verify behavior
52
+ expect(() => {
53
+ commandModule.handler({});
54
+ }).toThrow('process.exit called');
55
+ expect(uiCommandReferenceMock).toHaveBeenCalledWith(newCommand);
56
+ expect(uiLoggerErrorMock).toHaveBeenCalledWith(`Did you mean \`${newCommand}\`?`);
57
+ expect(process.exit).toHaveBeenCalledWith(EXIT_CODES.ERROR);
58
+ vi.restoreAllMocks();
59
+ });
60
+ it('creates command modules with builder that sets strict mode to false', async () => {
61
+ const yargsInstance = yargs;
62
+ const commandSpyForTest = vi
63
+ .spyOn(yargsInstance, 'command')
64
+ .mockReturnValue(yargsInstance);
65
+ addCommandSuggestions(yargsInstance);
66
+ // Get a command module and verify it has a builder
67
+ const firstCall = commandSpyForTest.mock.calls[0];
68
+ const commandModule = firstCall[0];
69
+ expect(commandModule).toHaveProperty('builder');
70
+ expect(typeof commandModule.builder).toBe('function');
71
+ // Create a mock yargs builder with strict method
72
+ const mockYargsBuilder = {
73
+ strict: vi.fn().mockReturnThis(),
74
+ help: vi.fn().mockReturnThis(),
75
+ version: vi.fn().mockReturnThis(),
76
+ };
77
+ await commandModule.builder(mockYargsBuilder);
78
+ expect(mockYargsBuilder.strict).toHaveBeenCalledWith(false);
79
+ commandSpyForTest.mockRestore();
80
+ });
81
+ it('handles commands with multiple words', () => {
82
+ vi.spyOn(process, 'exit').mockImplementation(() => {
83
+ throw new Error(`process.exit called with ${EXIT_CODES.ERROR}`);
84
+ });
85
+ // Find a multi-word command
86
+ const multiWordCommand = Object.entries(commandSuggestionMappings).find(([oldCommand]) => oldCommand.includes(' '));
87
+ expect(multiWordCommand).toBeDefined();
88
+ if (multiWordCommand) {
89
+ const [oldCommand, newCommand] = multiWordCommand;
90
+ const yargsInstance = yargs;
91
+ const commandSpyForTest = vi
92
+ .spyOn(yargsInstance, 'command')
93
+ .mockReturnValue(yargsInstance);
94
+ addCommandSuggestions(yargsInstance);
95
+ // Find the call for this multi-word command
96
+ const call = commandSpyForTest.mock.calls.find(call => call[0]
97
+ .command === oldCommand);
98
+ expect(call).toBeDefined();
99
+ const commandModule = call[0];
100
+ expect(commandModule).toHaveProperty('handler');
101
+ // Invoke handler to verify it works with multi-word commands
102
+ expect(() => {
103
+ commandModule.handler({});
104
+ }).toThrow('process.exit called');
105
+ expect(uiCommandReferenceMock).toHaveBeenCalledWith(newCommand);
106
+ expect(uiLoggerErrorMock).toHaveBeenCalledWith(`Did you mean \`${newCommand}\`?`);
107
+ commandSpyForTest.mockRestore();
108
+ }
109
+ vi.restoreAllMocks();
110
+ });
111
+ });
112
+ describe('commandSuggestionMappings', () => {
113
+ it('all mappings point to valid new commands', () => {
114
+ Object.entries(commandSuggestionMappings).forEach(([, newCommand]) => {
115
+ expect(newCommand).toMatch(/^hs /);
116
+ expect(typeof newCommand).toBe('string');
117
+ expect(newCommand.length).toBeGreaterThan(0);
118
+ });
119
+ });
120
+ });
121
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,80 @@
1
+ import { CMS_PUBLISH_MODE, DEFAULT_CMS_PUBLISH_MODE, } from '@hubspot/local-dev-lib/constants/files';
2
+ import { getConfig, getConfigAccountById } from '@hubspot/local-dev-lib/config';
3
+ import { getCmsPublishMode } from '../commonOpts.js';
4
+ const mockedGetConfigAccountById = getConfigAccountById;
5
+ const mockedGetConfig = getConfig;
6
+ function buildArguments(args) {
7
+ return {
8
+ _: [],
9
+ $0: '',
10
+ ...args,
11
+ };
12
+ }
13
+ vi.mock('@hubspot/local-dev-lib/config');
14
+ describe('lib/commonOpts', () => {
15
+ describe('getCmsPublishMode()', () => {
16
+ const accounts = {
17
+ PROD: 123,
18
+ DEV: 456,
19
+ };
20
+ const devAccountConfig = {
21
+ accountId: accounts.DEV,
22
+ name: 'DEV',
23
+ defaultCmsPublishMode: CMS_PUBLISH_MODE.draft,
24
+ };
25
+ const prodAccountConfig = {
26
+ accountId: accounts.PROD,
27
+ name: 'PROD',
28
+ };
29
+ const config = {
30
+ defaultAccount: 'DEV',
31
+ accounts: [devAccountConfig, prodAccountConfig],
32
+ };
33
+ const configWithDefaultCmsPublishMode = {
34
+ ...config,
35
+ defaultCmsPublishMode: CMS_PUBLISH_MODE.draft,
36
+ };
37
+ afterEach(() => {
38
+ vi.resetAllMocks();
39
+ });
40
+ describe('cms publish mode option precedence', () => {
41
+ describe('1. --cmsPublishMode', () => {
42
+ it('should return the cms publish mode specified by the command option if present.', () => {
43
+ mockedGetConfig.mockReturnValue(configWithDefaultCmsPublishMode);
44
+ mockedGetConfigAccountById.mockReturnValue(devAccountConfig);
45
+ expect(getCmsPublishMode(buildArguments({
46
+ cmsPublishMode: CMS_PUBLISH_MODE.draft,
47
+ }))).toBe(CMS_PUBLISH_MODE.draft);
48
+ expect(getCmsPublishMode(buildArguments({
49
+ cmsPublishMode: CMS_PUBLISH_MODE.publish,
50
+ }))).toBe(CMS_PUBLISH_MODE.publish);
51
+ });
52
+ });
53
+ describe('2. hubspot.config.yml -> config.accounts[x].defaultCmsPublishMode', () => {
54
+ it('should return the defaultCmsPublishMode specified by the account specific config if present.', () => {
55
+ mockedGetConfig.mockReturnValue(configWithDefaultCmsPublishMode);
56
+ mockedGetConfigAccountById.mockReturnValue(devAccountConfig);
57
+ expect(getCmsPublishMode(buildArguments({
58
+ account: accounts.DEV,
59
+ }))).toBe(CMS_PUBLISH_MODE.draft);
60
+ });
61
+ });
62
+ describe('3. hubspot.config.yml -> config.defaultCmsPublishMode', () => {
63
+ it('should return the defaultCmsPublishMode specified by the config if present.', () => {
64
+ mockedGetConfig.mockReturnValue(configWithDefaultCmsPublishMode);
65
+ mockedGetConfigAccountById.mockReturnValue(prodAccountConfig);
66
+ expect(getCmsPublishMode(buildArguments({
67
+ account: accounts.PROD,
68
+ }))).toBe(CMS_PUBLISH_MODE.draft);
69
+ });
70
+ });
71
+ describe('4. DEFAULT_CMS_PUBLISH_MODE', () => {
72
+ it('should return the defaultCmsPubishMode specified by the config if present.', () => {
73
+ expect(getCmsPublishMode(buildArguments({
74
+ account: 'xxxxx',
75
+ }))).toBe(DEFAULT_CMS_PUBLISH_MODE);
76
+ });
77
+ });
78
+ });
79
+ });
80
+ });
@@ -0,0 +1 @@
1
+ export {};