@hubspot/cli 8.1.0 → 8.1.2-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 (681) hide show
  1. package/api/migrate.js +8 -4
  2. package/api/releases.d.ts +36 -0
  3. package/api/releases.js +41 -0
  4. package/bin/cli.js +12 -6
  5. package/commands/account/auth.js +7 -7
  6. package/commands/account/clean.js +7 -6
  7. package/commands/account/createOverride.js +10 -7
  8. package/commands/account/info.js +36 -17
  9. package/commands/account/link.d.ts +4 -0
  10. package/commands/account/link.js +89 -0
  11. package/commands/account/list.js +32 -76
  12. package/commands/account/remove.js +4 -3
  13. package/commands/account/removeOverride.js +11 -10
  14. package/commands/account/rename.js +5 -6
  15. package/commands/account/unlink.d.ts +4 -0
  16. package/commands/account/unlink.js +70 -0
  17. package/commands/account/use.js +75 -6
  18. package/commands/account.js +4 -0
  19. package/commands/api.d.ts +10 -0
  20. package/commands/api.js +164 -0
  21. package/commands/app/migrate.js +13 -13
  22. package/commands/app/secret/add.js +6 -7
  23. package/commands/app/secret/delete.js +9 -10
  24. package/commands/app/secret/list.js +6 -7
  25. package/commands/app/secret/update.js +8 -9
  26. package/commands/auth.js +19 -15
  27. package/commands/cms/app/create.js +9 -5
  28. package/commands/cms/convertFields.js +8 -8
  29. package/commands/cms/delete.js +2 -3
  30. package/commands/cms/fetch.js +7 -7
  31. package/commands/cms/function/create.js +9 -5
  32. package/commands/cms/function/deploy.js +2 -3
  33. package/commands/cms/function/list.js +11 -7
  34. package/commands/cms/function/logs.js +17 -22
  35. package/commands/cms/function/server.js +2 -3
  36. package/commands/cms/getReactModule.js +7 -8
  37. package/commands/cms/lighthouseScore.js +25 -24
  38. package/commands/cms/lint.js +4 -5
  39. package/commands/cms/list.js +5 -6
  40. package/commands/cms/module/create.js +14 -5
  41. package/commands/cms/module/marketplace-validate.js +7 -8
  42. package/commands/cms/mv.js +2 -3
  43. package/commands/cms/template/create.js +10 -6
  44. package/commands/cms/theme/create.js +5 -5
  45. package/commands/cms/theme/generate-selectors.js +5 -4
  46. package/commands/cms/theme/marketplace-validate.js +8 -9
  47. package/commands/cms/theme/preview.js +23 -70
  48. package/commands/cms/upload.js +15 -12
  49. package/commands/cms/watch.d.ts +0 -1
  50. package/commands/cms/watch.js +6 -12
  51. package/commands/cms/webpack/create.js +5 -5
  52. package/commands/completion.js +3 -5
  53. package/commands/config/migrate.js +6 -7
  54. package/commands/config/set.js +5 -6
  55. package/commands/customObject/create.js +4 -5
  56. package/commands/customObject/createSchema.js +4 -5
  57. package/commands/customObject/deleteSchema.js +4 -5
  58. package/commands/customObject/fetchAllSchemas.js +2 -3
  59. package/commands/customObject/fetchSchema.js +2 -3
  60. package/commands/customObject/listSchemas.js +2 -3
  61. package/commands/customObject/updateSchema.js +4 -5
  62. package/commands/doctor.js +8 -8
  63. package/commands/feedback.js +7 -5
  64. package/commands/filemanager/fetch.js +5 -6
  65. package/commands/filemanager/upload.js +5 -5
  66. package/commands/getStarted.js +17 -19
  67. package/commands/hubdb/clear.js +6 -3
  68. package/commands/hubdb/create.js +4 -5
  69. package/commands/hubdb/delete.js +9 -6
  70. package/commands/hubdb/fetch.js +6 -3
  71. package/commands/hubdb/list.js +16 -14
  72. package/commands/init.js +15 -14
  73. package/commands/mcp/setup.js +5 -14
  74. package/commands/mcp/start.js +2 -4
  75. package/commands/open.js +4 -5
  76. package/commands/project/add.js +13 -8
  77. package/commands/project/appInstallStatus.d.ts +4 -0
  78. package/commands/project/appInstallStatus.js +132 -0
  79. package/commands/project/create.js +28 -17
  80. package/commands/project/delete.d.ts +7 -0
  81. package/commands/project/delete.js +74 -0
  82. package/commands/project/deploy.js +39 -36
  83. package/commands/project/dev/deprecatedFlow.js +62 -17
  84. package/commands/project/dev/index.d.ts +3 -3
  85. package/commands/project/dev/index.js +59 -48
  86. package/commands/project/dev/unifiedFlow.js +70 -21
  87. package/commands/project/download.js +12 -9
  88. package/commands/project/info.d.ts +4 -0
  89. package/commands/project/info.js +67 -0
  90. package/commands/project/installDeps.js +9 -6
  91. package/commands/project/lint.js +33 -10
  92. package/commands/project/list.d.ts +2 -2
  93. package/commands/project/list.js +15 -14
  94. package/commands/project/listBuilds.js +8 -6
  95. package/commands/project/logs.js +5 -6
  96. package/commands/project/migrate.js +18 -18
  97. package/commands/project/open.js +5 -6
  98. package/commands/project/profile/add.js +12 -8
  99. package/commands/project/profile/delete.js +15 -11
  100. package/commands/project/updateDeps.js +9 -6
  101. package/commands/project/upload.d.ts +3 -0
  102. package/commands/project/upload.js +98 -25
  103. package/commands/project/validate.js +12 -12
  104. package/commands/project/watch.js +32 -19
  105. package/commands/project.js +12 -3
  106. package/commands/sandbox/create.js +18 -45
  107. package/commands/sandbox/delete.js +13 -14
  108. package/commands/secret/addSecret.js +6 -7
  109. package/commands/secret/deleteSecret.js +5 -6
  110. package/commands/secret/listSecret.js +2 -3
  111. package/commands/secret/updateSecret.js +4 -5
  112. package/commands/testAccount/create.d.ts +1 -1
  113. package/commands/testAccount/create.js +25 -17
  114. package/commands/testAccount/createConfig.js +7 -8
  115. package/commands/testAccount/delete.js +27 -18
  116. package/commands/testAccount/importData.js +6 -7
  117. package/commands/upgrade.js +9 -10
  118. package/lang/en.d.ts +276 -14
  119. package/lang/en.js +293 -28
  120. package/lib/accountAuth.js +4 -0
  121. package/lib/api/usageTracking.d.ts +29 -0
  122. package/lib/api/usageTracking.js +28 -0
  123. package/lib/app/migrate.js +18 -5
  124. package/lib/buildAccount.d.ts +1 -6
  125. package/lib/buildAccount.js +9 -42
  126. package/lib/commandSuggestion.js +1 -7
  127. package/lib/constants.d.ts +3 -4
  128. package/lib/constants.js +5 -4
  129. package/lib/doctor/Diagnosis.js +5 -5
  130. package/lib/doctor/Doctor.js +7 -7
  131. package/lib/errorHandlers/index.js +4 -3
  132. package/lib/errorHandlers/suppressError.js +4 -0
  133. package/lib/errors/PromptExitError.d.ts +6 -0
  134. package/lib/errors/PromptExitError.js +11 -0
  135. package/lib/generateSelectors.js +1 -2
  136. package/lib/getStartedV2Actions.d.ts +13 -0
  137. package/lib/getStartedV2Actions.js +56 -3
  138. package/lib/hasFeature.js +1 -2
  139. package/lib/link/accountTableUtils.d.ts +10 -0
  140. package/lib/link/accountTableUtils.js +39 -0
  141. package/lib/link/index.d.ts +18 -0
  142. package/lib/link/index.js +185 -0
  143. package/lib/link/linkUtils.d.ts +5 -0
  144. package/lib/link/linkUtils.js +49 -0
  145. package/lib/link/prompts.d.ts +7 -0
  146. package/lib/link/prompts.js +126 -0
  147. package/lib/link/renderLinkedAccountsTable.d.ts +2 -0
  148. package/lib/link/renderLinkedAccountsTable.js +14 -0
  149. package/lib/link/warnIfLinkedDirectory.d.ts +1 -0
  150. package/lib/link/warnIfLinkedDirectory.js +9 -0
  151. package/lib/mcp/setup.d.ts +1 -0
  152. package/lib/mcp/setup.js +77 -30
  153. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  154. package/lib/process.d.ts +1 -1
  155. package/lib/process.js +10 -3
  156. package/lib/projects/ProjectLogsManager.js +6 -3
  157. package/lib/projects/components.js +15 -4
  158. package/lib/projects/create/index.js +3 -6
  159. package/lib/projects/create/legacy.js +5 -10
  160. package/lib/projects/create/v2.js +5 -14
  161. package/lib/projects/delete.d.ts +13 -0
  162. package/lib/projects/delete.js +193 -0
  163. package/lib/projects/deploy.d.ts +1 -1
  164. package/lib/projects/deploy.js +2 -2
  165. package/lib/projects/ensureProjectExists.js +1 -2
  166. package/lib/projects/localDev/AppDevModeInterface.js +13 -9
  167. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +4 -1
  168. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +3 -3
  169. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  170. package/lib/projects/localDev/DevSessionManager.js +31 -19
  171. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +5 -0
  172. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +21 -10
  173. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  174. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  175. package/lib/projects/localDev/LocalDevState.js +3 -1
  176. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  177. package/lib/projects/localDev/helpers/account.js +21 -30
  178. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  179. package/lib/projects/localDev/helpers/process.js +4 -10
  180. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  181. package/lib/projects/localDev/helpers/project.js +32 -16
  182. package/lib/projects/npmAuditOnUpload.d.ts +10 -0
  183. package/lib/projects/npmAuditOnUpload.js +73 -0
  184. package/lib/projects/pollProjectBuildAndDeploy.d.ts +5 -1
  185. package/lib/projects/pollProjectBuildAndDeploy.js +93 -87
  186. package/lib/projects/preview.d.ts +7 -0
  187. package/lib/projects/preview.js +48 -0
  188. package/lib/projects/projectInfo.d.ts +5 -0
  189. package/lib/projects/projectInfo.js +82 -0
  190. package/lib/projects/projectProfiles.d.ts +1 -2
  191. package/lib/projects/projectProfiles.js +5 -17
  192. package/lib/projects/uieLinting.d.ts +17 -3
  193. package/lib/projects/uieLinting.js +93 -28
  194. package/lib/projects/upload.d.ts +4 -1
  195. package/lib/projects/upload.js +71 -50
  196. package/lib/projects/watch.d.ts +2 -1
  197. package/lib/projects/watch.js +32 -24
  198. package/lib/projects/workspaces.d.ts +52 -0
  199. package/lib/projects/workspaces.js +365 -0
  200. package/lib/prompts/createApiSamplePrompt.js +4 -0
  201. package/lib/prompts/downloadProjectPrompt.js +11 -10
  202. package/lib/prompts/installAppPrompt.js +3 -2
  203. package/lib/prompts/personalAccessKeyPrompt.js +3 -2
  204. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
  205. package/lib/prompts/projectDevTargetAccountPrompt.js +23 -16
  206. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  207. package/lib/prompts/projectProfilePrompt.js +46 -0
  208. package/lib/prompts/projectsLogsPrompt.js +3 -0
  209. package/lib/prompts/promptUtils.js +4 -2
  210. package/lib/prompts/selectHubDBTablePrompt.js +8 -4
  211. package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
  212. package/lib/sandboxes.d.ts +1 -9
  213. package/lib/sandboxes.js +0 -21
  214. package/lib/serverlessLogs.js +50 -44
  215. package/lib/theme/cmsDevServerProcess.d.ts +14 -0
  216. package/lib/theme/cmsDevServerProcess.js +149 -0
  217. package/lib/theme/cmsDevServerRunner.d.ts +14 -0
  218. package/lib/theme/cmsDevServerRunner.js +90 -0
  219. package/lib/theme/migrate.d.ts +1 -1
  220. package/lib/theme/migrate.js +1 -5
  221. package/lib/ui/SpinniesManager.d.ts +1 -0
  222. package/lib/ui/SpinniesManager.js +22 -6
  223. package/lib/ui/accountTable.d.ts +8 -0
  224. package/lib/ui/accountTable.js +67 -0
  225. package/lib/ui/spinniesUtils.d.ts +0 -1
  226. package/lib/ui/spinniesUtils.js +6 -16
  227. package/lib/usageTracking.d.ts +9 -20
  228. package/lib/usageTracking.js +51 -34
  229. package/lib/yargs/makeWrappedYargsHandler.d.ts +3 -0
  230. package/lib/yargs/makeWrappedYargsHandler.js +121 -0
  231. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  232. package/lib/yargs/makeYargsBuilder.js +33 -0
  233. package/lib/yargs/parseYargsOrExit.d.ts +4 -0
  234. package/lib/yargs/parseYargsOrExit.js +25 -0
  235. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  236. package/lib/yargs/strictEnforceBoolean.js +13 -0
  237. package/lib/yargsUtils.d.ts +3 -16
  238. package/lib/yargsUtils.js +3 -48
  239. package/mcp-server/Tool.d.ts +15 -0
  240. package/mcp-server/Tool.js +53 -0
  241. package/mcp-server/server.js +43 -3
  242. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  243. package/mcp-server/tools/cms/HsCreateFunctionTool.js +11 -9
  244. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  245. package/mcp-server/tools/cms/HsCreateModuleTool.js +12 -11
  246. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +4 -2
  247. package/mcp-server/tools/cms/HsCreateTemplateTool.js +11 -9
  248. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  249. package/mcp-server/tools/cms/HsFunctionLogsTool.js +10 -9
  250. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  251. package/mcp-server/tools/cms/HsListFunctionsTool.js +10 -9
  252. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  253. package/mcp-server/tools/cms/HsListTool.js +11 -9
  254. package/mcp-server/tools/index.d.ts +3 -2
  255. package/mcp-server/tools/index.js +24 -22
  256. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +25 -5
  257. package/mcp-server/tools/project/AddFeatureToProjectTool.js +16 -18
  258. package/mcp-server/tools/project/CreateProjectTool.d.ts +29 -6
  259. package/mcp-server/tools/project/CreateProjectTool.js +16 -18
  260. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  261. package/mcp-server/tools/project/CreateTestAccountTool.js +22 -10
  262. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  263. package/mcp-server/tools/project/DeployProjectTool.js +6 -8
  264. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  265. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  266. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  267. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  268. package/mcp-server/tools/project/FindProjectsTool.d.ts +15 -0
  269. package/mcp-server/tools/project/FindProjectsTool.js +60 -0
  270. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  271. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +13 -14
  272. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  273. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  274. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +6 -4
  275. package/mcp-server/tools/project/GetBuildLogsTool.js +15 -14
  276. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +5 -3
  277. package/mcp-server/tools/project/GetBuildStatusTool.js +12 -11
  278. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  279. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  280. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +10 -3
  281. package/mcp-server/tools/project/GuidedWalkthroughTool.js +5 -12
  282. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  283. package/mcp-server/tools/project/UploadProjectTools.js +11 -9
  284. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  285. package/mcp-server/tools/project/ValidateProjectTool.js +10 -8
  286. package/mcp-server/tools/project/constants.d.ts +13 -1
  287. package/mcp-server/tools/project/constants.js +13 -16
  288. package/mcp-server/types.d.ts +0 -7
  289. package/mcp-server/types.js +1 -13
  290. package/mcp-server/utils/command.d.ts +5 -0
  291. package/mcp-server/utils/command.js +24 -0
  292. package/mcp-server/utils/feedbackTracking.js +2 -17
  293. package/mcp-server/utils/logger.d.ts +10 -0
  294. package/mcp-server/utils/logger.js +29 -0
  295. package/mcp-server/utils/toolUsageTracking.js +10 -8
  296. package/package.json +15 -11
  297. package/types/Link.d.ts +32 -0
  298. package/types/Link.js +5 -0
  299. package/types/LocalDev.d.ts +5 -0
  300. package/types/PackageJson.d.ts +1 -0
  301. package/types/Projects.d.ts +19 -0
  302. package/types/Prompts.d.ts +1 -0
  303. package/types/Yargs.d.ts +19 -1
  304. package/ui/components/getStarted/GetStartedFlow.js +79 -2
  305. package/ui/components/getStarted/reducer.d.ts +20 -0
  306. package/ui/components/getStarted/reducer.js +36 -0
  307. package/ui/components/getStarted/screens/InstallationScreen.d.ts +7 -0
  308. package/ui/components/getStarted/screens/InstallationScreen.js +16 -0
  309. package/ui/components/getStarted/screens/ProjectSetupScreen.js +2 -1
  310. package/ui/lib/constants.d.ts +1 -0
  311. package/ui/lib/constants.js +1 -0
  312. package/api/__tests__/migrate.test.d.ts +0 -1
  313. package/api/__tests__/migrate.test.js +0 -199
  314. package/commands/__tests__/account.test.d.ts +0 -1
  315. package/commands/__tests__/account.test.js +0 -69
  316. package/commands/__tests__/auth.test.d.ts +0 -1
  317. package/commands/__tests__/auth.test.js +0 -43
  318. package/commands/__tests__/cms.test.d.ts +0 -1
  319. package/commands/__tests__/cms.test.js +0 -87
  320. package/commands/__tests__/config.test.d.ts +0 -1
  321. package/commands/__tests__/config.test.js +0 -44
  322. package/commands/__tests__/customObject.test.d.ts +0 -1
  323. package/commands/__tests__/customObject.test.js +0 -68
  324. package/commands/__tests__/doctor.test.d.ts +0 -1
  325. package/commands/__tests__/doctor.test.js +0 -132
  326. package/commands/__tests__/feedback.test.d.ts +0 -1
  327. package/commands/__tests__/feedback.test.js +0 -24
  328. package/commands/__tests__/filemanager.test.d.ts +0 -1
  329. package/commands/__tests__/filemanager.test.js +0 -45
  330. package/commands/__tests__/getStarted.test.d.ts +0 -1
  331. package/commands/__tests__/getStarted.test.js +0 -173
  332. package/commands/__tests__/hubdb.test.d.ts +0 -1
  333. package/commands/__tests__/hubdb.test.js +0 -50
  334. package/commands/__tests__/init.test.d.ts +0 -1
  335. package/commands/__tests__/init.test.js +0 -42
  336. package/commands/__tests__/mcp.test.d.ts +0 -1
  337. package/commands/__tests__/mcp.test.js +0 -46
  338. package/commands/__tests__/open.test.d.ts +0 -1
  339. package/commands/__tests__/open.test.js +0 -58
  340. package/commands/__tests__/project.test.d.ts +0 -1
  341. package/commands/__tests__/project.test.js +0 -125
  342. package/commands/__tests__/sandbox.test.d.ts +0 -1
  343. package/commands/__tests__/sandbox.test.js +0 -44
  344. package/commands/__tests__/secret.test.d.ts +0 -1
  345. package/commands/__tests__/secret.test.js +0 -49
  346. package/commands/__tests__/testAccount.test.d.ts +0 -1
  347. package/commands/__tests__/testAccount.test.js +0 -57
  348. package/commands/__tests__/upgrade.test.d.ts +0 -1
  349. package/commands/__tests__/upgrade.test.js +0 -309
  350. package/commands/account/__tests__/auth.test.d.ts +0 -1
  351. package/commands/account/__tests__/auth.test.js +0 -206
  352. package/commands/account/__tests__/clean.test.d.ts +0 -1
  353. package/commands/account/__tests__/clean.test.js +0 -28
  354. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  355. package/commands/account/__tests__/createOverride.test.js +0 -32
  356. package/commands/account/__tests__/info.test.d.ts +0 -1
  357. package/commands/account/__tests__/info.test.js +0 -28
  358. package/commands/account/__tests__/list.test.d.ts +0 -1
  359. package/commands/account/__tests__/list.test.js +0 -153
  360. package/commands/account/__tests__/remove.test.d.ts +0 -1
  361. package/commands/account/__tests__/remove.test.js +0 -36
  362. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  363. package/commands/account/__tests__/removeOverride.js +0 -25
  364. package/commands/account/__tests__/rename.test.d.ts +0 -1
  365. package/commands/account/__tests__/rename.test.js +0 -82
  366. package/commands/account/__tests__/use.test.d.ts +0 -1
  367. package/commands/account/__tests__/use.test.js +0 -170
  368. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  369. package/commands/app/__tests__/migrate.test.js +0 -111
  370. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  371. package/commands/app/secret/__tests__/add.test.js +0 -140
  372. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  373. package/commands/app/secret/__tests__/delete.test.js +0 -28
  374. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  375. package/commands/app/secret/__tests__/list.test.js +0 -25
  376. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  377. package/commands/app/secret/__tests__/update.test.js +0 -28
  378. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  379. package/commands/cms/__tests__/delete.test.js +0 -39
  380. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  381. package/commands/cms/__tests__/fetch.test.js +0 -156
  382. package/commands/cms/__tests__/function.test.d.ts +0 -1
  383. package/commands/cms/__tests__/function.test.js +0 -50
  384. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  385. package/commands/cms/__tests__/lint.test.js +0 -33
  386. package/commands/cms/__tests__/list.test.d.ts +0 -1
  387. package/commands/cms/__tests__/list.test.js +0 -42
  388. package/commands/cms/__tests__/module.test.d.ts +0 -1
  389. package/commands/cms/__tests__/module.test.js +0 -45
  390. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  391. package/commands/cms/__tests__/mv.test.js +0 -46
  392. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  393. package/commands/cms/__tests__/theme.test.js +0 -54
  394. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  395. package/commands/cms/__tests__/upload.test.js +0 -308
  396. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  397. package/commands/cms/__tests__/watch.test.js +0 -212
  398. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  399. package/commands/cms/function/__tests__/logs.test.js +0 -70
  400. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  401. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  402. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  403. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  404. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  405. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  406. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  407. package/commands/customObject/__tests__/create.test.js +0 -40
  408. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  409. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  410. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  411. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  412. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  413. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  414. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  415. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  416. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  417. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  418. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  419. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  420. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  421. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  422. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  423. package/commands/filemanager/__tests__/upload.test.js +0 -191
  424. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  425. package/commands/hubdb/__tests__/clear.test.js +0 -28
  426. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  427. package/commands/hubdb/__tests__/create.test.js +0 -28
  428. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  429. package/commands/hubdb/__tests__/delete.test.js +0 -28
  430. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  431. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  432. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  433. package/commands/hubdb/__tests__/list.test.js +0 -88
  434. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  435. package/commands/mcp/__tests__/setup.test.js +0 -26
  436. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  437. package/commands/mcp/__tests__/start.test.js +0 -137
  438. package/commands/project/__tests__/add.test.d.ts +0 -1
  439. package/commands/project/__tests__/add.test.js +0 -107
  440. package/commands/project/__tests__/create.test.d.ts +0 -1
  441. package/commands/project/__tests__/create.test.js +0 -97
  442. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  443. package/commands/project/__tests__/deploy.test.js +0 -307
  444. package/commands/project/__tests__/dev.test.d.ts +0 -1
  445. package/commands/project/__tests__/dev.test.js +0 -273
  446. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  447. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  448. package/commands/project/__tests__/download.test.d.ts +0 -1
  449. package/commands/project/__tests__/download.test.js +0 -39
  450. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  451. package/commands/project/__tests__/installDeps.test.js +0 -140
  452. package/commands/project/__tests__/lint.test.d.ts +0 -1
  453. package/commands/project/__tests__/lint.test.js +0 -704
  454. package/commands/project/__tests__/list.test.d.ts +0 -1
  455. package/commands/project/__tests__/list.test.js +0 -31
  456. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  457. package/commands/project/__tests__/listBuilds.test.js +0 -38
  458. package/commands/project/__tests__/logs.test.d.ts +0 -1
  459. package/commands/project/__tests__/logs.test.js +0 -202
  460. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  461. package/commands/project/__tests__/migrate.test.js +0 -106
  462. package/commands/project/__tests__/open.test.d.ts +0 -1
  463. package/commands/project/__tests__/open.test.js +0 -39
  464. package/commands/project/__tests__/profile.test.d.ts +0 -1
  465. package/commands/project/__tests__/profile.test.js +0 -42
  466. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  467. package/commands/project/__tests__/updateDeps.test.js +0 -140
  468. package/commands/project/__tests__/upload.test.d.ts +0 -1
  469. package/commands/project/__tests__/upload.test.js +0 -234
  470. package/commands/project/__tests__/validate.test.d.ts +0 -1
  471. package/commands/project/__tests__/validate.test.js +0 -381
  472. package/commands/project/__tests__/watch.test.d.ts +0 -1
  473. package/commands/project/__tests__/watch.test.js +0 -35
  474. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  475. package/commands/sandbox/__tests__/create.test.js +0 -245
  476. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  477. package/commands/sandbox/__tests__/delete.test.js +0 -31
  478. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  479. package/commands/secret/__tests__/addSecret.test.js +0 -162
  480. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  481. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  482. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  483. package/commands/secret/__tests__/listSecret.test.js +0 -29
  484. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  485. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  486. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  487. package/commands/testAccount/__tests__/create.test.js +0 -106
  488. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  489. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  490. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  491. package/commands/testAccount/__tests__/delete.test.js +0 -29
  492. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  493. package/commands/testAccount/__tests__/importData.test.js +0 -92
  494. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  495. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  496. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  497. package/lib/__tests__/accountAuth.test.js +0 -258
  498. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  499. package/lib/__tests__/accountTypes.test.js +0 -98
  500. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  501. package/lib/__tests__/buildAccount.test.js +0 -262
  502. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  503. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  504. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  505. package/lib/__tests__/commandSuggestion.test.js +0 -119
  506. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  507. package/lib/__tests__/commonOpts.test.js +0 -80
  508. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  509. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  510. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  511. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  512. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  513. package/lib/__tests__/hasFeature.test.js +0 -167
  514. package/lib/__tests__/http.test.d.ts +0 -1
  515. package/lib/__tests__/http.test.js +0 -40
  516. package/lib/__tests__/importData.test.d.ts +0 -1
  517. package/lib/__tests__/importData.test.js +0 -98
  518. package/lib/__tests__/npmCli.test.d.ts +0 -1
  519. package/lib/__tests__/npmCli.test.js +0 -84
  520. package/lib/__tests__/oauth.test.d.ts +0 -1
  521. package/lib/__tests__/oauth.test.js +0 -109
  522. package/lib/__tests__/parsing.test.d.ts +0 -1
  523. package/lib/__tests__/parsing.test.js +0 -34
  524. package/lib/__tests__/polling.test.d.ts +0 -1
  525. package/lib/__tests__/polling.test.js +0 -76
  526. package/lib/__tests__/process.test.d.ts +0 -1
  527. package/lib/__tests__/process.test.js +0 -89
  528. package/lib/__tests__/sandboxSync.test.d.ts +0 -1
  529. package/lib/__tests__/sandboxSync.test.js +0 -147
  530. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  531. package/lib/__tests__/sandboxes.test.js +0 -156
  532. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  533. package/lib/__tests__/serverlessLogs.test.js +0 -148
  534. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  535. package/lib/__tests__/usageTracking.test.js +0 -197
  536. package/lib/__tests__/validation.test.d.ts +0 -1
  537. package/lib/__tests__/validation.test.js +0 -143
  538. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  539. package/lib/__tests__/yargsUtils.test.js +0 -124
  540. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  541. package/lib/app/__tests__/migrate.test.js +0 -638
  542. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  543. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  544. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  545. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  546. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  547. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  548. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  549. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  550. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  551. package/lib/mcp/__tests__/setup.test.js +0 -194
  552. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  553. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  554. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  555. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  556. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  557. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  558. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  559. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  560. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  561. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  562. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  563. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  564. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  565. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  566. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  567. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  568. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  569. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  570. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  571. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  572. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  573. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  574. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  575. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  576. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  577. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  578. package/lib/projects/__tests__/components.test.d.ts +0 -1
  579. package/lib/projects/__tests__/components.test.js +0 -426
  580. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  581. package/lib/projects/__tests__/deploy.test.js +0 -231
  582. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  583. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  584. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  585. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  586. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  587. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  588. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  589. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  590. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  591. package/lib/projects/__tests__/projects.test.js +0 -58
  592. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  593. package/lib/projects/__tests__/structure.test.js +0 -210
  594. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  595. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  596. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  597. package/lib/projects/__tests__/upload.test.js +0 -183
  598. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  599. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  600. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  601. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  602. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  603. package/lib/projects/create/__tests__/legacy.test.js +0 -90
  604. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  605. package/lib/projects/create/__tests__/v2.test.js +0 -257
  606. package/lib/projects/platformVersion.d.ts +0 -9
  607. package/lib/projects/platformVersion.js +0 -39
  608. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  609. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  610. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  611. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  612. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  613. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  614. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  615. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  616. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  617. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  618. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  619. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  620. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  621. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  622. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  623. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  624. package/lib/sandboxSync.d.ts +0 -4
  625. package/lib/sandboxSync.js +0 -102
  626. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  627. package/lib/theme/__tests__/migrate.test.js +0 -256
  628. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  629. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  630. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  631. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  632. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  633. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -255
  634. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  635. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -228
  636. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  637. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -209
  638. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  639. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -187
  640. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  641. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -125
  642. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  643. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -125
  644. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  645. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -158
  646. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  647. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -133
  648. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  649. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -462
  650. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  651. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -126
  652. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  653. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  654. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  655. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  656. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  657. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -178
  658. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  659. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  660. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  661. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  662. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  663. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  664. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  665. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  666. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  667. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  668. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  669. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -179
  670. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  671. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  672. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  673. package/mcp-server/utils/__tests__/command.test.js +0 -45
  674. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  675. package/mcp-server/utils/__tests__/content.test.js +0 -164
  676. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  677. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -124
  678. package/mcp-server/utils/__tests__/project.test.d.ts +0 -1
  679. package/mcp-server/utils/__tests__/project.test.js +0 -140
  680. package/mcp-server/utils/project.d.ts +0 -5
  681. package/mcp-server/utils/project.js +0 -18
