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

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 (595) hide show
  1. package/api/migrate.js +3 -3
  2. package/bin/cli.js +5 -0
  3. package/commands/account/auth.js +12 -22
  4. package/commands/account/clean.js +5 -6
  5. package/commands/account/createOverride.js +7 -7
  6. package/commands/account/info.js +2 -1
  7. package/commands/account/list.js +3 -5
  8. package/commands/account/remove.js +2 -3
  9. package/commands/account/removeOverride.js +8 -10
  10. package/commands/account/rename.js +5 -6
  11. package/commands/account/use.js +8 -19
  12. package/commands/api.d.ts +10 -0
  13. package/commands/api.js +164 -0
  14. package/commands/app/migrate.js +12 -12
  15. package/commands/app/secret/add.js +6 -7
  16. package/commands/app/secret/delete.js +9 -10
  17. package/commands/app/secret/list.js +6 -7
  18. package/commands/app/secret/update.js +8 -9
  19. package/commands/auth.js +12 -12
  20. package/commands/cms/app/create.js +9 -5
  21. package/commands/cms/convertFields.js +8 -8
  22. package/commands/cms/delete.js +2 -3
  23. package/commands/cms/fetch.js +7 -7
  24. package/commands/cms/function/create.js +9 -5
  25. package/commands/cms/function/deploy.js +2 -3
  26. package/commands/cms/function/list.js +11 -7
  27. package/commands/cms/function/logs.js +17 -23
  28. package/commands/cms/function/server.js +2 -3
  29. package/commands/cms/getReactModule.js +7 -8
  30. package/commands/cms/lighthouseScore.js +25 -24
  31. package/commands/cms/lint.js +4 -5
  32. package/commands/cms/list.js +5 -6
  33. package/commands/cms/module/create.js +9 -5
  34. package/commands/cms/module/marketplace-validate.js +7 -8
  35. package/commands/cms/mv.js +2 -3
  36. package/commands/cms/template/create.js +10 -6
  37. package/commands/cms/theme/create.js +5 -5
  38. package/commands/cms/theme/generate-selectors.js +5 -4
  39. package/commands/cms/theme/marketplace-validate.js +8 -9
  40. package/commands/cms/theme/preview.js +16 -8
  41. package/commands/cms/upload.js +15 -12
  42. package/commands/cms/watch.js +5 -5
  43. package/commands/cms/webpack/create.js +5 -5
  44. package/commands/completion.js +3 -5
  45. package/commands/config/migrate.js +6 -7
  46. package/commands/config/set.js +5 -6
  47. package/commands/customObject/create.js +4 -5
  48. package/commands/customObject/createSchema.js +4 -5
  49. package/commands/customObject/deleteSchema.js +4 -5
  50. package/commands/customObject/fetchAllSchemas.js +2 -3
  51. package/commands/customObject/fetchSchema.js +2 -3
  52. package/commands/customObject/listSchemas.js +2 -3
  53. package/commands/customObject/updateSchema.js +4 -5
  54. package/commands/doctor.js +8 -8
  55. package/commands/feedback.js +6 -4
  56. package/commands/filemanager/fetch.js +5 -6
  57. package/commands/filemanager/upload.js +5 -5
  58. package/commands/getStarted.js +16 -18
  59. package/commands/hubdb/clear.js +5 -6
  60. package/commands/hubdb/create.js +4 -5
  61. package/commands/hubdb/delete.js +8 -9
  62. package/commands/hubdb/fetch.js +5 -6
  63. package/commands/hubdb/list.js +16 -14
  64. package/commands/init.js +14 -17
  65. package/commands/mcp/setup.js +5 -6
  66. package/commands/mcp/start.js +2 -3
  67. package/commands/open.js +4 -5
  68. package/commands/project/add.js +13 -8
  69. package/commands/project/create.js +20 -17
  70. package/commands/project/delete.d.ts +7 -0
  71. package/commands/project/delete.js +74 -0
  72. package/commands/project/deploy.js +39 -36
  73. package/commands/project/dev/deprecatedFlow.js +42 -15
  74. package/commands/project/dev/index.d.ts +3 -3
  75. package/commands/project/dev/index.js +29 -34
  76. package/commands/project/dev/unifiedFlow.js +37 -14
  77. package/commands/project/download.js +10 -11
  78. package/commands/project/info.js +19 -19
  79. package/commands/project/installDeps.js +9 -6
  80. package/commands/project/lint.js +11 -8
  81. package/commands/project/list.js +14 -14
  82. package/commands/project/listBuilds.js +8 -6
  83. package/commands/project/logs.js +5 -6
  84. package/commands/project/migrate.js +13 -13
  85. package/commands/project/open.js +5 -6
  86. package/commands/project/profile/add.js +12 -8
  87. package/commands/project/profile/delete.js +15 -11
  88. package/commands/project/updateDeps.js +9 -6
  89. package/commands/project/upload.js +33 -19
  90. package/commands/project/validate.js +12 -12
  91. package/commands/project/watch.js +22 -22
  92. package/commands/project.js +8 -3
  93. package/commands/sandbox/create.js +15 -15
  94. package/commands/sandbox/delete.js +13 -14
  95. package/commands/secret/addSecret.js +6 -7
  96. package/commands/secret/deleteSecret.js +5 -6
  97. package/commands/secret/listSecret.js +2 -3
  98. package/commands/secret/updateSecret.js +4 -5
  99. package/commands/testAccount/create.d.ts +1 -1
  100. package/commands/testAccount/create.js +24 -20
  101. package/commands/testAccount/createConfig.js +7 -8
  102. package/commands/testAccount/delete.js +27 -18
  103. package/commands/testAccount/importData.js +6 -7
  104. package/commands/upgrade.js +9 -10
  105. package/lang/en.d.ts +95 -7
  106. package/lang/en.js +98 -13
  107. package/lib/accountAuth.js +2 -2
  108. package/lib/app/migrate.js +7 -0
  109. package/lib/buildAccount.js +3 -3
  110. package/lib/constants.d.ts +0 -1
  111. package/lib/constants.js +0 -1
  112. package/lib/doctor/Diagnosis.js +5 -5
  113. package/lib/doctor/Doctor.js +2 -2
  114. package/lib/errorHandlers/index.js +4 -3
  115. package/lib/errorHandlers/suppressError.js +4 -0
  116. package/lib/errors/PromptExitError.d.ts +4 -2
  117. package/lib/errors/PromptExitError.js +3 -0
  118. package/lib/getStartedV2Actions.js +2 -2
  119. package/lib/hasFeature.js +1 -2
  120. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  121. package/lib/process.d.ts +1 -1
  122. package/lib/process.js +10 -3
  123. package/lib/projects/ProjectLogsManager.js +2 -2
  124. package/lib/projects/create/index.js +2 -2
  125. package/lib/projects/create/legacy.js +2 -2
  126. package/lib/projects/create/v2.js +3 -4
  127. package/lib/projects/delete.d.ts +13 -0
  128. package/lib/projects/delete.js +193 -0
  129. package/lib/projects/deploy.d.ts +1 -1
  130. package/lib/projects/deploy.js +2 -2
  131. package/lib/projects/localDev/AppDevModeInterface.js +11 -11
  132. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +3 -1
  133. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +2 -2
  134. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  135. package/lib/projects/localDev/DevSessionManager.js +31 -19
  136. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +3 -0
  137. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +16 -12
  138. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  139. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  140. package/lib/projects/localDev/LocalDevState.js +3 -1
  141. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  142. package/lib/projects/localDev/helpers/account.js +16 -19
  143. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  144. package/lib/projects/localDev/helpers/process.js +4 -10
  145. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  146. package/lib/projects/localDev/helpers/project.js +31 -15
  147. package/lib/projects/projectInfo.d.ts +3 -20
  148. package/lib/projects/projectInfo.js +32 -54
  149. package/lib/projects/projectProfiles.d.ts +1 -2
  150. package/lib/projects/projectProfiles.js +5 -17
  151. package/lib/projects/upload.js +22 -3
  152. package/lib/projects/workspaces.d.ts +42 -0
  153. package/lib/projects/workspaces.js +350 -0
  154. package/lib/prompts/createApiSamplePrompt.js +4 -0
  155. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  156. package/lib/prompts/projectProfilePrompt.js +46 -0
  157. package/lib/prompts/promptUtils.js +3 -2
  158. package/lib/prompts/selectHubDBTablePrompt.js +2 -2
  159. package/lib/prompts/selectPublicAppForMigrationPrompt.js +2 -2
  160. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  161. package/lib/theme/cmsDevServerProcess.js +8 -7
  162. package/lib/ui/SpinniesManager.d.ts +1 -0
  163. package/lib/ui/SpinniesManager.js +20 -6
  164. package/lib/ui/spinniesUtils.d.ts +0 -1
  165. package/lib/ui/spinniesUtils.js +6 -16
  166. package/lib/usageTracking.d.ts +3 -4
  167. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  168. package/lib/yargs/makeYargsBuilder.js +33 -0
  169. package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
  170. package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
  171. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  172. package/lib/yargs/strictEnforceBoolean.js +13 -0
  173. package/lib/yargsUtils.d.ts +3 -16
  174. package/lib/yargsUtils.js +3 -48
  175. package/mcp-server/Tool.d.ts +15 -0
  176. package/mcp-server/Tool.js +53 -0
  177. package/mcp-server/server.js +5 -3
  178. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  179. package/mcp-server/tools/cms/HsCreateFunctionTool.js +8 -6
  180. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  181. package/mcp-server/tools/cms/HsCreateModuleTool.js +8 -6
  182. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +5 -3
  183. package/mcp-server/tools/cms/HsCreateTemplateTool.js +8 -6
  184. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  185. package/mcp-server/tools/cms/HsFunctionLogsTool.js +8 -6
  186. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  187. package/mcp-server/tools/cms/HsListFunctionsTool.js +8 -6
  188. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  189. package/mcp-server/tools/cms/HsListTool.js +8 -6
  190. package/mcp-server/tools/index.d.ts +3 -2
  191. package/mcp-server/tools/index.js +22 -22
  192. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +6 -4
  193. package/mcp-server/tools/project/AddFeatureToProjectTool.js +8 -6
  194. package/mcp-server/tools/project/CreateProjectTool.d.ts +6 -4
  195. package/mcp-server/tools/project/CreateProjectTool.js +9 -7
  196. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  197. package/mcp-server/tools/project/CreateTestAccountTool.js +20 -8
  198. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  199. package/mcp-server/tools/project/DeployProjectTool.js +4 -6
  200. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  201. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  202. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  203. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  204. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  205. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +8 -6
  206. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  207. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  208. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
  209. package/mcp-server/tools/project/GetBuildLogsTool.js +8 -6
  210. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
  211. package/mcp-server/tools/project/GetBuildStatusTool.js +8 -6
  212. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  213. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  214. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
  215. package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
  216. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  217. package/mcp-server/tools/project/UploadProjectTools.js +9 -7
  218. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  219. package/mcp-server/tools/project/ValidateProjectTool.js +8 -6
  220. package/mcp-server/tools/project/constants.d.ts +2 -2
  221. package/mcp-server/types.d.ts +0 -7
  222. package/mcp-server/types.js +1 -13
  223. package/mcp-server/utils/logger.d.ts +10 -0
  224. package/mcp-server/utils/logger.js +29 -0
  225. package/mcp-server/utils/toolUsageTracking.js +0 -2
  226. package/package.json +12 -7
  227. package/types/LocalDev.d.ts +5 -0
  228. package/types/Projects.d.ts +19 -0
  229. package/types/Yargs.d.ts +18 -1
  230. package/api/__tests__/migrate.test.d.ts +0 -1
  231. package/api/__tests__/migrate.test.js +0 -199
  232. package/commands/__tests__/account.test.d.ts +0 -1
  233. package/commands/__tests__/account.test.js +0 -69
  234. package/commands/__tests__/auth.test.d.ts +0 -1
  235. package/commands/__tests__/auth.test.js +0 -43
  236. package/commands/__tests__/cms.test.d.ts +0 -1
  237. package/commands/__tests__/cms.test.js +0 -87
  238. package/commands/__tests__/config.test.d.ts +0 -1
  239. package/commands/__tests__/config.test.js +0 -44
  240. package/commands/__tests__/customObject.test.d.ts +0 -1
  241. package/commands/__tests__/customObject.test.js +0 -68
  242. package/commands/__tests__/doctor.test.d.ts +0 -1
  243. package/commands/__tests__/doctor.test.js +0 -132
  244. package/commands/__tests__/feedback.test.d.ts +0 -1
  245. package/commands/__tests__/feedback.test.js +0 -24
  246. package/commands/__tests__/filemanager.test.d.ts +0 -1
  247. package/commands/__tests__/filemanager.test.js +0 -45
  248. package/commands/__tests__/getStarted.test.d.ts +0 -1
  249. package/commands/__tests__/getStarted.test.js +0 -173
  250. package/commands/__tests__/hubdb.test.d.ts +0 -1
  251. package/commands/__tests__/hubdb.test.js +0 -50
  252. package/commands/__tests__/init.test.d.ts +0 -1
  253. package/commands/__tests__/init.test.js +0 -42
  254. package/commands/__tests__/mcp.test.d.ts +0 -1
  255. package/commands/__tests__/mcp.test.js +0 -46
  256. package/commands/__tests__/open.test.d.ts +0 -1
  257. package/commands/__tests__/open.test.js +0 -58
  258. package/commands/__tests__/project.test.d.ts +0 -1
  259. package/commands/__tests__/project.test.js +0 -125
  260. package/commands/__tests__/sandbox.test.d.ts +0 -1
  261. package/commands/__tests__/sandbox.test.js +0 -44
  262. package/commands/__tests__/secret.test.d.ts +0 -1
  263. package/commands/__tests__/secret.test.js +0 -49
  264. package/commands/__tests__/testAccount.test.d.ts +0 -1
  265. package/commands/__tests__/testAccount.test.js +0 -57
  266. package/commands/__tests__/upgrade.test.d.ts +0 -1
  267. package/commands/__tests__/upgrade.test.js +0 -309
  268. package/commands/account/__tests__/auth.test.d.ts +0 -1
  269. package/commands/account/__tests__/auth.test.js +0 -206
  270. package/commands/account/__tests__/clean.test.d.ts +0 -1
  271. package/commands/account/__tests__/clean.test.js +0 -28
  272. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  273. package/commands/account/__tests__/createOverride.test.js +0 -32
  274. package/commands/account/__tests__/info.test.d.ts +0 -1
  275. package/commands/account/__tests__/info.test.js +0 -28
  276. package/commands/account/__tests__/list.test.d.ts +0 -1
  277. package/commands/account/__tests__/list.test.js +0 -153
  278. package/commands/account/__tests__/remove.test.d.ts +0 -1
  279. package/commands/account/__tests__/remove.test.js +0 -36
  280. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  281. package/commands/account/__tests__/removeOverride.js +0 -25
  282. package/commands/account/__tests__/rename.test.d.ts +0 -1
  283. package/commands/account/__tests__/rename.test.js +0 -82
  284. package/commands/account/__tests__/use.test.d.ts +0 -1
  285. package/commands/account/__tests__/use.test.js +0 -170
  286. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  287. package/commands/app/__tests__/migrate.test.js +0 -111
  288. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  289. package/commands/app/secret/__tests__/add.test.js +0 -140
  290. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  291. package/commands/app/secret/__tests__/delete.test.js +0 -28
  292. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  293. package/commands/app/secret/__tests__/list.test.js +0 -25
  294. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  295. package/commands/app/secret/__tests__/update.test.js +0 -28
  296. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  297. package/commands/cms/__tests__/delete.test.js +0 -39
  298. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  299. package/commands/cms/__tests__/fetch.test.js +0 -156
  300. package/commands/cms/__tests__/function.test.d.ts +0 -1
  301. package/commands/cms/__tests__/function.test.js +0 -50
  302. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  303. package/commands/cms/__tests__/lint.test.js +0 -33
  304. package/commands/cms/__tests__/list.test.d.ts +0 -1
  305. package/commands/cms/__tests__/list.test.js +0 -42
  306. package/commands/cms/__tests__/module.test.d.ts +0 -1
  307. package/commands/cms/__tests__/module.test.js +0 -45
  308. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  309. package/commands/cms/__tests__/mv.test.js +0 -46
  310. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  311. package/commands/cms/__tests__/theme.test.js +0 -54
  312. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  313. package/commands/cms/__tests__/upload.test.js +0 -312
  314. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  315. package/commands/cms/__tests__/watch.test.js +0 -204
  316. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  317. package/commands/cms/function/__tests__/logs.test.js +0 -70
  318. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  319. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  320. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  321. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  322. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  323. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  324. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  325. package/commands/customObject/__tests__/create.test.js +0 -40
  326. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  327. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  328. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  329. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  330. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  331. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  332. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  333. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  334. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  335. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  336. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  337. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  338. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  339. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  340. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  341. package/commands/filemanager/__tests__/upload.test.js +0 -191
  342. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  343. package/commands/hubdb/__tests__/clear.test.js +0 -28
  344. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  345. package/commands/hubdb/__tests__/create.test.js +0 -28
  346. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  347. package/commands/hubdb/__tests__/delete.test.js +0 -28
  348. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  349. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  350. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  351. package/commands/hubdb/__tests__/list.test.js +0 -88
  352. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  353. package/commands/mcp/__tests__/setup.test.js +0 -26
  354. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  355. package/commands/mcp/__tests__/start.test.js +0 -144
  356. package/commands/project/__tests__/add.test.d.ts +0 -1
  357. package/commands/project/__tests__/add.test.js +0 -107
  358. package/commands/project/__tests__/create.test.d.ts +0 -1
  359. package/commands/project/__tests__/create.test.js +0 -97
  360. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  361. package/commands/project/__tests__/deploy.test.js +0 -307
  362. package/commands/project/__tests__/dev.test.d.ts +0 -1
  363. package/commands/project/__tests__/dev.test.js +0 -273
  364. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  365. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  366. package/commands/project/__tests__/download.test.d.ts +0 -1
  367. package/commands/project/__tests__/download.test.js +0 -39
  368. package/commands/project/__tests__/info.test.d.ts +0 -1
  369. package/commands/project/__tests__/info.test.js +0 -145
  370. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  371. package/commands/project/__tests__/installDeps.test.js +0 -140
  372. package/commands/project/__tests__/lint.test.d.ts +0 -1
  373. package/commands/project/__tests__/lint.test.js +0 -704
  374. package/commands/project/__tests__/list.test.d.ts +0 -1
  375. package/commands/project/__tests__/list.test.js +0 -31
  376. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  377. package/commands/project/__tests__/listBuilds.test.js +0 -38
  378. package/commands/project/__tests__/logs.test.d.ts +0 -1
  379. package/commands/project/__tests__/logs.test.js +0 -202
  380. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  381. package/commands/project/__tests__/migrate.test.js +0 -106
  382. package/commands/project/__tests__/open.test.d.ts +0 -1
  383. package/commands/project/__tests__/open.test.js +0 -39
  384. package/commands/project/__tests__/profile.test.d.ts +0 -1
  385. package/commands/project/__tests__/profile.test.js +0 -42
  386. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  387. package/commands/project/__tests__/updateDeps.test.js +0 -140
  388. package/commands/project/__tests__/upload.test.d.ts +0 -1
  389. package/commands/project/__tests__/upload.test.js +0 -234
  390. package/commands/project/__tests__/validate.test.d.ts +0 -1
  391. package/commands/project/__tests__/validate.test.js +0 -381
  392. package/commands/project/__tests__/watch.test.d.ts +0 -1
  393. package/commands/project/__tests__/watch.test.js +0 -35
  394. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  395. package/commands/sandbox/__tests__/create.test.js +0 -198
  396. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  397. package/commands/sandbox/__tests__/delete.test.js +0 -31
  398. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  399. package/commands/secret/__tests__/addSecret.test.js +0 -162
  400. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  401. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  402. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  403. package/commands/secret/__tests__/listSecret.test.js +0 -29
  404. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  405. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  406. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  407. package/commands/testAccount/__tests__/create.test.js +0 -106
  408. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  409. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  410. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  411. package/commands/testAccount/__tests__/delete.test.js +0 -29
  412. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  413. package/commands/testAccount/__tests__/importData.test.js +0 -92
  414. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  415. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  416. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  417. package/lib/__tests__/accountAuth.test.js +0 -258
  418. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  419. package/lib/__tests__/accountTypes.test.js +0 -98
  420. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  421. package/lib/__tests__/buildAccount.test.js +0 -211
  422. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  423. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  424. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  425. package/lib/__tests__/commandSuggestion.test.js +0 -121
  426. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  427. package/lib/__tests__/commonOpts.test.js +0 -80
  428. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  429. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  430. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  431. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  432. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  433. package/lib/__tests__/hasFeature.test.js +0 -167
  434. package/lib/__tests__/http.test.d.ts +0 -1
  435. package/lib/__tests__/http.test.js +0 -40
  436. package/lib/__tests__/importData.test.d.ts +0 -1
  437. package/lib/__tests__/importData.test.js +0 -98
  438. package/lib/__tests__/npmCli.test.d.ts +0 -1
  439. package/lib/__tests__/npmCli.test.js +0 -84
  440. package/lib/__tests__/oauth.test.d.ts +0 -1
  441. package/lib/__tests__/oauth.test.js +0 -109
  442. package/lib/__tests__/parsing.test.d.ts +0 -1
  443. package/lib/__tests__/parsing.test.js +0 -34
  444. package/lib/__tests__/polling.test.d.ts +0 -1
  445. package/lib/__tests__/polling.test.js +0 -76
  446. package/lib/__tests__/process.test.d.ts +0 -1
  447. package/lib/__tests__/process.test.js +0 -89
  448. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  449. package/lib/__tests__/sandboxes.test.js +0 -128
  450. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  451. package/lib/__tests__/serverlessLogs.test.js +0 -163
  452. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  453. package/lib/__tests__/usageTracking.test.js +0 -197
  454. package/lib/__tests__/validation.test.d.ts +0 -1
  455. package/lib/__tests__/validation.test.js +0 -143
  456. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  457. package/lib/__tests__/yargsUtils.test.js +0 -124
  458. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  459. package/lib/app/__tests__/migrate.test.js +0 -638
  460. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  461. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  462. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  463. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  464. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  465. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  466. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  467. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  468. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  469. package/lib/mcp/__tests__/setup.test.js +0 -523
  470. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  471. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  472. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  473. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  474. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  475. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  476. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  477. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  478. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  479. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  480. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  481. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  482. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  483. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  484. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  485. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  486. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  487. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  488. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  489. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  490. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  491. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  492. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  493. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  494. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  495. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  496. package/lib/projects/__tests__/components.test.d.ts +0 -1
  497. package/lib/projects/__tests__/components.test.js +0 -440
  498. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  499. package/lib/projects/__tests__/deploy.test.js +0 -231
  500. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  501. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  502. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  503. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  504. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  505. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  506. package/lib/projects/__tests__/projectInfo.test.d.ts +0 -1
  507. package/lib/projects/__tests__/projectInfo.test.js +0 -114
  508. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  509. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  510. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  511. package/lib/projects/__tests__/projects.test.js +0 -58
  512. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  513. package/lib/projects/__tests__/structure.test.js +0 -210
  514. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  515. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  516. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  517. package/lib/projects/__tests__/upload.test.js +0 -183
  518. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  519. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  520. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  521. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  522. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  523. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  524. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  525. package/lib/projects/create/__tests__/v2.test.js +0 -257
  526. package/lib/projects/platformVersion.d.ts +0 -9
  527. package/lib/projects/platformVersion.js +0 -39
  528. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  529. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  530. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  531. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  532. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  533. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  534. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  535. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  536. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  537. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  538. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  539. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  540. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  541. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  542. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  543. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  544. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  545. package/lib/theme/__tests__/migrate.test.js +0 -247
  546. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  547. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  548. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  549. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  550. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  551. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  552. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  553. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  554. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  555. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  556. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  557. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  558. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  559. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  560. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  561. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  562. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  563. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  564. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  565. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -131
  566. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  567. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  568. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  569. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  570. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  571. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  572. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  573. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  574. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  575. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  576. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  577. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  578. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  579. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  580. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  581. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  582. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  583. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  584. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  585. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  586. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  587. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  588. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  589. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  590. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  591. package/mcp-server/utils/__tests__/command.test.js +0 -275
  592. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  593. package/mcp-server/utils/__tests__/content.test.js +0 -164
  594. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  595. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -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 {};
