@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,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 {};