@hubspot/cli 8.1.0 → 8.1.1-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 (676) hide show
  1. package/api/migrate.js +8 -4
  2. package/bin/cli.js +12 -6
  3. package/commands/account/auth.js +7 -7
  4. package/commands/account/clean.js +7 -6
  5. package/commands/account/createOverride.js +10 -7
  6. package/commands/account/info.js +36 -17
  7. package/commands/account/link.d.ts +4 -0
  8. package/commands/account/link.js +89 -0
  9. package/commands/account/list.js +32 -76
  10. package/commands/account/remove.js +4 -3
  11. package/commands/account/removeOverride.js +11 -10
  12. package/commands/account/rename.js +5 -6
  13. package/commands/account/unlink.d.ts +4 -0
  14. package/commands/account/unlink.js +70 -0
  15. package/commands/account/use.js +75 -6
  16. package/commands/account.js +4 -0
  17. package/commands/api.d.ts +10 -0
  18. package/commands/api.js +164 -0
  19. package/commands/app/migrate.js +13 -13
  20. package/commands/app/secret/add.js +6 -7
  21. package/commands/app/secret/delete.js +9 -10
  22. package/commands/app/secret/list.js +6 -7
  23. package/commands/app/secret/update.js +8 -9
  24. package/commands/auth.js +19 -15
  25. package/commands/cms/app/create.js +9 -5
  26. package/commands/cms/convertFields.js +8 -8
  27. package/commands/cms/delete.js +2 -3
  28. package/commands/cms/fetch.js +7 -7
  29. package/commands/cms/function/create.js +9 -5
  30. package/commands/cms/function/deploy.js +2 -3
  31. package/commands/cms/function/list.js +11 -7
  32. package/commands/cms/function/logs.js +17 -22
  33. package/commands/cms/function/server.js +2 -3
  34. package/commands/cms/getReactModule.js +7 -8
  35. package/commands/cms/lighthouseScore.js +25 -24
  36. package/commands/cms/lint.js +4 -5
  37. package/commands/cms/list.js +5 -6
  38. package/commands/cms/module/create.js +9 -5
  39. package/commands/cms/module/marketplace-validate.js +7 -8
  40. package/commands/cms/mv.js +2 -3
  41. package/commands/cms/template/create.js +10 -6
  42. package/commands/cms/theme/create.js +5 -5
  43. package/commands/cms/theme/generate-selectors.js +5 -4
  44. package/commands/cms/theme/marketplace-validate.js +8 -9
  45. package/commands/cms/theme/preview.js +23 -70
  46. package/commands/cms/upload.js +15 -12
  47. package/commands/cms/watch.d.ts +0 -1
  48. package/commands/cms/watch.js +6 -12
  49. package/commands/cms/webpack/create.js +5 -5
  50. package/commands/completion.js +3 -5
  51. package/commands/config/migrate.js +6 -7
  52. package/commands/config/set.js +5 -6
  53. package/commands/customObject/create.js +4 -5
  54. package/commands/customObject/createSchema.js +4 -5
  55. package/commands/customObject/deleteSchema.js +4 -5
  56. package/commands/customObject/fetchAllSchemas.js +2 -3
  57. package/commands/customObject/fetchSchema.js +2 -3
  58. package/commands/customObject/listSchemas.js +2 -3
  59. package/commands/customObject/updateSchema.js +4 -5
  60. package/commands/doctor.js +8 -8
  61. package/commands/feedback.js +7 -5
  62. package/commands/filemanager/fetch.js +5 -6
  63. package/commands/filemanager/upload.js +5 -5
  64. package/commands/getStarted.js +17 -19
  65. package/commands/hubdb/clear.js +6 -3
  66. package/commands/hubdb/create.js +4 -5
  67. package/commands/hubdb/delete.js +9 -6
  68. package/commands/hubdb/fetch.js +6 -3
  69. package/commands/hubdb/list.js +16 -14
  70. package/commands/init.js +15 -14
  71. package/commands/mcp/setup.js +5 -14
  72. package/commands/mcp/start.js +2 -4
  73. package/commands/open.js +4 -5
  74. package/commands/project/add.js +13 -8
  75. package/commands/project/appInstallStatus.d.ts +4 -0
  76. package/commands/project/appInstallStatus.js +132 -0
  77. package/commands/project/create.js +28 -17
  78. package/commands/project/delete.d.ts +7 -0
  79. package/commands/project/delete.js +74 -0
  80. package/commands/project/deploy.js +39 -36
  81. package/commands/project/dev/deprecatedFlow.js +62 -17
  82. package/commands/project/dev/index.d.ts +3 -3
  83. package/commands/project/dev/index.js +59 -48
  84. package/commands/project/dev/unifiedFlow.js +70 -21
  85. package/commands/project/download.js +12 -9
  86. package/commands/project/info.d.ts +4 -0
  87. package/commands/project/info.js +67 -0
  88. package/commands/project/installDeps.js +9 -6
  89. package/commands/project/lint.js +31 -10
  90. package/commands/project/list.d.ts +2 -2
  91. package/commands/project/list.js +15 -14
  92. package/commands/project/listBuilds.js +8 -6
  93. package/commands/project/logs.js +5 -6
  94. package/commands/project/migrate.js +18 -18
  95. package/commands/project/open.js +5 -6
  96. package/commands/project/profile/add.js +12 -8
  97. package/commands/project/profile/delete.js +15 -11
  98. package/commands/project/updateDeps.js +9 -6
  99. package/commands/project/upload.d.ts +1 -0
  100. package/commands/project/upload.js +39 -19
  101. package/commands/project/validate.js +12 -12
  102. package/commands/project/watch.js +32 -19
  103. package/commands/project.js +12 -3
  104. package/commands/sandbox/create.js +18 -45
  105. package/commands/sandbox/delete.js +13 -14
  106. package/commands/secret/addSecret.js +6 -7
  107. package/commands/secret/deleteSecret.js +5 -6
  108. package/commands/secret/listSecret.js +2 -3
  109. package/commands/secret/updateSecret.js +4 -5
  110. package/commands/testAccount/create.d.ts +1 -1
  111. package/commands/testAccount/create.js +25 -17
  112. package/commands/testAccount/createConfig.js +7 -8
  113. package/commands/testAccount/delete.js +27 -18
  114. package/commands/testAccount/importData.js +6 -7
  115. package/commands/upgrade.js +9 -10
  116. package/lang/en.d.ts +258 -14
  117. package/lang/en.js +275 -28
  118. package/lib/accountAuth.js +4 -0
  119. package/lib/api/usageTracking.d.ts +29 -0
  120. package/lib/api/usageTracking.js +28 -0
  121. package/lib/app/migrate.js +18 -5
  122. package/lib/buildAccount.d.ts +1 -6
  123. package/lib/buildAccount.js +9 -42
  124. package/lib/commandSuggestion.js +1 -7
  125. package/lib/constants.d.ts +2 -4
  126. package/lib/constants.js +4 -4
  127. package/lib/doctor/Diagnosis.js +5 -5
  128. package/lib/doctor/Doctor.js +7 -7
  129. package/lib/errorHandlers/index.js +4 -3
  130. package/lib/errorHandlers/suppressError.js +4 -0
  131. package/lib/errors/PromptExitError.d.ts +6 -0
  132. package/lib/errors/PromptExitError.js +11 -0
  133. package/lib/generateSelectors.js +1 -2
  134. package/lib/getStartedV2Actions.d.ts +13 -0
  135. package/lib/getStartedV2Actions.js +56 -3
  136. package/lib/hasFeature.js +1 -2
  137. package/lib/link/accountTableUtils.d.ts +10 -0
  138. package/lib/link/accountTableUtils.js +39 -0
  139. package/lib/link/index.d.ts +18 -0
  140. package/lib/link/index.js +185 -0
  141. package/lib/link/linkUtils.d.ts +5 -0
  142. package/lib/link/linkUtils.js +49 -0
  143. package/lib/link/prompts.d.ts +7 -0
  144. package/lib/link/prompts.js +126 -0
  145. package/lib/link/renderLinkedAccountsTable.d.ts +2 -0
  146. package/lib/link/renderLinkedAccountsTable.js +14 -0
  147. package/lib/link/warnIfLinkedDirectory.d.ts +1 -0
  148. package/lib/link/warnIfLinkedDirectory.js +9 -0
  149. package/lib/mcp/setup.d.ts +1 -0
  150. package/lib/mcp/setup.js +77 -30
  151. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  152. package/lib/process.d.ts +1 -1
  153. package/lib/process.js +10 -3
  154. package/lib/projects/ProjectLogsManager.js +6 -3
  155. package/lib/projects/components.js +15 -4
  156. package/lib/projects/create/index.js +3 -6
  157. package/lib/projects/create/legacy.js +5 -10
  158. package/lib/projects/create/v2.js +5 -14
  159. package/lib/projects/delete.d.ts +13 -0
  160. package/lib/projects/delete.js +193 -0
  161. package/lib/projects/deploy.d.ts +1 -1
  162. package/lib/projects/deploy.js +2 -2
  163. package/lib/projects/ensureProjectExists.js +1 -2
  164. package/lib/projects/localDev/AppDevModeInterface.js +13 -9
  165. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +4 -1
  166. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +3 -3
  167. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  168. package/lib/projects/localDev/DevSessionManager.js +31 -19
  169. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +5 -0
  170. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +21 -10
  171. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  172. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  173. package/lib/projects/localDev/LocalDevState.js +3 -1
  174. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  175. package/lib/projects/localDev/helpers/account.js +21 -30
  176. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  177. package/lib/projects/localDev/helpers/process.js +4 -10
  178. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  179. package/lib/projects/localDev/helpers/project.js +31 -15
  180. package/lib/projects/npmAuditOnUpload.d.ts +10 -0
  181. package/lib/projects/npmAuditOnUpload.js +73 -0
  182. package/lib/projects/pollProjectBuildAndDeploy.js +90 -85
  183. package/lib/projects/projectInfo.d.ts +5 -0
  184. package/lib/projects/projectInfo.js +82 -0
  185. package/lib/projects/projectProfiles.d.ts +1 -2
  186. package/lib/projects/projectProfiles.js +5 -17
  187. package/lib/projects/uieLinting.d.ts +17 -3
  188. package/lib/projects/uieLinting.js +93 -28
  189. package/lib/projects/upload.d.ts +3 -1
  190. package/lib/projects/upload.js +70 -50
  191. package/lib/projects/watch.d.ts +2 -1
  192. package/lib/projects/watch.js +32 -24
  193. package/lib/projects/workspaces.d.ts +42 -0
  194. package/lib/projects/workspaces.js +350 -0
  195. package/lib/prompts/createApiSamplePrompt.js +4 -0
  196. package/lib/prompts/downloadProjectPrompt.js +11 -10
  197. package/lib/prompts/installAppPrompt.js +3 -2
  198. package/lib/prompts/personalAccessKeyPrompt.js +3 -2
  199. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
  200. package/lib/prompts/projectDevTargetAccountPrompt.js +23 -16
  201. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  202. package/lib/prompts/projectProfilePrompt.js +46 -0
  203. package/lib/prompts/projectsLogsPrompt.js +3 -0
  204. package/lib/prompts/promptUtils.js +4 -2
  205. package/lib/prompts/selectHubDBTablePrompt.js +8 -4
  206. package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
  207. package/lib/sandboxes.d.ts +1 -9
  208. package/lib/sandboxes.js +0 -21
  209. package/lib/serverlessLogs.js +50 -44
  210. package/lib/theme/cmsDevServerProcess.d.ts +14 -0
  211. package/lib/theme/cmsDevServerProcess.js +149 -0
  212. package/lib/theme/cmsDevServerRunner.d.ts +14 -0
  213. package/lib/theme/cmsDevServerRunner.js +90 -0
  214. package/lib/theme/migrate.d.ts +1 -1
  215. package/lib/theme/migrate.js +1 -5
  216. package/lib/ui/SpinniesManager.d.ts +1 -0
  217. package/lib/ui/SpinniesManager.js +22 -6
  218. package/lib/ui/accountTable.d.ts +8 -0
  219. package/lib/ui/accountTable.js +67 -0
  220. package/lib/ui/spinniesUtils.d.ts +0 -1
  221. package/lib/ui/spinniesUtils.js +6 -16
  222. package/lib/usageTracking.d.ts +9 -20
  223. package/lib/usageTracking.js +51 -34
  224. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  225. package/lib/yargs/makeYargsBuilder.js +33 -0
  226. package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
  227. package/lib/yargs/makeYargsHandlerWithUsageTracking.js +121 -0
  228. package/lib/yargs/parseYargsOrExit.d.ts +4 -0
  229. package/lib/yargs/parseYargsOrExit.js +25 -0
  230. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  231. package/lib/yargs/strictEnforceBoolean.js +13 -0
  232. package/lib/yargsUtils.d.ts +3 -16
  233. package/lib/yargsUtils.js +3 -48
  234. package/mcp-server/Tool.d.ts +15 -0
  235. package/mcp-server/Tool.js +53 -0
  236. package/mcp-server/server.js +43 -3
  237. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  238. package/mcp-server/tools/cms/HsCreateFunctionTool.js +9 -7
  239. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  240. package/mcp-server/tools/cms/HsCreateModuleTool.js +9 -7
  241. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +4 -2
  242. package/mcp-server/tools/cms/HsCreateTemplateTool.js +9 -7
  243. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  244. package/mcp-server/tools/cms/HsFunctionLogsTool.js +9 -7
  245. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  246. package/mcp-server/tools/cms/HsListFunctionsTool.js +9 -7
  247. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  248. package/mcp-server/tools/cms/HsListTool.js +9 -7
  249. package/mcp-server/tools/index.d.ts +3 -2
  250. package/mcp-server/tools/index.js +24 -22
  251. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +25 -5
  252. package/mcp-server/tools/project/AddFeatureToProjectTool.js +16 -18
  253. package/mcp-server/tools/project/CreateProjectTool.d.ts +29 -6
  254. package/mcp-server/tools/project/CreateProjectTool.js +16 -18
  255. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  256. package/mcp-server/tools/project/CreateTestAccountTool.js +22 -10
  257. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  258. package/mcp-server/tools/project/DeployProjectTool.js +6 -8
  259. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  260. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  261. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  262. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  263. package/mcp-server/tools/project/FindProjectsTool.d.ts +15 -0
  264. package/mcp-server/tools/project/FindProjectsTool.js +60 -0
  265. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  266. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +13 -14
  267. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  268. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  269. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +6 -4
  270. package/mcp-server/tools/project/GetBuildLogsTool.js +15 -14
  271. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +5 -3
  272. package/mcp-server/tools/project/GetBuildStatusTool.js +12 -11
  273. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  274. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  275. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +10 -3
  276. package/mcp-server/tools/project/GuidedWalkthroughTool.js +5 -12
  277. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  278. package/mcp-server/tools/project/UploadProjectTools.js +11 -9
  279. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  280. package/mcp-server/tools/project/ValidateProjectTool.js +10 -8
  281. package/mcp-server/tools/project/constants.d.ts +13 -1
  282. package/mcp-server/tools/project/constants.js +13 -16
  283. package/mcp-server/types.d.ts +0 -7
  284. package/mcp-server/types.js +1 -13
  285. package/mcp-server/utils/command.d.ts +5 -0
  286. package/mcp-server/utils/command.js +24 -0
  287. package/mcp-server/utils/feedbackTracking.js +2 -17
  288. package/mcp-server/utils/logger.d.ts +10 -0
  289. package/mcp-server/utils/logger.js +29 -0
  290. package/mcp-server/utils/toolUsageTracking.js +10 -8
  291. package/package.json +15 -11
  292. package/types/Link.d.ts +32 -0
  293. package/types/Link.js +5 -0
  294. package/types/LocalDev.d.ts +5 -0
  295. package/types/PackageJson.d.ts +1 -0
  296. package/types/Projects.d.ts +19 -0
  297. package/types/Prompts.d.ts +1 -0
  298. package/types/Yargs.d.ts +19 -1
  299. package/ui/components/getStarted/GetStartedFlow.js +79 -2
  300. package/ui/components/getStarted/reducer.d.ts +20 -0
  301. package/ui/components/getStarted/reducer.js +36 -0
  302. package/ui/components/getStarted/screens/InstallationScreen.d.ts +7 -0
  303. package/ui/components/getStarted/screens/InstallationScreen.js +16 -0
  304. package/ui/components/getStarted/screens/ProjectSetupScreen.js +2 -1
  305. package/ui/lib/constants.d.ts +1 -0
  306. package/ui/lib/constants.js +1 -0
  307. package/api/__tests__/migrate.test.d.ts +0 -1
  308. package/api/__tests__/migrate.test.js +0 -199
  309. package/commands/__tests__/account.test.d.ts +0 -1
  310. package/commands/__tests__/account.test.js +0 -69
  311. package/commands/__tests__/auth.test.d.ts +0 -1
  312. package/commands/__tests__/auth.test.js +0 -43
  313. package/commands/__tests__/cms.test.d.ts +0 -1
  314. package/commands/__tests__/cms.test.js +0 -87
  315. package/commands/__tests__/config.test.d.ts +0 -1
  316. package/commands/__tests__/config.test.js +0 -44
  317. package/commands/__tests__/customObject.test.d.ts +0 -1
  318. package/commands/__tests__/customObject.test.js +0 -68
  319. package/commands/__tests__/doctor.test.d.ts +0 -1
  320. package/commands/__tests__/doctor.test.js +0 -132
  321. package/commands/__tests__/feedback.test.d.ts +0 -1
  322. package/commands/__tests__/feedback.test.js +0 -24
  323. package/commands/__tests__/filemanager.test.d.ts +0 -1
  324. package/commands/__tests__/filemanager.test.js +0 -45
  325. package/commands/__tests__/getStarted.test.d.ts +0 -1
  326. package/commands/__tests__/getStarted.test.js +0 -173
  327. package/commands/__tests__/hubdb.test.d.ts +0 -1
  328. package/commands/__tests__/hubdb.test.js +0 -50
  329. package/commands/__tests__/init.test.d.ts +0 -1
  330. package/commands/__tests__/init.test.js +0 -42
  331. package/commands/__tests__/mcp.test.d.ts +0 -1
  332. package/commands/__tests__/mcp.test.js +0 -46
  333. package/commands/__tests__/open.test.d.ts +0 -1
  334. package/commands/__tests__/open.test.js +0 -58
  335. package/commands/__tests__/project.test.d.ts +0 -1
  336. package/commands/__tests__/project.test.js +0 -125
  337. package/commands/__tests__/sandbox.test.d.ts +0 -1
  338. package/commands/__tests__/sandbox.test.js +0 -44
  339. package/commands/__tests__/secret.test.d.ts +0 -1
  340. package/commands/__tests__/secret.test.js +0 -49
  341. package/commands/__tests__/testAccount.test.d.ts +0 -1
  342. package/commands/__tests__/testAccount.test.js +0 -57
  343. package/commands/__tests__/upgrade.test.d.ts +0 -1
  344. package/commands/__tests__/upgrade.test.js +0 -309
  345. package/commands/account/__tests__/auth.test.d.ts +0 -1
  346. package/commands/account/__tests__/auth.test.js +0 -206
  347. package/commands/account/__tests__/clean.test.d.ts +0 -1
  348. package/commands/account/__tests__/clean.test.js +0 -28
  349. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  350. package/commands/account/__tests__/createOverride.test.js +0 -32
  351. package/commands/account/__tests__/info.test.d.ts +0 -1
  352. package/commands/account/__tests__/info.test.js +0 -28
  353. package/commands/account/__tests__/list.test.d.ts +0 -1
  354. package/commands/account/__tests__/list.test.js +0 -153
  355. package/commands/account/__tests__/remove.test.d.ts +0 -1
  356. package/commands/account/__tests__/remove.test.js +0 -36
  357. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  358. package/commands/account/__tests__/removeOverride.js +0 -25
  359. package/commands/account/__tests__/rename.test.d.ts +0 -1
  360. package/commands/account/__tests__/rename.test.js +0 -82
  361. package/commands/account/__tests__/use.test.d.ts +0 -1
  362. package/commands/account/__tests__/use.test.js +0 -170
  363. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  364. package/commands/app/__tests__/migrate.test.js +0 -111
  365. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  366. package/commands/app/secret/__tests__/add.test.js +0 -140
  367. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  368. package/commands/app/secret/__tests__/delete.test.js +0 -28
  369. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  370. package/commands/app/secret/__tests__/list.test.js +0 -25
  371. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  372. package/commands/app/secret/__tests__/update.test.js +0 -28
  373. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  374. package/commands/cms/__tests__/delete.test.js +0 -39
  375. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  376. package/commands/cms/__tests__/fetch.test.js +0 -156
  377. package/commands/cms/__tests__/function.test.d.ts +0 -1
  378. package/commands/cms/__tests__/function.test.js +0 -50
  379. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  380. package/commands/cms/__tests__/lint.test.js +0 -33
  381. package/commands/cms/__tests__/list.test.d.ts +0 -1
  382. package/commands/cms/__tests__/list.test.js +0 -42
  383. package/commands/cms/__tests__/module.test.d.ts +0 -1
  384. package/commands/cms/__tests__/module.test.js +0 -45
  385. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  386. package/commands/cms/__tests__/mv.test.js +0 -46
  387. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  388. package/commands/cms/__tests__/theme.test.js +0 -54
  389. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  390. package/commands/cms/__tests__/upload.test.js +0 -308
  391. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  392. package/commands/cms/__tests__/watch.test.js +0 -212
  393. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  394. package/commands/cms/function/__tests__/logs.test.js +0 -70
  395. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  396. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  397. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  398. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  399. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  400. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  401. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  402. package/commands/customObject/__tests__/create.test.js +0 -40
  403. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  404. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  405. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  406. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  407. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  408. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  409. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  410. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  411. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  412. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  413. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  414. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  415. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  416. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  417. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  418. package/commands/filemanager/__tests__/upload.test.js +0 -191
  419. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  420. package/commands/hubdb/__tests__/clear.test.js +0 -28
  421. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  422. package/commands/hubdb/__tests__/create.test.js +0 -28
  423. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  424. package/commands/hubdb/__tests__/delete.test.js +0 -28
  425. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  426. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  427. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  428. package/commands/hubdb/__tests__/list.test.js +0 -88
  429. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  430. package/commands/mcp/__tests__/setup.test.js +0 -26
  431. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  432. package/commands/mcp/__tests__/start.test.js +0 -137
  433. package/commands/project/__tests__/add.test.d.ts +0 -1
  434. package/commands/project/__tests__/add.test.js +0 -107
  435. package/commands/project/__tests__/create.test.d.ts +0 -1
  436. package/commands/project/__tests__/create.test.js +0 -97
  437. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  438. package/commands/project/__tests__/deploy.test.js +0 -307
  439. package/commands/project/__tests__/dev.test.d.ts +0 -1
  440. package/commands/project/__tests__/dev.test.js +0 -273
  441. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  442. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  443. package/commands/project/__tests__/download.test.d.ts +0 -1
  444. package/commands/project/__tests__/download.test.js +0 -39
  445. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  446. package/commands/project/__tests__/installDeps.test.js +0 -140
  447. package/commands/project/__tests__/lint.test.d.ts +0 -1
  448. package/commands/project/__tests__/lint.test.js +0 -704
  449. package/commands/project/__tests__/list.test.d.ts +0 -1
  450. package/commands/project/__tests__/list.test.js +0 -31
  451. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  452. package/commands/project/__tests__/listBuilds.test.js +0 -38
  453. package/commands/project/__tests__/logs.test.d.ts +0 -1
  454. package/commands/project/__tests__/logs.test.js +0 -202
  455. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  456. package/commands/project/__tests__/migrate.test.js +0 -106
  457. package/commands/project/__tests__/open.test.d.ts +0 -1
  458. package/commands/project/__tests__/open.test.js +0 -39
  459. package/commands/project/__tests__/profile.test.d.ts +0 -1
  460. package/commands/project/__tests__/profile.test.js +0 -42
  461. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  462. package/commands/project/__tests__/updateDeps.test.js +0 -140
  463. package/commands/project/__tests__/upload.test.d.ts +0 -1
  464. package/commands/project/__tests__/upload.test.js +0 -234
  465. package/commands/project/__tests__/validate.test.d.ts +0 -1
  466. package/commands/project/__tests__/validate.test.js +0 -381
  467. package/commands/project/__tests__/watch.test.d.ts +0 -1
  468. package/commands/project/__tests__/watch.test.js +0 -35
  469. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  470. package/commands/sandbox/__tests__/create.test.js +0 -245
  471. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  472. package/commands/sandbox/__tests__/delete.test.js +0 -31
  473. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  474. package/commands/secret/__tests__/addSecret.test.js +0 -162
  475. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  476. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  477. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  478. package/commands/secret/__tests__/listSecret.test.js +0 -29
  479. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  480. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  481. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  482. package/commands/testAccount/__tests__/create.test.js +0 -106
  483. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  484. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  485. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  486. package/commands/testAccount/__tests__/delete.test.js +0 -29
  487. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  488. package/commands/testAccount/__tests__/importData.test.js +0 -92
  489. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  490. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  491. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  492. package/lib/__tests__/accountAuth.test.js +0 -258
  493. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  494. package/lib/__tests__/accountTypes.test.js +0 -98
  495. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  496. package/lib/__tests__/buildAccount.test.js +0 -262
  497. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  498. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  499. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  500. package/lib/__tests__/commandSuggestion.test.js +0 -119
  501. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  502. package/lib/__tests__/commonOpts.test.js +0 -80
  503. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  504. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  505. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  506. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  507. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  508. package/lib/__tests__/hasFeature.test.js +0 -167
  509. package/lib/__tests__/http.test.d.ts +0 -1
  510. package/lib/__tests__/http.test.js +0 -40
  511. package/lib/__tests__/importData.test.d.ts +0 -1
  512. package/lib/__tests__/importData.test.js +0 -98
  513. package/lib/__tests__/npmCli.test.d.ts +0 -1
  514. package/lib/__tests__/npmCli.test.js +0 -84
  515. package/lib/__tests__/oauth.test.d.ts +0 -1
  516. package/lib/__tests__/oauth.test.js +0 -109
  517. package/lib/__tests__/parsing.test.d.ts +0 -1
  518. package/lib/__tests__/parsing.test.js +0 -34
  519. package/lib/__tests__/polling.test.d.ts +0 -1
  520. package/lib/__tests__/polling.test.js +0 -76
  521. package/lib/__tests__/process.test.d.ts +0 -1
  522. package/lib/__tests__/process.test.js +0 -89
  523. package/lib/__tests__/sandboxSync.test.d.ts +0 -1
  524. package/lib/__tests__/sandboxSync.test.js +0 -147
  525. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  526. package/lib/__tests__/sandboxes.test.js +0 -156
  527. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  528. package/lib/__tests__/serverlessLogs.test.js +0 -148
  529. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  530. package/lib/__tests__/usageTracking.test.js +0 -197
  531. package/lib/__tests__/validation.test.d.ts +0 -1
  532. package/lib/__tests__/validation.test.js +0 -143
  533. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  534. package/lib/__tests__/yargsUtils.test.js +0 -124
  535. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  536. package/lib/app/__tests__/migrate.test.js +0 -638
  537. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  538. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  539. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  540. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  541. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  542. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  543. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  544. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  545. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  546. package/lib/mcp/__tests__/setup.test.js +0 -194
  547. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  548. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  549. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  550. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  551. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  552. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  553. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  554. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  555. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  556. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  557. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  558. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  559. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  560. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  561. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  562. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  563. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  564. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  565. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  566. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  567. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  568. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  569. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  570. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  571. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  572. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  573. package/lib/projects/__tests__/components.test.d.ts +0 -1
  574. package/lib/projects/__tests__/components.test.js +0 -426
  575. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  576. package/lib/projects/__tests__/deploy.test.js +0 -231
  577. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  578. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  579. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  580. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  581. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  582. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  583. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  584. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  585. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  586. package/lib/projects/__tests__/projects.test.js +0 -58
  587. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  588. package/lib/projects/__tests__/structure.test.js +0 -210
  589. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  590. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  591. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  592. package/lib/projects/__tests__/upload.test.js +0 -183
  593. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  594. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  595. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  596. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  597. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  598. package/lib/projects/create/__tests__/legacy.test.js +0 -90
  599. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  600. package/lib/projects/create/__tests__/v2.test.js +0 -257
  601. package/lib/projects/platformVersion.d.ts +0 -9
  602. package/lib/projects/platformVersion.js +0 -39
  603. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  604. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  605. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  606. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  607. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  608. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  609. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  610. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  611. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  612. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  613. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  614. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  615. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  616. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  617. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  618. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  619. package/lib/sandboxSync.d.ts +0 -4
  620. package/lib/sandboxSync.js +0 -102
  621. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  622. package/lib/theme/__tests__/migrate.test.js +0 -256
  623. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  624. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  625. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  626. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  627. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  628. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -255
  629. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  630. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -228
  631. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  632. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -209
  633. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  634. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -187
  635. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  636. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -125
  637. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  638. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -125
  639. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  640. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -158
  641. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  642. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -133
  643. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  644. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -462
  645. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  646. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -126
  647. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  648. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  649. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  650. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  651. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  652. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -178
  653. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  654. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  655. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  656. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  657. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  658. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  659. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  660. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  661. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  662. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  663. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  664. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -179
  665. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  666. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  667. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  668. package/mcp-server/utils/__tests__/command.test.js +0 -45
  669. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  670. package/mcp-server/utils/__tests__/content.test.js +0 -164
  671. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  672. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -124
  673. package/mcp-server/utils/__tests__/project.test.d.ts +0 -1
  674. package/mcp-server/utils/__tests__/project.test.js +0 -140
  675. package/mcp-server/utils/project.d.ts +0 -5
  676. package/mcp-server/utils/project.js +0 -18