@@ -1,257 +0,0 @@
1
- import { calculateComponentTemplateChoices } from '../v2.js';
2
- import { hasFeature } from '../../../hasFeature.js';
3
- import { getConfigAccountById as __getConfigAccountById } from '@hubspot/local-dev-lib/config';
4
- const getConfigAccountById = __getConfigAccountById;
5
- vi.mock('@hubspot/local-dev-lib/api/github');
6
- vi.mock('../../../hasFeature.js');
7
- vi.mock('@hubspot/local-dev-lib/config');
8
- const mockHasFeature = vi.mocked(hasFeature);
9
- describe('lib/projects/create/v2', () => {
10
- beforeEach(() => {
11
- mockHasFeature.mockResolvedValue(true);
12
- // Mock account config
13
- getConfigAccountById.mockReturnValue({
14
- accountId: 123,
15
- name: 'Test Account',
16
- authType: 'personalaccesskey',
17
- personalAccessKey: 'test-key',
18
- env: 'prod',
19
- });
20
- });
21
- describe('calculateComponentTemplateChoices()', () => {
22
- beforeEach(() => {
23
- mockHasFeature.mockClear();
24
- });
25
- const mockComponents = [
26
- {
27
- label: 'Module Component',
28
- path: 'module',
29
- type: 'module',
30
- supportedAuthTypes: ['oauth'],
31
- supportedDistributions: ['private'],
32
- },
33
- {
34
- label: 'Card Component',
35
- path: 'card',
36
- type: 'card',
37
- supportedAuthTypes: ['oauth', 'static'],
38
- supportedDistributions: ['private', 'marketplace'],
39
- },
40
- ];
41
- const mockProjectMetadataForChoices = {
42
- hsMetaFiles: [],
43
- components: {
44
- module: { count: 0, maxCount: 5, hsMetaFiles: [] },
45
- card: { count: 3, maxCount: 3, hsMetaFiles: [] },
46
- },
47
- };
48
- it('returns enabled components when they meet all requirements', async () => {
49
- const choices = await calculateComponentTemplateChoices(mockComponents, 'oauth', 'private', 123, mockProjectMetadataForChoices);
50
- expect(choices).toHaveLength(2);
51
- expect(choices[0]).toEqual({
52
- name: 'Module Component [module]',
53
- value: mockComponents[0],
54
- });
55
- expect(choices[1]).toEqual({
56
- name: expect.stringContaining('Card Component'),
57
- value: mockComponents[1],
58
- disabled: expect.stringContaining('maximum'),
59
- });
60
- });
61
- it('disables components when auth type is not supported', async () => {
62
- const choices = await calculateComponentTemplateChoices(mockComponents, 'privatekey', 'private', 123, mockProjectMetadataForChoices);
63
- // All components should be disabled
64
- expect(choices[0]).toEqual({
65
- name: expect.stringContaining('Module Component'),
66
- value: mockComponents[0],
67
- disabled: expect.stringContaining('oauth'),
68
- });
69
- });
70
- it('disables components when distribution is not supported', async () => {
71
- const choices = await calculateComponentTemplateChoices(mockComponents, 'oauth', 'enterprise', 123, mockProjectMetadataForChoices);
72
- // All components should be disabled
73
- expect(choices[0]).toEqual({
74
- name: expect.stringContaining('Module Component'),
75
- value: mockComponents[0],
76
- disabled: expect.stringContaining('private'),
77
- });
78
- });
79
- it('handles components without auth type or distribution restrictions', async () => {
80
- const componentsWithoutRestrictions = [
81
- {
82
- label: 'Unrestricted Component',
83
- path: 'unrestricted',
84
- type: 'module',
85
- },
86
- ];
87
- const choices = await calculateComponentTemplateChoices(componentsWithoutRestrictions, 'oauth', 'private', 123, {
88
- hsMetaFiles: [],
89
- components: { module: { count: 0, maxCount: 5, hsMetaFiles: [] } },
90
- });
91
- expect(choices[0]).toEqual({
92
- name: 'Unrestricted Component [module]',
93
- value: componentsWithoutRestrictions[0],
94
- });
95
- });
96
- it('handles components with cliSelector field (metadata compatibility)', async () => {
97
- const componentWithCliSelector = [
98
- {
99
- label: 'Workflow Action Tool',
100
- path: 'workflow-action-tool',
101
- type: 'workflow-action',
102
- cliSelector: 'workflow-action-tool',
103
- supportedAuthTypes: ['oauth'],
104
- supportedDistributions: ['private'],
105
- },
106
- ];
107
- const projectMetadataWithWorkflowAction = {
108
- hsMetaFiles: [],
109
- components: {
110
- 'workflow-action': { count: 2, maxCount: 3, hsMetaFiles: [] },
111
- },
112
- };
113
- const choices = await calculateComponentTemplateChoices(componentWithCliSelector, 'oauth', 'private', 213, projectMetadataWithWorkflowAction);
114
- expect(choices).toHaveLength(1); // no disabled components
115
- expect(choices[0]).toEqual({
116
- name: 'Workflow Action Tool [workflow-action-tool]',
117
- value: componentWithCliSelector[0],
118
- });
119
- });
120
- it('disables component when project metadata count exceeds maximum', async () => {
121
- const componentWithCliSelector = [
122
- {
123
- label: 'Workflow Action Tool',
124
- path: 'workflow-action-tool',
125
- type: 'workflow-action',
126
- cliSelector: 'workflow-action-tool',
127
- supportedAuthTypes: ['oauth'],
128
- supportedDistributions: ['private'],
129
- },
130
- ];
131
- const projectMetadataAtMaxWorkflowAction = {
132
- hsMetaFiles: [],
133
- components: {
134
- 'workflow-action': { count: 3, maxCount: 3, hsMetaFiles: [] },
135
- },
136
- };
137
- const choices = await calculateComponentTemplateChoices(componentWithCliSelector, 'oauth', 'private', 123, projectMetadataAtMaxWorkflowAction);
138
- expect(choices).toHaveLength(1);
139
- expect(choices[0]).toEqual({
140
- name: expect.stringContaining('Workflow Action Tool'),
141
- value: componentWithCliSelector[0],
142
- disabled: expect.stringContaining('maximum'),
143
- });
144
- });
145
- it('handles undefined projectMetadata without throwing errors', async () => {
146
- const componentWithCliSelector = [
147
- {
148
- label: 'Workflow Action Tool',
149
- path: 'workflow-action-tool',
150
- type: 'workflow-action',
151
- cliSelector: 'workflow-action-tool',
152
- supportedAuthTypes: ['oauth'],
153
- supportedDistributions: ['private'],
154
- },
155
- ];
156
- const choices = await calculateComponentTemplateChoices(componentWithCliSelector, 'oauth', 'private', 123, undefined);
157
- expect(choices).toHaveLength(1); // no disabled components
158
- expect(choices[0]).toEqual({
159
- name: 'Workflow Action Tool [workflow-action-tool]',
160
- value: componentWithCliSelector[0],
161
- });
162
- });
163
- it('handles projectMetadata with undefined components property (after fix)', async () => {
164
- const componentWithCliSelector = [
165
- {
166
- label: 'Workflow Action Tool',
167
- path: 'workflow-action-tool',
168
- type: 'workflow-action',
169
- cliSelector: 'workflow-action-tool',
170
- supportedAuthTypes: ['oauth'],
171
- supportedDistributions: ['private'],
172
- },
173
- ];
174
- const projectMetadataWithoutComponents = {
175
- hsMetaFiles: [],
176
- components: undefined,
177
- };
178
- // This test verifies the null check fix works
179
- // Currently this will fail because the fix checks for projectMetadata.components
180
- await expect(async () => calculateComponentTemplateChoices(componentWithCliSelector, 'oauth', 'private', 123,
181
- // @ts-expect-error breaking stuff on purpose
182
- projectMetadataWithoutComponents)).rejects.toThrow();
183
- });
184
- it('disables gated components when hasFeature returns false', async () => {
185
- mockHasFeature.mockResolvedValue(false);
186
- const gatedComponent = [
187
- {
188
- label: 'Workflow Action Tool',
189
- path: 'workflow-action-tool',
190
- type: 'workflow-action',
191
- cliSelector: 'workflow-action-tool',
192
- supportedAuthTypes: ['oauth'],
193
- supportedDistributions: ['private'],
194
- },
195
- ];
196
- const projectMetadataWithWorkflowAction = {
197
- hsMetaFiles: [],
198
- components: {
199
- 'workflow-action': { count: 0, maxCount: 3, hsMetaFiles: [] },
200
- },
201
- };
202
- const choices = await calculateComponentTemplateChoices(gatedComponent, 'oauth', 'private', 123, projectMetadataWithWorkflowAction);
203
- expect(choices).toHaveLength(1);
204
- expect(choices[0]).toEqual({
205
- name: expect.stringContaining('Workflow Action Tool'),
206
- value: gatedComponent[0],
207
- disabled: expect.stringContaining("doesn't have access to this feature"),
208
- });
209
- expect(mockHasFeature).toHaveBeenCalledWith(123, expect.any(String));
210
- });
211
- it('enables gated components when hasFeature returns true', async () => {
212
- mockHasFeature.mockResolvedValue(true);
213
- const gatedComponent = [
214
- {
215
- label: 'Workflow Action Tool',
216
- path: 'workflow-action-tool',
217
- type: 'workflow-action',
218
- cliSelector: 'workflow-action-tool',
219
- supportedAuthTypes: ['oauth'],
220
- supportedDistributions: ['private'],
221
- },
222
- ];
223
- const projectMetadataWithWorkflowAction = {
224
- hsMetaFiles: [],
225
- components: {
226
- 'workflow-action': { count: 0, maxCount: 3, hsMetaFiles: [] },
227
- },
228
- };
229
- const choices = await calculateComponentTemplateChoices(gatedComponent, 'oauth', 'private', 123, projectMetadataWithWorkflowAction);
230
- expect(choices).toHaveLength(1); // no disabled components
231
- expect(choices[0]).toEqual({
232
- name: 'Workflow Action Tool [workflow-action-tool]',
233
- value: gatedComponent[0],
234
- });
235
- expect(mockHasFeature).toHaveBeenCalledWith(123, expect.any(String));
236
- });
237
- it('handles non-gated components without calling hasFeature', async () => {
238
- const nonGatedComponent = [
239
- {
240
- label: 'Regular Component',
241
- path: 'regular',
242
- type: 'module',
243
- supportedAuthTypes: ['oauth'],
244
- supportedDistributions: ['private'],
245
- },
246
- ];
247
- const choices = await calculateComponentTemplateChoices(nonGatedComponent, 'oauth', 'private', 123, mockProjectMetadataForChoices);
248
- expect(choices).toHaveLength(1);
249
- expect(choices[0]).toEqual({
250
- name: 'Regular Component [module]',
251
- value: nonGatedComponent[0],
252
- });
253
- // hasFeature should not be called for non-gated components
254
- expect(mockHasFeature).not.toHaveBeenCalled();
255
- });
256
- });
257
- });
@@ -1,9 +0,0 @@
1
- /**
2
- * Used to surface warnings when users attempt to interact with new platform versions
3
- * that were released after this version of the CLI was released.
4
- *
5
- * We are unable to reliably support versions of projects that are newer than any given CLI release
6
- * */
7
- export declare const LATEST_SUPPORTED_PLATFORM_VERSION = "2026.03";
8
- export declare function isV2Project(platformVersion?: string | null): boolean;
9
- export declare function isUnsupportedPlatformVersion(platformVersion?: string | null): boolean;
@@ -1,39 +0,0 @@
1
- /**
2
- * Used to surface warnings when users attempt to interact with new platform versions
3
- * that were released after this version of the CLI was released.
4
- *
5
- * We are unable to reliably support versions of projects that are newer than any given CLI release
6
- * */
7
- export const LATEST_SUPPORTED_PLATFORM_VERSION = '2026.03';
8
- function parsePlatformVersion(platformVersion) {
9
- const [year, minor] = platformVersion.split(/[.-]/);
10
- return {
11
- year: Number(year),
12
- minor: Number(minor),
13
- };
14
- }
15
- export function isV2Project(platformVersion) {
16
- if (!platformVersion || typeof platformVersion !== 'string') {
17
- return false;
18
- }
19
- if (platformVersion.toLowerCase() === 'unstable') {
20
- return true;
21
- }
22
- const { year, minor } = parsePlatformVersion(platformVersion);
23
- return (year === 2025 && minor >= 2) || year > 2025;
24
- }
25
- export function isUnsupportedPlatformVersion(platformVersion) {
26
- if (!platformVersion || typeof platformVersion !== 'string') {
27
- return false;
28
- }
29
- if (platformVersion.toLowerCase() === 'unstable') {
30
- return false;
31
- }
32
- const { year, minor } = parsePlatformVersion(platformVersion);
33
- if (isNaN(year) || isNaN(minor)) {
34
- return false;
35
- }
36
- const { year: latestSupportedYear, minor: latestSupportedMinor } = parsePlatformVersion(LATEST_SUPPORTED_PLATFORM_VERSION);
37
- return (year > latestSupportedYear ||
38
- (year === latestSupportedYear && minor > latestSupportedMinor));
39
- }
@@ -1,157 +0,0 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { createDeveloperTestAccountConfigPrompt } from '../createDeveloperTestAccountConfigPrompt.js';
3
- import * as promptUtils from '../promptUtils.js';
4
- vi.mock('../promptUtils.js');
5
- describe('createDeveloperTestAccountConfigPrompt', () => {
6
- describe('with name and description provided via args', () => {
7
- it('should skip name and description prompts when provided', async () => {
8
- const mockPromptUser = vi.mocked(promptUtils.promptUser);
9
- mockPromptUser.mockResolvedValueOnce({}); // name/description prompts skipped
10
- mockPromptUser.mockResolvedValueOnce({
11
- useDefaultAccountLevels: 'default',
12
- }); // tier selection
13
- const result = await createDeveloperTestAccountConfigPrompt({
14
- name: 'TestAccount',
15
- description: 'Test description',
16
- });
17
- expect(result).toEqual({
18
- accountName: 'TestAccount',
19
- description: 'Test description',
20
- marketingLevel: 'ENTERPRISE',
21
- opsLevel: 'ENTERPRISE',
22
- serviceLevel: 'ENTERPRISE',
23
- salesLevel: 'ENTERPRISE',
24
- contentLevel: 'ENTERPRISE',
25
- commerceLevel: 'ENTERPRISE',
26
- });
27
- expect(mockPromptUser).toHaveBeenCalledTimes(2);
28
- });
29
- });
30
- describe('with tier flags provided', () => {
31
- it('should skip tier prompts and use provided values with defaults', async () => {
32
- const mockPromptUser = vi.mocked(promptUtils.promptUser);
33
- mockPromptUser.mockResolvedValueOnce({}); // name/description prompts skipped
34
- const result = await createDeveloperTestAccountConfigPrompt({
35
- name: 'TestAccount',
36
- description: 'Test',
37
- marketingLevel: 'PROFESSIONAL',
38
- salesLevel: 'STARTER',
39
- });
40
- expect(result).toEqual({
41
- accountName: 'TestAccount',
42
- description: 'Test',
43
- marketingLevel: 'PROFESSIONAL',
44
- opsLevel: 'ENTERPRISE',
45
- serviceLevel: 'ENTERPRISE',
46
- salesLevel: 'STARTER',
47
- contentLevel: 'ENTERPRISE',
48
- commerceLevel: 'ENTERPRISE',
49
- });
50
- // Should only call promptUser once (for name/description which are skipped)
51
- expect(mockPromptUser).toHaveBeenCalledTimes(1);
52
- });
53
- it('should default unprovided tiers to ENTERPRISE', async () => {
54
- const mockPromptUser = vi.mocked(promptUtils.promptUser);
55
- mockPromptUser.mockResolvedValueOnce({
56
- description: 'Test',
57
- }); // description prompt (name provided via args, description not provided)
58
- const result = await createDeveloperTestAccountConfigPrompt({
59
- name: 'TestAccount',
60
- contentLevel: 'FREE',
61
- });
62
- expect(result).toEqual({
63
- accountName: 'TestAccount',
64
- description: 'Test',
65
- marketingLevel: 'ENTERPRISE',
66
- opsLevel: 'ENTERPRISE',
67
- serviceLevel: 'ENTERPRISE',
68
- salesLevel: 'ENTERPRISE',
69
- contentLevel: 'FREE',
70
- commerceLevel: 'ENTERPRISE',
71
- });
72
- });
73
- });
74
- describe('with no flags provided', () => {
75
- it('should prompt for name, description, and tier selection', async () => {
76
- const mockPromptUser = vi.mocked(promptUtils.promptUser);
77
- // First call: name/description prompts
78
- mockPromptUser.mockResolvedValueOnce({
79
- accountName: 'PromptedAccount',
80
- description: 'Prompted description',
81
- });
82
- // Second call: tier selection
83
- mockPromptUser.mockResolvedValueOnce({
84
- useDefaultAccountLevels: 'default',
85
- });
86
- const result = await createDeveloperTestAccountConfigPrompt({});
87
- expect(result).toEqual({
88
- accountName: 'PromptedAccount',
89
- description: 'Prompted description',
90
- marketingLevel: 'ENTERPRISE',
91
- opsLevel: 'ENTERPRISE',
92
- serviceLevel: 'ENTERPRISE',
93
- salesLevel: 'ENTERPRISE',
94
- contentLevel: 'ENTERPRISE',
95
- commerceLevel: 'ENTERPRISE',
96
- });
97
- expect(mockPromptUser).toHaveBeenCalledTimes(2);
98
- });
99
- it('should allow manual tier selection', async () => {
100
- const mockPromptUser = vi.mocked(promptUtils.promptUser);
101
- mockPromptUser.mockResolvedValueOnce({
102
- accountName: 'TestAccount',
103
- description: 'Test',
104
- }); // name/description
105
- mockPromptUser.mockResolvedValueOnce({
106
- useDefaultAccountLevels: 'manual',
107
- }); // tier choice
108
- mockPromptUser.mockResolvedValueOnce({
109
- testAccountLevels: [
110
- { hub: 'MARKETING', tier: 'PROFESSIONAL' },
111
- { hub: 'OPS', tier: 'STARTER' },
112
- { hub: 'SERVICE', tier: 'ENTERPRISE' },
113
- { hub: 'SALES', tier: 'FREE' },
114
- { hub: 'CONTENT', tier: 'ENTERPRISE' },
115
- { hub: 'COMMERCE', tier: 'STARTER' },
116
- ],
117
- }); // manual tier selection
118
- const result = await createDeveloperTestAccountConfigPrompt({});
119
- expect(result).toEqual({
120
- accountName: 'TestAccount',
121
- description: 'Test',
122
- marketingLevel: 'PROFESSIONAL',
123
- opsLevel: 'STARTER',
124
- serviceLevel: 'ENTERPRISE',
125
- salesLevel: 'FREE',
126
- contentLevel: 'ENTERPRISE',
127
- commerceLevel: 'STARTER',
128
- });
129
- expect(mockPromptUser).toHaveBeenCalledTimes(3);
130
- });
131
- });
132
- describe('with only name provided', () => {
133
- it('should skip name prompt but show description and tier prompts', async () => {
134
- const mockPromptUser = vi.mocked(promptUtils.promptUser);
135
- mockPromptUser.mockResolvedValueOnce({
136
- description: 'Prompted description',
137
- }); // description prompt (name skipped)
138
- mockPromptUser.mockResolvedValueOnce({
139
- useDefaultAccountLevels: 'default',
140
- }); // tier selection
141
- const result = await createDeveloperTestAccountConfigPrompt({
142
- name: 'TestAccount',
143
- });
144
- expect(result).toEqual({
145
- accountName: 'TestAccount',
146
- description: 'Prompted description',
147
- marketingLevel: 'ENTERPRISE',
148
- opsLevel: 'ENTERPRISE',
149
- serviceLevel: 'ENTERPRISE',
150
- salesLevel: 'ENTERPRISE',
151
- contentLevel: 'ENTERPRISE',
152
- commerceLevel: 'ENTERPRISE',
153
- });
154
- expect(mockPromptUser).toHaveBeenCalledTimes(2);
155
- });
156
- });
157
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,129 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { createFunctionPrompt } from '../createFunctionPrompt.js';
3
- import { promptUser } from '../promptUtils.js';
4
- vi.mock('../promptUtils.js');
5
- const mockPromptUser = vi.mocked(promptUser);
6
- describe('createFunctionPrompt', () => {
7
- beforeEach(() => {
8
- vi.resetAllMocks();
9
- });
10
- describe('when all parameters are provided', () => {
11
- it('should return provided values without prompting', async () => {
12
- const commandArgs = {
13
- functionsFolder: 'my-functions',
14
- filename: 'my-function',
15
- endpointMethod: 'POST',
16
- endpointPath: '/api/test',
17
- };
18
- const result = await createFunctionPrompt(commandArgs);
19
- expect(mockPromptUser).not.toHaveBeenCalled();
20
- expect(result).toEqual({
21
- functionsFolder: 'my-functions',
22
- filename: 'my-function',
23
- endpointMethod: 'POST',
24
- endpointPath: '/api/test',
25
- });
26
- });
27
- it('should use default GET method when endpointMethod not provided', async () => {
28
- const commandArgs = {
29
- functionsFolder: 'my-functions',
30
- filename: 'my-function',
31
- endpointPath: '/api/test',
32
- };
33
- const result = await createFunctionPrompt(commandArgs);
34
- expect(mockPromptUser).not.toHaveBeenCalled();
35
- expect(result).toEqual({
36
- functionsFolder: 'my-functions',
37
- filename: 'my-function',
38
- endpointMethod: 'GET',
39
- endpointPath: '/api/test',
40
- });
41
- });
42
- });
43
- describe('when some parameters are missing', () => {
44
- it('should only prompt for missing parameters', async () => {
45
- const commandArgs = {
46
- functionsFolder: 'my-functions',
47
- endpointMethod: 'POST',
48
- };
49
- mockPromptUser.mockResolvedValue({
50
- filename: 'prompted-function',
51
- endpointPath: '/prompted-path',
52
- });
53
- const result = await createFunctionPrompt(commandArgs);
54
- expect(mockPromptUser).toHaveBeenCalledWith([
55
- expect.objectContaining({ name: 'filename' }),
56
- expect.objectContaining({ name: 'endpointPath' }),
57
- ]);
58
- expect(result).toEqual({
59
- functionsFolder: 'my-functions',
60
- filename: 'prompted-function',
61
- endpointMethod: 'POST',
62
- endpointPath: '/prompted-path',
63
- });
64
- });
65
- });
66
- describe('when no parameters are provided', () => {
67
- it('should prompt for all parameters', async () => {
68
- mockPromptUser.mockResolvedValue({
69
- functionsFolder: 'prompted-functions',
70
- filename: 'prompted-function',
71
- endpointMethod: 'GET',
72
- endpointPath: '/prompted-path',
73
- });
74
- const result = await createFunctionPrompt();
75
- expect(mockPromptUser).toHaveBeenCalledWith([
76
- expect.objectContaining({ name: 'functionsFolder' }),
77
- expect.objectContaining({ name: 'filename' }),
78
- expect.objectContaining({ name: 'endpointMethod' }),
79
- expect.objectContaining({ name: 'endpointPath' }),
80
- ]);
81
- expect(result).toEqual({
82
- functionsFolder: 'prompted-functions',
83
- filename: 'prompted-function',
84
- endpointMethod: 'GET',
85
- endpointPath: '/prompted-path',
86
- });
87
- });
88
- });
89
- describe('parameter precedence', () => {
90
- it('should prioritize command args over prompted values', async () => {
91
- const commandArgs = {
92
- functionsFolder: 'arg-functions',
93
- };
94
- mockPromptUser.mockResolvedValue({
95
- filename: 'prompted-function',
96
- endpointMethod: 'POST',
97
- endpointPath: '/prompted-path',
98
- });
99
- const result = await createFunctionPrompt(commandArgs);
100
- expect(result).toEqual({
101
- functionsFolder: 'arg-functions', // from commandArgs
102
- filename: 'prompted-function', // from prompt
103
- endpointMethod: 'POST', // from prompt
104
- endpointPath: '/prompted-path', // from prompt
105
- });
106
- });
107
- it('should handle mixed scenario with partial command args and prompting', async () => {
108
- const commandArgs = {
109
- functionsFolder: 'my-funcs',
110
- endpointMethod: 'DELETE',
111
- };
112
- mockPromptUser.mockResolvedValue({
113
- filename: 'delete-handler',
114
- endpointPath: '/api/delete',
115
- });
116
- const result = await createFunctionPrompt(commandArgs);
117
- expect(mockPromptUser).toHaveBeenCalledWith([
118
- expect.objectContaining({ name: 'filename' }),
119
- expect.objectContaining({ name: 'endpointPath' }),
120
- ]);
121
- expect(result).toEqual({
122
- functionsFolder: 'my-funcs', // from commandArgs
123
- filename: 'delete-handler', // from prompt
124
- endpointMethod: 'DELETE', // from commandArgs
125
- endpointPath: '/api/delete', // from prompt
126
- });
127
- });
128
- });
129
- });
@@ -1 +0,0 @@
1
- export {};