@@ -1,187 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { createModulePrompt } from '../createModulePrompt.js';
3
- import { promptUser } from '../promptUtils.js';
4
- vi.mock('../promptUtils.js');
5
- const mockPromptUser = vi.mocked(promptUser);
6
- describe('createModulePrompt', () => {
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
- moduleLabel: 'My Module',
14
- reactType: true,
15
- contentTypes: 'LANDING_PAGE,SITE_PAGE',
16
- global: false,
17
- availableForNewContent: true,
18
- };
19
- const result = await createModulePrompt(commandArgs);
20
- expect(mockPromptUser).not.toHaveBeenCalled();
21
- expect(result).toEqual({
22
- moduleLabel: 'My Module',
23
- reactType: true,
24
- contentTypes: ['LANDING_PAGE', 'SITE_PAGE'],
25
- global: false,
26
- availableForNewContent: true,
27
- });
28
- });
29
- it('should use default values when optional parameters not provided', async () => {
30
- const commandArgs = {
31
- moduleLabel: 'My Module',
32
- };
33
- mockPromptUser.mockResolvedValue({
34
- reactType: false,
35
- contentTypes: ['ANY'],
36
- global: false,
37
- availableForNewContent: true,
38
- });
39
- const result = await createModulePrompt(commandArgs);
40
- expect(mockPromptUser).toHaveBeenCalledWith([
41
- expect.objectContaining({ name: 'reactType' }),
42
- expect.objectContaining({ name: 'contentTypes' }),
43
- expect.objectContaining({ name: 'global' }),
44
- expect.objectContaining({ name: 'availableForNewContent' }),
45
- ]);
46
- expect(result).toEqual({
47
- moduleLabel: 'My Module',
48
- reactType: false,
49
- contentTypes: ['ANY'],
50
- global: false,
51
- availableForNewContent: true,
52
- });
53
- });
54
- it('should parse contentTypes string correctly', async () => {
55
- const commandArgs = {
56
- moduleLabel: 'Test Module',
57
- contentTypes: 'BLOG_POST, EMAIL, LANDING_PAGE',
58
- };
59
- mockPromptUser.mockResolvedValue({
60
- reactType: false,
61
- global: false,
62
- availableForNewContent: true,
63
- });
64
- const result = await createModulePrompt(commandArgs);
65
- expect(result.contentTypes).toEqual([
66
- 'BLOG_POST',
67
- 'EMAIL',
68
- 'LANDING_PAGE',
69
- ]);
70
- });
71
- });
72
- describe('when some parameters are missing', () => {
73
- it('should only prompt for missing parameters', async () => {
74
- const commandArgs = {
75
- moduleLabel: 'My Module',
76
- reactType: true,
77
- };
78
- mockPromptUser.mockResolvedValue({
79
- contentTypes: ['SITE_PAGE'],
80
- global: true,
81
- availableForNewContent: false,
82
- });
83
- const result = await createModulePrompt(commandArgs);
84
- expect(mockPromptUser).toHaveBeenCalledWith([
85
- expect.objectContaining({ name: 'contentTypes' }),
86
- expect.objectContaining({ name: 'global' }),
87
- expect.objectContaining({ name: 'availableForNewContent' }),
88
- ]);
89
- expect(result).toEqual({
90
- moduleLabel: 'My Module',
91
- reactType: true,
92
- contentTypes: ['SITE_PAGE'],
93
- global: true,
94
- availableForNewContent: false,
95
- });
96
- });
97
- });
98
- describe('when no parameters are provided', () => {
99
- it('should prompt for all parameters', async () => {
100
- mockPromptUser.mockResolvedValue({
101
- moduleLabel: 'Prompted Module',
102
- reactType: false,
103
- contentTypes: ['ANY'],
104
- global: false,
105
- availableForNewContent: true,
106
- });
107
- const result = await createModulePrompt();
108
- expect(mockPromptUser).toHaveBeenCalledWith([
109
- expect.objectContaining({ name: 'moduleLabel' }),
110
- expect.objectContaining({ name: 'reactType' }),
111
- expect.objectContaining({ name: 'contentTypes' }),
112
- expect.objectContaining({ name: 'global' }),
113
- expect.objectContaining({ name: 'availableForNewContent' }),
114
- ]);
115
- expect(result).toEqual({
116
- moduleLabel: 'Prompted Module',
117
- reactType: false,
118
- contentTypes: ['ANY'],
119
- global: false,
120
- availableForNewContent: true,
121
- });
122
- });
123
- });
124
- describe('parameter precedence', () => {
125
- it('should prioritize command args over prompted values', async () => {
126
- const commandArgs = {
127
- moduleLabel: 'Args Module',
128
- global: true,
129
- };
130
- mockPromptUser.mockResolvedValue({
131
- reactType: false,
132
- contentTypes: ['EMAIL'],
133
- availableForNewContent: false,
134
- });
135
- const result = await createModulePrompt(commandArgs);
136
- expect(result).toEqual({
137
- moduleLabel: 'Args Module', // from commandArgs
138
- reactType: false, // from prompt
139
- contentTypes: ['EMAIL'], // from prompt
140
- global: true, // from commandArgs
141
- availableForNewContent: false, // from prompt
142
- });
143
- });
144
- it('should handle boolean false values correctly', async () => {
145
- const commandArgs = {
146
- moduleLabel: 'Test Module',
147
- reactType: false,
148
- contentTypes: 'ANY',
149
- global: false,
150
- availableForNewContent: false,
151
- };
152
- const result = await createModulePrompt(commandArgs);
153
- expect(mockPromptUser).not.toHaveBeenCalled();
154
- expect(result).toEqual({
155
- moduleLabel: 'Test Module',
156
- reactType: false,
157
- contentTypes: ['ANY'],
158
- global: false,
159
- availableForNewContent: false,
160
- });
161
- });
162
- it('should handle mixed scenario with partial command args and prompting', async () => {
163
- const commandArgs = {
164
- moduleLabel: 'Partial Module',
165
- contentTypes: 'BLOG_POST,BLOG_LISTING',
166
- };
167
- mockPromptUser.mockResolvedValue({
168
- reactType: true,
169
- global: false,
170
- availableForNewContent: true,
171
- });
172
- const result = await createModulePrompt(commandArgs);
173
- expect(mockPromptUser).toHaveBeenCalledWith([
174
- expect.objectContaining({ name: 'reactType' }),
175
- expect.objectContaining({ name: 'global' }),
176
- expect.objectContaining({ name: 'availableForNewContent' }),
177
- ]);
178
- expect(result).toEqual({
179
- moduleLabel: 'Partial Module', // from commandArgs
180
- reactType: true, // from prompt
181
- contentTypes: ['BLOG_POST', 'BLOG_LISTING'], // from commandArgs (parsed)
182
- global: false, // from prompt
183
- availableForNewContent: true, // from prompt
184
- });
185
- });
186
- });
187
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,102 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { createTemplatePrompt } from '../createTemplatePrompt.js';
3
- import { promptUser } from '../promptUtils.js';
4
- vi.mock('../promptUtils.js');
5
- const mockPromptUser = vi.mocked(promptUser);
6
- describe('createTemplatePrompt', () => {
7
- beforeEach(() => {
8
- vi.resetAllMocks();
9
- });
10
- describe('when templateType is provided', () => {
11
- it('should return provided templateType without prompting', async () => {
12
- const commandArgs = {
13
- templateType: 'page-template',
14
- };
15
- const result = await createTemplatePrompt(commandArgs);
16
- expect(mockPromptUser).not.toHaveBeenCalled();
17
- expect(result).toEqual({
18
- templateType: 'page-template',
19
- });
20
- });
21
- it('should work with different template types', async () => {
22
- const testCases = [
23
- 'email-template',
24
- 'partial',
25
- 'global-partial',
26
- 'blog-listing-template',
27
- 'blog-post-template',
28
- 'search-template',
29
- 'section',
30
- ];
31
- for (const templateType of testCases) {
32
- const commandArgs = { templateType };
33
- const result = await createTemplatePrompt(commandArgs);
34
- expect(mockPromptUser).not.toHaveBeenCalled();
35
- expect(result).toEqual({ templateType });
36
- vi.resetAllMocks();
37
- }
38
- });
39
- });
40
- describe('when templateType is not provided', () => {
41
- it('should prompt for templateType', async () => {
42
- mockPromptUser.mockResolvedValue({
43
- templateType: 'page-template',
44
- });
45
- const result = await createTemplatePrompt();
46
- expect(mockPromptUser).toHaveBeenCalledWith([
47
- expect.objectContaining({
48
- name: 'templateType',
49
- type: 'list',
50
- choices: expect.any(Array),
51
- }),
52
- ]);
53
- expect(result).toEqual({
54
- templateType: 'page-template',
55
- });
56
- });
57
- it('should prompt when commandArgs is empty', async () => {
58
- mockPromptUser.mockResolvedValue({
59
- templateType: 'email-template',
60
- });
61
- const result = await createTemplatePrompt({});
62
- expect(mockPromptUser).toHaveBeenCalledWith([
63
- expect.objectContaining({ name: 'templateType' }),
64
- ]);
65
- expect(result).toEqual({
66
- templateType: 'email-template',
67
- });
68
- });
69
- it('should prompt when templateType is undefined', async () => {
70
- const commandArgs = {
71
- templateType: undefined,
72
- };
73
- mockPromptUser.mockResolvedValue({
74
- templateType: 'partial',
75
- });
76
- const result = await createTemplatePrompt(commandArgs);
77
- expect(mockPromptUser).toHaveBeenCalledWith([
78
- expect.objectContaining({ name: 'templateType' }),
79
- ]);
80
- expect(result).toEqual({
81
- templateType: 'partial',
82
- });
83
- });
84
- });
85
- describe('integration scenarios', () => {
86
- it('should handle mixed usage patterns', async () => {
87
- // First call with templateType provided
88
- let result = await createTemplatePrompt({
89
- templateType: 'blog-post-template',
90
- });
91
- expect(result.templateType).toBe('blog-post-template');
92
- expect(mockPromptUser).not.toHaveBeenCalled();
93
- // Second call without templateType
94
- mockPromptUser.mockResolvedValue({
95
- templateType: 'section',
96
- });
97
- result = await createTemplatePrompt();
98
- expect(result.templateType).toBe('section');
99
- expect(mockPromptUser).toHaveBeenCalledTimes(1);
100
- });
101
- });
102
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,31 +0,0 @@
1
- import { getConfigAccountIfExists } from '@hubspot/local-dev-lib/config';
2
- import { fetchProjects } from '@hubspot/local-dev-lib/api/projects';
3
- import { downloadProjectPrompt } from '../downloadProjectPrompt.js';
4
- vi.mock('../promptUtils', () => ({
5
- promptUser: vi.fn().mockResolvedValue({ project: 'test-project' }),
6
- }));
7
- vi.mock('@hubspot/local-dev-lib/api/projects', () => ({
8
- fetchProjects: vi.fn().mockResolvedValue({
9
- data: { results: [] },
10
- }),
11
- }));
12
- vi.mock('@hubspot/local-dev-lib/config', () => ({
13
- getConfigAccountIfExists: vi
14
- .fn()
15
- .mockImplementation(() => ({ accountId: 123456789 })),
16
- globalConfigFileExists: vi.fn().mockReturnValue(true),
17
- }));
18
- describe('lib/prompts/downloadProjectPrompt', () => {
19
- it('should honor the account passed as an option', async () => {
20
- const account = 'Prod';
21
- await downloadProjectPrompt({ account });
22
- expect(getConfigAccountIfExists).toHaveBeenCalledTimes(1);
23
- expect(getConfigAccountIfExists).toHaveBeenCalledWith(account);
24
- });
25
- it('should fetch the projects for the correct accountId', async () => {
26
- const account = 'Prod';
27
- await downloadProjectPrompt({ account });
28
- expect(fetchProjects).toHaveBeenCalledTimes(1);
29
- expect(fetchProjects).toHaveBeenCalledWith(123456789);
30
- });
31
- });
@@ -1 +0,0 @@
1
- export {};