@@ -1,278 +0,0 @@
1
- import { logError, debugError, ApiErrorContext, isErrorWithMessageOrReason, getErrorMessage, } from '../index.js';
2
- import { uiLogger } from '../../ui/logger.js';
3
- import { isHubSpotHttpError, isValidationError, } from '@hubspot/local-dev-lib/errors/index';
4
- import { getConfig } from '@hubspot/local-dev-lib/config';
5
- import { shouldSuppressError } from '../suppressError.js';
6
- import { isProjectValidationError } from '../../errors/ProjectValidationError.js';
7
- import { lib } from '../../../lang/en.js';
8
- vi.mock('../../ui/logger.js');
9
- vi.mock('@hubspot/local-dev-lib/errors/index');
10
- vi.mock('@hubspot/local-dev-lib/config');
11
- vi.mock('../suppressError.js');
12
- vi.mock('../../errors/ProjectValidationError.js');
13
- describe('lib/errorHandlers/index', () => {
14
- const uiLoggerErrorMock = uiLogger.error;
15
- const uiLoggerDebugMock = uiLogger.debug;
16
- const isHubSpotHttpErrorMock = isHubSpotHttpError;
17
- const isValidationErrorMock = isValidationError;
18
- const getConfigMock = getConfig;
19
- const shouldSuppressErrorMock = shouldSuppressError;
20
- const isProjectValidationErrorMock = isProjectValidationError;
21
- beforeEach(() => {
22
- vi.clearAllMocks();
23
- isHubSpotHttpErrorMock.mockReturnValue(false);
24
- isValidationErrorMock.mockReturnValue(false);
25
- shouldSuppressErrorMock.mockReturnValue(false);
26
- isProjectValidationErrorMock.mockReturnValue(false);
27
- getConfigMock.mockReturnValue({});
28
- });
29
- describe('logError', () => {
30
- it('logs ProjectValidationError message and returns early', () => {
31
- const error = {
32
- message: 'Project validation failed',
33
- name: 'ProjectValidationError',
34
- };
35
- isProjectValidationErrorMock.mockReturnValue(true);
36
- logError(error);
37
- expect(uiLoggerErrorMock).toHaveBeenCalledWith('Project validation failed');
38
- expect(uiLoggerErrorMock).toHaveBeenCalledTimes(1);
39
- });
40
- it('returns early when error should be suppressed', () => {
41
- const error = new Error('Suppressed error');
42
- shouldSuppressErrorMock.mockReturnValue(true);
43
- logError(error);
44
- expect(shouldSuppressErrorMock).toHaveBeenCalled();
45
- expect(uiLoggerErrorMock).not.toHaveBeenCalled();
46
- });
47
- it('logs validation errors for HubSpotHttpError with validation errors', () => {
48
- const mockError = {
49
- formattedValidationErrors: vi
50
- .fn()
51
- .mockReturnValue('Formatted validation errors'),
52
- updateContext: vi.fn(),
53
- context: {},
54
- };
55
- isHubSpotHttpErrorMock.mockReturnValue(true);
56
- isValidationErrorMock.mockReturnValue(true);
57
- logError(mockError);
58
- expect(mockError.formattedValidationErrors).toHaveBeenCalled();
59
- expect(uiLoggerErrorMock).toHaveBeenCalledWith('Formatted validation errors');
60
- });
61
- it('logs error message for errors with message property', () => {
62
- const error = new Error('Something went wrong');
63
- logError(error);
64
- expect(uiLoggerErrorMock).toHaveBeenCalledWith('Something went wrong');
65
- });
66
- it('logs error with both message and reason', () => {
67
- const error = { message: 'Error message', reason: 'Error reason' };
68
- logError(error);
69
- expect(uiLoggerErrorMock).toHaveBeenCalledWith('Error message Error reason');
70
- });
71
- it('logs unknown error message for errors without message or reason', () => {
72
- const error = { foo: 'bar' };
73
- logError(error);
74
- expect(uiLoggerErrorMock).toHaveBeenCalledWith(lib.errorHandlers.index.unknownErrorOccurred);
75
- });
76
- it('calls updateContext on HubSpotHttpError', () => {
77
- const mockError = {
78
- updateContext: vi.fn(),
79
- context: {},
80
- message: 'test',
81
- };
82
- isHubSpotHttpErrorMock.mockReturnValue(true);
83
- logError(mockError);
84
- expect(mockError.updateContext).toHaveBeenCalled();
85
- });
86
- describe('timeout error handling', () => {
87
- it('shows config timeout message for direct ETIMEDOUT error matching default timeout', () => {
88
- const mockError = {
89
- code: 'ETIMEDOUT',
90
- timeout: 15000,
91
- updateContext: vi.fn(),
92
- context: {},
93
- message: 'Timeout',
94
- };
95
- isHubSpotHttpErrorMock.mockReturnValue(true);
96
- getConfigMock.mockReturnValue({ httpTimeout: 15000 });
97
- logError(mockError);
98
- expect(uiLoggerErrorMock).toHaveBeenCalledTimes(2);
99
- expect(uiLoggerErrorMock).toHaveBeenNthCalledWith(1, 'Timeout');
100
- expect(uiLoggerErrorMock).toHaveBeenNthCalledWith(2, lib.errorHandlers.index.configTimeoutErrorOccurred(15000, 'hs config set'));
101
- });
102
- it('shows generic timeout message for direct ETIMEDOUT error with custom timeout', () => {
103
- const mockError = {
104
- code: 'ETIMEDOUT',
105
- timeout: 30000,
106
- updateContext: vi.fn(),
107
- context: {},
108
- message: 'Timeout',
109
- };
110
- isHubSpotHttpErrorMock.mockReturnValue(true);
111
- getConfigMock.mockReturnValue({ httpTimeout: 15000 });
112
- logError(mockError);
113
- expect(uiLoggerErrorMock).toHaveBeenCalledTimes(2);
114
- expect(uiLoggerErrorMock).toHaveBeenNthCalledWith(2, lib.errorHandlers.index.genericTimeoutErrorOccurred);
115
- });
116
- it('detects timeout error wrapped in error.cause', () => {
117
- const causeError = {
118
- code: 'ETIMEDOUT',
119
- timeout: 15000,
120
- name: 'HubSpotHttpError',
121
- };
122
- const wrapperError = new Error('Assets unavailable');
123
- Object.defineProperty(wrapperError, 'cause', {
124
- value: causeError,
125
- writable: true,
126
- });
127
- isHubSpotHttpErrorMock.mockImplementation(err => {
128
- return err === causeError;
129
- });
130
- getConfigMock.mockReturnValue({ httpTimeout: 15000 });
131
- logError(wrapperError);
132
- expect(uiLoggerErrorMock).toHaveBeenCalledWith('Assets unavailable');
133
- expect(uiLoggerErrorMock).toHaveBeenCalledWith(lib.errorHandlers.index.configTimeoutErrorOccurred(15000, 'hs config set'));
134
- });
135
- it('shows generic timeout message for wrapped timeout with different timeout value', () => {
136
- const causeError = {
137
- code: 'ETIMEDOUT',
138
- timeout: 60000,
139
- name: 'HubSpotHttpError',
140
- };
141
- const wrapperError = new Error('Assets unavailable');
142
- Object.defineProperty(wrapperError, 'cause', {
143
- value: causeError,
144
- writable: true,
145
- });
146
- isHubSpotHttpErrorMock.mockImplementation(err => {
147
- return err === causeError;
148
- });
149
- getConfigMock.mockReturnValue({ httpTimeout: 15000 });
150
- logError(wrapperError);
151
- expect(uiLoggerErrorMock).toHaveBeenCalledTimes(2);
152
- expect(uiLoggerErrorMock).toHaveBeenNthCalledWith(2, lib.errorHandlers.index.genericTimeoutErrorOccurred);
153
- });
154
- it('does not show timeout message for non-timeout errors', () => {
155
- const error = new Error('Regular error');
156
- logError(error);
157
- expect(uiLoggerErrorMock).toHaveBeenCalledTimes(1);
158
- expect(uiLoggerErrorMock).toHaveBeenCalledWith('Regular error');
159
- });
160
- });
161
- });
162
- describe('debugError', () => {
163
- it('logs HubSpotHttpError using toString', () => {
164
- const mockError = {
165
- toString: vi.fn().mockReturnValue('HubSpotHttpError details'),
166
- };
167
- isHubSpotHttpErrorMock.mockReturnValue(true);
168
- debugError(mockError);
169
- expect(uiLoggerDebugMock).toHaveBeenCalledWith('HubSpotHttpError details');
170
- });
171
- it('logs regular error using lib.errorHandlers.index.errorOccurred', () => {
172
- const error = new Error('Regular error');
173
- debugError(error);
174
- expect(uiLoggerDebugMock).toHaveBeenCalledWith(lib.errorHandlers.index.errorOccurred('Error: Regular error'));
175
- });
176
- it('logs error.cause when it is a HubSpotHttpError', () => {
177
- const causeError = {
178
- toString: vi.fn().mockReturnValue('Cause error details'),
179
- };
180
- const error = new Error('Wrapper error');
181
- Object.defineProperty(error, 'cause', {
182
- value: causeError,
183
- writable: true,
184
- });
185
- isHubSpotHttpErrorMock.mockImplementation(err => {
186
- return err === causeError;
187
- });
188
- debugError(error);
189
- expect(causeError.toString).toHaveBeenCalled();
190
- expect(uiLoggerDebugMock).toHaveBeenCalledWith('Cause error details');
191
- });
192
- it('logs error.cause using lib.errorHandlers.index.errorCause when not a HubSpotHttpError', () => {
193
- const causeError = { customField: 'value' };
194
- const error = new Error('Wrapper error');
195
- Object.defineProperty(error, 'cause', {
196
- value: causeError,
197
- writable: true,
198
- });
199
- debugError(error);
200
- expect(uiLoggerDebugMock).toHaveBeenCalledWith(expect.stringMatching(/^Cause:/));
201
- });
202
- it('logs context using lib.errorHandlers.index.errorContext when provided', () => {
203
- const error = new Error('Error');
204
- const context = new ApiErrorContext({
205
- accountId: 123,
206
- request: '/api/test',
207
- });
208
- debugError(error, context);
209
- expect(uiLoggerDebugMock).toHaveBeenCalledWith(expect.stringMatching(/^Context:/));
210
- });
211
- });
212
- describe('ApiErrorContext', () => {
213
- it('creates context with all properties', () => {
214
- const context = new ApiErrorContext({
215
- accountId: 123,
216
- request: '/api/test',
217
- payload: '{"data": "value"}',
218
- projectName: 'my-project',
219
- });
220
- expect(context.accountId).toBe(123);
221
- expect(context.request).toBe('/api/test');
222
- expect(context.payload).toBe('{"data": "value"}');
223
- expect(context.projectName).toBe('my-project');
224
- });
225
- it('creates context with default values', () => {
226
- const context = new ApiErrorContext();
227
- expect(context.accountId).toBeUndefined();
228
- expect(context.request).toBe('');
229
- expect(context.payload).toBe('');
230
- expect(context.projectName).toBe('');
231
- });
232
- it('creates context with partial properties', () => {
233
- const context = new ApiErrorContext({
234
- accountId: 456,
235
- });
236
- expect(context.accountId).toBe(456);
237
- expect(context.request).toBe('');
238
- expect(context.payload).toBe('');
239
- expect(context.projectName).toBe('');
240
- });
241
- });
242
- describe('isErrorWithMessageOrReason', () => {
243
- it('returns true for object with message property', () => {
244
- expect(isErrorWithMessageOrReason({ message: 'test' })).toBe(true);
245
- });
246
- it('returns true for object with reason property', () => {
247
- expect(isErrorWithMessageOrReason({ reason: 'test' })).toBe(true);
248
- });
249
- it('returns true for object with both message and reason', () => {
250
- expect(isErrorWithMessageOrReason({ message: 'msg', reason: 'rsn' })).toBe(true);
251
- });
252
- it('returns true for Error instances', () => {
253
- expect(isErrorWithMessageOrReason(new Error('test'))).toBe(true);
254
- });
255
- it('returns false for null', () => {
256
- expect(isErrorWithMessageOrReason(null)).toBe(false);
257
- });
258
- it('returns false for undefined', () => {
259
- expect(isErrorWithMessageOrReason(undefined)).toBe(false);
260
- });
261
- it('returns false for primitive values', () => {
262
- expect(isErrorWithMessageOrReason('string')).toBe(false);
263
- expect(isErrorWithMessageOrReason(123)).toBe(false);
264
- expect(isErrorWithMessageOrReason(true)).toBe(false);
265
- });
266
- it('returns false for object without message or reason', () => {
267
- expect(isErrorWithMessageOrReason({ foo: 'bar' })).toBe(false);
268
- });
269
- it('returns false for empty object', () => {
270
- expect(isErrorWithMessageOrReason({})).toBe(false);
271
- });
272
- });
273
- describe('getErrorMessage', () => {
274
- it('returns message from Error instance', () => {
275
- expect(getErrorMessage(new Error('Error message'))).toBe('Error message');
276
- });
277
- });
278
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,194 +0,0 @@
1
- import { execAsync } from '../../../mcp-server/utils/command.js';
2
- import { setupCodex, setupGemini, supportedTools } from '../setup.js';
3
- import SpinniesManager from '../../ui/SpinniesManager.js';
4
- import { logError } from '../../errorHandlers/index.js';
5
- import { commands } from '../../../lang/en.js';
6
- // Mock dependencies
7
- vi.mock('../../../mcp-server/utils/command.js');
8
- vi.mock('../../ui/SpinniesManager.js');
9
- vi.mock('../../errorHandlers/index.js');
10
- vi.mock('../../../lang/en.js', () => ({
11
- commands: {
12
- mcp: {
13
- setup: {
14
- codex: 'Codex CLI',
15
- claudeCode: 'Claude Code',
16
- cursor: 'Cursor',
17
- gemini: 'Gemini CLI',
18
- vsCode: 'VS Code',
19
- windsurf: 'Windsurf',
20
- success: vi.fn(targets => `Success message for ${targets.join(', ')}`),
21
- spinners: {
22
- configuringCodex: 'Configuring Codex...',
23
- configuredCodex: 'Configured Codex',
24
- codexNotFound: 'Codex command not found - skipping configuration',
25
- codexInstallFailed: 'Failed to configure Codex',
26
- configuringGemini: 'Configuring Gemini CLI...',
27
- configuredGemini: 'Configured Gemini CLI',
28
- geminiNotFound: 'Gemini CLI not found - skipping configuration',
29
- geminiInstallFailed: 'Failed to configure Gemini CLI',
30
- },
31
- },
32
- },
33
- },
34
- }));
35
- const mockedExecAsync = vi.mocked(execAsync);
36
- const mockedSpinniesManager = vi.mocked(SpinniesManager);
37
- const mockedLogError = vi.mocked(logError);
38
- describe('lib/mcp/setup', () => {
39
- beforeEach(() => {
40
- vi.resetAllMocks();
41
- });
42
- describe('supportedTools', () => {
43
- it('should include Codex in the supported tools list', () => {
44
- const codexTool = supportedTools.find(tool => tool.value === 'codex');
45
- expect(codexTool).toBeDefined();
46
- expect(codexTool?.name).toBe(commands.mcp.setup.codex);
47
- expect(codexTool?.value).toBe('codex');
48
- });
49
- it('should have Codex as the first tool in the list', () => {
50
- expect(supportedTools[0].value).toBe('codex');
51
- });
52
- it('should contain all expected tools', () => {
53
- const toolValues = supportedTools.map(tool => tool.value);
54
- expect(toolValues).toContain('codex');
55
- expect(toolValues).toContain('claude');
56
- expect(toolValues).toContain('cursor');
57
- expect(toolValues).toContain('gemini');
58
- expect(toolValues).toContain('vscode');
59
- expect(toolValues).toContain('windsurf');
60
- });
61
- it('should include Gemini in the supported tools list', () => {
62
- const geminiTool = supportedTools.find(tool => tool.value === 'gemini');
63
- expect(geminiTool).toBeDefined();
64
- expect(geminiTool?.name).toBe(commands.mcp.setup.gemini);
65
- expect(geminiTool?.value).toBe('gemini');
66
- });
67
- });
68
- describe('setupCodex', () => {
69
- const mockMcpCommand = {
70
- command: 'test-command',
71
- args: ['--arg1', '--arg2'],
72
- };
73
- it('should successfully configure Codex when command is available', async () => {
74
- mockedExecAsync.mockResolvedValueOnce({
75
- stdout: 'codex version 1.0.0',
76
- stderr: '',
77
- }); // version check
78
- mockedExecAsync.mockResolvedValueOnce({ stdout: '', stderr: '' }); // mcp add command
79
- const result = await setupCodex(mockMcpCommand);
80
- expect(result).toBe(true);
81
- expect(mockedSpinniesManager.add).toHaveBeenCalledWith('codexSpinner', {
82
- text: commands.mcp.setup.spinners.configuringCodex,
83
- });
84
- expect(mockedExecAsync).toHaveBeenCalledWith('codex --version');
85
- expect(mockedExecAsync).toHaveBeenCalledWith('codex mcp add "HubSpotDev" -- test-command --arg1 --arg2 --ai-agent codex');
86
- expect(mockedSpinniesManager.succeed).toHaveBeenCalledWith('codexSpinner', {
87
- text: commands.mcp.setup.spinners.configuredCodex,
88
- });
89
- });
90
- it('should use default mcp command when none provided', async () => {
91
- mockedExecAsync.mockResolvedValueOnce({
92
- stdout: 'codex version 1.0.0',
93
- stderr: '',
94
- }); // version check
95
- mockedExecAsync.mockResolvedValueOnce({ stdout: '', stderr: '' }); // mcp add command
96
- const result = await setupCodex();
97
- expect(result).toBe(true);
98
- expect(mockedExecAsync).toHaveBeenCalledWith('codex mcp add "HubSpotDev" -- hs mcp start --ai-agent codex');
99
- });
100
- it('should handle codex command not found', async () => {
101
- const error = new Error('Command not found: codex');
102
- mockedExecAsync.mockRejectedValueOnce(error);
103
- const result = await setupCodex(mockMcpCommand);
104
- expect(result).toBe(false);
105
- expect(mockedSpinniesManager.fail).toHaveBeenCalledWith('codexSpinner', {
106
- text: commands.mcp.setup.spinners.codexNotFound,
107
- });
108
- });
109
- it('should handle codex installation failure', async () => {
110
- const error = new Error('Some other error');
111
- mockedExecAsync.mockResolvedValueOnce({
112
- stdout: 'codex version 1.0.0',
113
- stderr: '',
114
- }); // version check passes
115
- mockedExecAsync.mockRejectedValueOnce(error); // mcp add fails
116
- const result = await setupCodex(mockMcpCommand);
117
- expect(result).toBe(false);
118
- expect(mockedSpinniesManager.fail).toHaveBeenCalledWith('codexSpinner', {
119
- text: commands.mcp.setup.spinners.codexInstallFailed,
120
- });
121
- expect(mockedLogError).toHaveBeenCalledWith(error);
122
- });
123
- it('should handle unexpected errors during spinner setup', async () => {
124
- const error = new Error('Unexpected error');
125
- mockedSpinniesManager.add.mockImplementationOnce(() => {
126
- throw error;
127
- });
128
- const result = await setupCodex(mockMcpCommand);
129
- expect(result).toBe(false);
130
- expect(mockedSpinniesManager.fail).toHaveBeenCalledWith('codexSpinner', {
131
- text: commands.mcp.setup.spinners.codexInstallFailed,
132
- });
133
- expect(mockedLogError).toHaveBeenCalledWith(error);
134
- });
135
- });
136
- describe('setupGemini', () => {
137
- const mockMcpCommand = {
138
- command: 'test-command',
139
- args: ['--arg1', '--arg2'],
140
- };
141
- it('should successfully configure Gemini CLI when command is available', async () => {
142
- mockedExecAsync.mockResolvedValueOnce({
143
- stdout: 'gemini version 1.0.0',
144
- stderr: '',
145
- });
146
- mockedExecAsync.mockResolvedValueOnce({ stdout: '', stderr: '' });
147
- const result = await setupGemini(mockMcpCommand);
148
- expect(result).toBe(true);
149
- expect(mockedSpinniesManager.add).toHaveBeenCalledWith('geminiSpinner', {
150
- text: commands.mcp.setup.spinners.configuringGemini,
151
- });
152
- expect(mockedExecAsync).toHaveBeenCalledWith('gemini --version');
153
- expect(mockedExecAsync).toHaveBeenCalledWith('gemini mcp add -s user "HubSpotDev" test-command --arg1 --arg2 --ai-agent gemini');
154
- expect(mockedSpinniesManager.succeed).toHaveBeenCalledWith('geminiSpinner', {
155
- text: commands.mcp.setup.spinners.configuredGemini,
156
- });
157
- });
158
- it('should use default mcp command when none provided', async () => {
159
- mockedExecAsync.mockResolvedValueOnce({
160
- stdout: 'gemini version 1.0.0',
161
- stderr: '',
162
- });
163
- mockedExecAsync.mockResolvedValueOnce({ stdout: '', stderr: '' });
164
- const result = await setupGemini();
165
- expect(result).toBe(true);
166
- expect(mockedExecAsync).toHaveBeenCalledWith('gemini mcp add -s user "HubSpotDev" hs mcp start --ai-agent gemini');
167
- });
168
- it('should handle gemini command not found', async () => {
169
- const error = new Error('Command not found: gemini');
170
- mockedExecAsync.mockRejectedValueOnce(error);
171
- const result = await setupGemini(mockMcpCommand);
172
- expect(result).toBe(false);
173
- expect(mockedSpinniesManager.fail).toHaveBeenCalledWith('geminiSpinner', {
174
- text: commands.mcp.setup.spinners.geminiNotFound,
175
- });
176
- });
177
- it('should handle gemini installation failure', async () => {
178
- const error = new Error('Some other error');
179
- mockedExecAsync.mockResolvedValueOnce({
180
- stdout: 'gemini version 1.0.0',
181
- stderr: '',
182
- });
183
- mockedExecAsync.mockRejectedValueOnce(error);
184
- const result = await setupGemini(mockMcpCommand);
185
- expect(result).toBe(false);
186
- expect(mockedSpinniesManager.fail).toHaveBeenCalledWith('geminiSpinner', {
187
- text: commands.mcp.setup.spinners.geminiInstallFailed,
188
- });
189
- expect(mockedLogError).toHaveBeenCalledWith(error);
190
- });
191
- });
192
- // Note: addMcpServerToConfig integration tests would require mocking many dependencies
193
- // and complex setup. The setupCodex function tests above cover the new functionality.
194
- });
@@ -1,99 +0,0 @@
1
- import * as cliConfig from '@hubspot/local-dev-lib/config';
2
- import { isTargetedCommand, shouldLoadConfigForCommand, shouldRunAccountValidationForCommand, shouldRunConfigValidationForCommand, } from '../commandTargetingUtils.js';
3
- vi.mock('@hubspot/local-dev-lib/config');
4
- const globalConfigFileExistsSpy = vi.spyOn(cliConfig, 'globalConfigFileExists');
5
- const targetCommandMap = {
6
- init: true,
7
- account: {
8
- use: true,
9
- },
10
- project: {
11
- deploy: true,
12
- },
13
- };
14
- describe('lib/middleware/commandTargetingUtils', () => {
15
- describe('isTargetedCommand()', () => {
16
- it('should return true for a direct target command', () => {
17
- const result = isTargetedCommand(['init'], targetCommandMap);
18
- expect(result).toBe(true);
19
- });
20
- it('should return false for a command with a subcommand', () => {
21
- const result = isTargetedCommand(['account'], targetCommandMap);
22
- expect(result).toBe(false);
23
- });
24
- it('should return true for a nested target command', () => {
25
- const result = isTargetedCommand(['project', 'deploy'], targetCommandMap);
26
- expect(result).toBe(true);
27
- });
28
- it('should return false for a non-existent command', () => {
29
- const result = isTargetedCommand(['nonexistent'], targetCommandMap);
30
- expect(result).toBe(false);
31
- });
32
- it('should return false for a non-targeted command', () => {
33
- const result = isTargetedCommand(['auth'], targetCommandMap);
34
- expect(result).toBe(false);
35
- });
36
- it('should return false for a command with a targeted subcommand', () => {
37
- const result = isTargetedCommand(['project'], targetCommandMap);
38
- expect(result).toBe(false);
39
- });
40
- it('should return false for a non-existent subcommand', () => {
41
- const result = isTargetedCommand(['auth', 'nonexistent'], targetCommandMap);
42
- expect(result).toBe(false);
43
- });
44
- it('should return false for an empty command array', () => {
45
- const result = isTargetedCommand([], targetCommandMap);
46
- expect(result).toBe(false);
47
- });
48
- });
49
- describe('shouldLoadConfigForCommand()', () => {
50
- it('should return true for a command that requires a config file', () => {
51
- const result = shouldLoadConfigForCommand(['account', 'use']);
52
- expect(result).toBe(true);
53
- });
54
- it('should return false for a command that does not require a config file', () => {
55
- const result = shouldLoadConfigForCommand(['init']);
56
- expect(result).toBe(false);
57
- });
58
- it('should return false when the user is trying to migrate the global config', () => {
59
- globalConfigFileExistsSpy.mockReturnValue(false);
60
- const result = shouldLoadConfigForCommand(['config', 'migrate']);
61
- expect(result).toBe(false);
62
- });
63
- it('should return true when the global config file does exist', () => {
64
- globalConfigFileExistsSpy.mockReturnValue(true);
65
- const result = shouldLoadConfigForCommand(['account', 'use']);
66
- expect(result).toBe(true);
67
- });
68
- });
69
- describe('shouldRunAccountValidationForCommand()', () => {
70
- it('should return true for a command that requires a config file', () => {
71
- const result = shouldRunAccountValidationForCommand([
72
- 'project',
73
- 'upload',
74
- ]);
75
- expect(result).toBe(true);
76
- });
77
- it('should return false for a command that does not require account validation', () => {
78
- const result1 = shouldRunAccountValidationForCommand(['init']);
79
- const result2 = shouldRunAccountValidationForCommand(['auth']);
80
- const result3 = shouldRunAccountValidationForCommand([
81
- 'accounts',
82
- 'list',
83
- ]);
84
- expect(result1).toBe(false);
85
- expect(result2).toBe(false);
86
- expect(result3).toBe(false);
87
- });
88
- });
89
- describe('shouldRunConfigValidationForCommand()', () => {
90
- it('should return true for a command that requires a config file', () => {
91
- const result = shouldRunConfigValidationForCommand(['account', 'use']);
92
- expect(result).toBe(true);
93
- });
94
- it('should return false for a command that does not require config validation', () => {
95
- const result = shouldRunConfigValidationForCommand(['init']);
96
- expect(result).toBe(false);
97
- });
98
- });
99
- });
@@ -1 +0,0 @@
1
- export {};