@hubspot/cli 7.8.12-experimental.0 → 7.9.0-beta.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 (451) hide show
  1. package/bin/cli.js +31 -25
  2. package/commands/__tests__/auth.test.js +5 -0
  3. package/commands/__tests__/cms.test.js +44 -1
  4. package/commands/__tests__/customObject.test.js +22 -1
  5. package/commands/__tests__/doctor.test.js +16 -16
  6. package/commands/__tests__/project.test.js +2 -0
  7. package/commands/account/auth.js +1 -0
  8. package/commands/account/clean.js +18 -27
  9. package/commands/account/createOverride.js +13 -31
  10. package/commands/account/info.js +20 -31
  11. package/commands/account/list.js +16 -22
  12. package/commands/account/remove.js +12 -20
  13. package/commands/account/removeOverride.js +11 -21
  14. package/commands/account/rename.js +6 -9
  15. package/commands/account/use.js +12 -26
  16. package/commands/account.js +2 -2
  17. package/commands/app/__tests__/migrate.test.js +5 -5
  18. package/commands/app/migrate.js +13 -18
  19. package/commands/app.js +1 -6
  20. package/commands/auth.d.ts +1 -0
  21. package/commands/auth.js +17 -7
  22. package/commands/{__tests__/remove.test.js → cms/__tests__/delete.test.js} +8 -8
  23. package/commands/{__tests__ → cms/__tests__}/fetch.test.js +3 -3
  24. package/commands/{__tests__ → cms/__tests__}/function.test.js +7 -3
  25. package/commands/{__tests__ → cms/__tests__}/lint.test.js +3 -3
  26. package/commands/{__tests__ → cms/__tests__}/list.test.js +3 -3
  27. package/commands/{__tests__ → cms/__tests__}/mv.test.js +3 -3
  28. package/commands/{__tests__ → cms/__tests__}/theme.test.js +9 -2
  29. package/commands/cms/app/create.d.ts +9 -0
  30. package/commands/cms/app/create.js +82 -0
  31. package/commands/cms/app.d.ts +3 -0
  32. package/commands/cms/app.js +17 -0
  33. package/commands/cms/convertFields.js +7 -9
  34. package/commands/cms/delete.d.ts +6 -0
  35. package/commands/cms/delete.js +43 -0
  36. package/commands/cms/fetch.d.ts +12 -0
  37. package/commands/cms/fetch.js +79 -0
  38. package/commands/{__tests__ → cms/function/__tests__}/logs.test.js +4 -5
  39. package/commands/cms/function/create.d.ts +12 -0
  40. package/commands/cms/function/create.js +84 -0
  41. package/commands/cms/function/deploy.d.ts +6 -0
  42. package/commands/cms/function/deploy.js +89 -0
  43. package/commands/cms/function/list.d.ts +6 -0
  44. package/commands/cms/function/list.js +60 -0
  45. package/commands/cms/function/logs.d.ts +10 -0
  46. package/commands/cms/function/logs.js +135 -0
  47. package/commands/cms/function/server.d.ts +10 -0
  48. package/commands/cms/function/server.js +69 -0
  49. package/commands/cms/function.d.ts +3 -0
  50. package/commands/cms/function.js +27 -0
  51. package/commands/cms/getReactModule.js +9 -14
  52. package/commands/cms/lighthouseScore.js +33 -36
  53. package/commands/cms/lint.d.ts +6 -0
  54. package/commands/cms/lint.js +83 -0
  55. package/commands/cms/list.d.ts +6 -0
  56. package/commands/cms/list.js +96 -0
  57. package/commands/cms/module/create.d.ts +11 -0
  58. package/commands/cms/module/create.js +84 -0
  59. package/commands/cms/module/marketplace-validate.d.ts +6 -0
  60. package/commands/cms/module/marketplace-validate.js +45 -0
  61. package/commands/cms/module.d.ts +3 -0
  62. package/commands/cms/module.js +17 -0
  63. package/commands/cms/mv.d.ts +7 -0
  64. package/commands/cms/mv.js +60 -0
  65. package/commands/cms/template/create.d.ts +9 -0
  66. package/commands/cms/template/create.js +72 -0
  67. package/commands/cms/template.d.ts +3 -0
  68. package/commands/cms/template.js +17 -0
  69. package/commands/{theme → cms/theme}/__tests__/marketplace-validate.test.js +2 -2
  70. package/commands/{theme → cms/theme}/__tests__/preview.test.js +2 -2
  71. package/commands/cms/theme/create.d.ts +6 -0
  72. package/commands/cms/theme/create.js +58 -0
  73. package/commands/cms/theme/generate-selectors.d.ts +6 -0
  74. package/commands/cms/theme/generate-selectors.js +171 -0
  75. package/commands/cms/theme/marketplace-validate.d.ts +6 -0
  76. package/commands/cms/theme/marketplace-validate.js +46 -0
  77. package/commands/cms/theme/preview.d.ts +12 -0
  78. package/commands/cms/theme/preview.js +224 -0
  79. package/commands/cms/theme.d.ts +3 -0
  80. package/commands/cms/theme.js +25 -0
  81. package/commands/cms/upload.d.ts +12 -0
  82. package/commands/cms/upload.js +212 -0
  83. package/commands/cms/watch.d.ts +14 -0
  84. package/commands/cms/watch.js +138 -0
  85. package/commands/cms/webpack/create.d.ts +6 -0
  86. package/commands/cms/webpack/create.js +58 -0
  87. package/commands/cms/webpack.d.ts +3 -0
  88. package/commands/cms/webpack.js +17 -0
  89. package/commands/cms.js +28 -2
  90. package/commands/completion.js +3 -3
  91. package/commands/config/set.d.ts +1 -1
  92. package/commands/config/set.js +64 -36
  93. package/commands/config.js +2 -2
  94. package/commands/create.js +6 -4
  95. package/commands/customObject/{schema/__tests__/create.test.js → __tests__/createSchema.test.js} +5 -5
  96. package/commands/customObject/{schema/__tests__/delete.test.js → __tests__/deleteSchema.test.js} +5 -5
  97. package/commands/customObject/{schema/__tests__/fetch-all.test.js → __tests__/fetch-all-schemas.test.js} +5 -5
  98. package/commands/customObject/{schema/__tests__/fetch.test.js → __tests__/fetchSchema.test.js} +5 -5
  99. package/commands/customObject/{schema/__tests__/list.test.js → __tests__/listSchemas.test.js} +5 -5
  100. package/commands/customObject/{schema/__tests__/update.test.js → __tests__/updateSchema.test.js} +5 -5
  101. package/commands/customObject/create.js +10 -12
  102. package/commands/customObject/createSchema.d.ts +6 -0
  103. package/commands/customObject/createSchema.js +56 -0
  104. package/commands/customObject/deleteSchema.d.ts +7 -0
  105. package/commands/customObject/deleteSchema.js +69 -0
  106. package/commands/customObject/fetchAllSchemas.d.ts +6 -0
  107. package/commands/customObject/fetchAllSchemas.js +57 -0
  108. package/commands/customObject/fetchSchema.d.ts +7 -0
  109. package/commands/customObject/fetchSchema.js +67 -0
  110. package/commands/customObject/listSchemas.d.ts +4 -0
  111. package/commands/customObject/listSchemas.js +35 -0
  112. package/commands/customObject/schema/create.d.ts +4 -6
  113. package/commands/customObject/schema/create.js +13 -38
  114. package/commands/customObject/schema/delete.d.ts +4 -7
  115. package/commands/customObject/schema/delete.js +15 -50
  116. package/commands/customObject/schema/fetch-all.d.ts +4 -6
  117. package/commands/customObject/schema/fetch-all.js +14 -40
  118. package/commands/customObject/schema/fetch.d.ts +4 -7
  119. package/commands/customObject/schema/fetch.js +14 -49
  120. package/commands/customObject/schema/list.d.ts +4 -4
  121. package/commands/customObject/schema/list.js +10 -19
  122. package/commands/customObject/schema/update.d.ts +4 -7
  123. package/commands/customObject/schema/update.js +15 -50
  124. package/commands/customObject/schema.js +5 -3
  125. package/commands/customObject/updateSchema.d.ts +7 -0
  126. package/commands/customObject/updateSchema.js +71 -0
  127. package/commands/customObject.js +22 -8
  128. package/commands/doctor.js +8 -11
  129. package/commands/feedback.js +7 -12
  130. package/commands/fetch.d.ts +4 -12
  131. package/commands/fetch.js +20 -47
  132. package/commands/filemanager/fetch.js +7 -7
  133. package/commands/filemanager/upload.js +15 -34
  134. package/commands/filemanager.js +2 -2
  135. package/commands/function/deploy.d.ts +4 -6
  136. package/commands/function/deploy.js +14 -89
  137. package/commands/function/list.d.ts +4 -6
  138. package/commands/function/list.js +14 -40
  139. package/commands/function/server.d.ts +4 -10
  140. package/commands/function/server.js +22 -31
  141. package/commands/function.d.ts +2 -4
  142. package/commands/function.js +25 -14
  143. package/commands/getStarted.js +2 -2
  144. package/commands/hubdb/clear.js +7 -15
  145. package/commands/hubdb/create.js +9 -15
  146. package/commands/hubdb/delete.js +8 -15
  147. package/commands/hubdb/fetch.js +6 -9
  148. package/commands/hubdb.d.ts +1 -1
  149. package/commands/hubdb.js +2 -2
  150. package/commands/init.js +2 -3
  151. package/commands/lint.d.ts +4 -6
  152. package/commands/lint.js +13 -65
  153. package/commands/list.d.ts +4 -6
  154. package/commands/list.js +14 -81
  155. package/commands/logs.d.ts +4 -10
  156. package/commands/logs.js +25 -94
  157. package/commands/module/marketplace-validate.d.ts +4 -6
  158. package/commands/module/marketplace-validate.js +15 -27
  159. package/commands/module.d.ts +2 -2
  160. package/commands/module.js +17 -15
  161. package/commands/mv.d.ts +4 -7
  162. package/commands/mv.js +14 -51
  163. package/commands/open.js +5 -5
  164. package/commands/project/__tests__/add.test.js +15 -13
  165. package/commands/project/__tests__/deploy.test.js +3 -4
  166. package/commands/project/__tests__/devUnifiedFlow.test.js +32 -0
  167. package/commands/project/__tests__/installDeps.test.js +8 -8
  168. package/commands/project/__tests__/list.test.js +31 -0
  169. package/commands/project/__tests__/logs.test.js +1 -1
  170. package/commands/project/__tests__/migrate.test.js +6 -5
  171. package/commands/project/__tests__/migrateApp.test.js +2 -5
  172. package/commands/project/__tests__/validate.test.js +98 -0
  173. package/commands/project/add.d.ts +2 -2
  174. package/commands/project/add.js +6 -5
  175. package/commands/project/cloneApp.js +14 -19
  176. package/commands/project/create.js +1 -2
  177. package/commands/project/deploy.js +3 -3
  178. package/commands/project/dev/deprecatedFlow.js +9 -18
  179. package/commands/project/dev/index.js +19 -17
  180. package/commands/project/dev/unifiedFlow.js +11 -4
  181. package/commands/project/download.js +15 -15
  182. package/commands/project/installDeps.d.ts +2 -2
  183. package/commands/project/installDeps.js +9 -8
  184. package/commands/project/list.d.ts +4 -0
  185. package/commands/project/list.js +62 -0
  186. package/commands/project/listBuilds.js +11 -20
  187. package/commands/project/logs.js +21 -24
  188. package/commands/project/migrate.js +5 -2
  189. package/commands/project/migrateApp.js +9 -15
  190. package/commands/project/open.js +6 -13
  191. package/commands/project/upload.d.ts +2 -2
  192. package/commands/project/upload.js +17 -26
  193. package/commands/project/validate.js +6 -6
  194. package/commands/project/watch.js +13 -22
  195. package/commands/project.js +4 -2
  196. package/commands/remove.d.ts +4 -6
  197. package/commands/remove.js +12 -24
  198. package/commands/sandbox/__tests__/create.test.js +5 -5
  199. package/commands/sandbox/create.js +22 -32
  200. package/commands/sandbox/delete.js +38 -63
  201. package/commands/sandbox.js +2 -2
  202. package/commands/secret/addSecret.js +7 -17
  203. package/commands/secret/deleteSecret.js +10 -20
  204. package/commands/secret/listSecret.js +8 -10
  205. package/commands/secret/updateSecret.js +9 -17
  206. package/commands/secret.js +2 -2
  207. package/commands/testAccount/__tests__/delete.test.js +2 -4
  208. package/commands/testAccount/create.js +2 -5
  209. package/commands/testAccount/delete.d.ts +4 -3
  210. package/commands/testAccount/delete.js +155 -14
  211. package/commands/theme/generate-selectors.d.ts +4 -6
  212. package/commands/theme/generate-selectors.js +14 -152
  213. package/commands/theme/marketplace-validate.d.ts +4 -6
  214. package/commands/theme/marketplace-validate.js +14 -25
  215. package/commands/theme/preview.d.ts +4 -12
  216. package/commands/theme/preview.js +18 -183
  217. package/commands/theme.d.ts +2 -2
  218. package/commands/theme.js +19 -13
  219. package/commands/upload.d.ts +4 -12
  220. package/commands/upload.js +19 -169
  221. package/commands/watch.d.ts +4 -14
  222. package/commands/watch.js +23 -88
  223. package/lang/en.d.ts +863 -542
  224. package/lang/en.js +912 -595
  225. package/lang/en.lyaml +4 -4
  226. package/lib/__tests__/buildAccount.test.js +4 -3
  227. package/lib/__tests__/commonOpts.test.js +1 -1
  228. package/lib/__tests__/dependencyManagement.test.js +1 -1
  229. package/lib/__tests__/developerTestAccounts.test.js +3 -3
  230. package/lib/__tests__/npm.test.js +1 -1
  231. package/lib/__tests__/oauth.test.js +4 -4
  232. package/lib/__tests__/process.test.js +10 -5
  233. package/lib/__tests__/sandboxSync.test.js +8 -8
  234. package/lib/__tests__/sandboxes.test.js +8 -8
  235. package/lib/__tests__/serverlessLogs.test.js +1 -1
  236. package/lib/__tests__/usageTracking.test.js +5 -5
  237. package/lib/__tests__/validation.test.js +2 -1
  238. package/lib/__tests__/yargsUtils.test.js +83 -9
  239. package/lib/app/__tests__/migrate.test.js +5 -5
  240. package/lib/app/__tests__/migrate_legacy.test.js +1 -1
  241. package/lib/app/migrate.js +1 -1
  242. package/lib/app/migrate_legacy.js +20 -24
  243. package/lib/buildAccount.d.ts +2 -2
  244. package/lib/buildAccount.js +32 -64
  245. package/lib/commonOpts.d.ts +1 -1
  246. package/lib/commonOpts.js +25 -22
  247. package/lib/configMigrate.js +88 -9
  248. package/lib/configOptions.js +7 -0
  249. package/lib/constants.d.ts +15 -1
  250. package/lib/constants.js +19 -1
  251. package/lib/dependencyManagement.js +9 -27
  252. package/lib/developerTestAccounts.js +9 -23
  253. package/lib/doctor/Diagnosis.js +11 -23
  254. package/lib/doctor/DiagnosticInfoBuilder.js +12 -11
  255. package/lib/doctor/Doctor.js +42 -90
  256. package/lib/doctor/__tests__/Doctor.test.js +4 -4
  257. package/lib/errorHandlers/index.js +12 -20
  258. package/lib/errorHandlers/suppressError.js +11 -18
  259. package/lib/generateSelectors.js +1 -1
  260. package/lib/lang.js +6 -5
  261. package/lib/links.js +4 -4
  262. package/lib/middleware/__test__/commandTargetingUtils.test.js +99 -0
  263. package/lib/middleware/__test__/configMiddleware.test.js +11 -11
  264. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +6 -8
  265. package/lib/middleware/autoUpdateMiddleware.d.ts +2 -1
  266. package/lib/middleware/autoUpdateMiddleware.js +12 -2
  267. package/lib/middleware/commandTargetingUtils.d.ts +8 -0
  268. package/lib/middleware/commandTargetingUtils.js +74 -0
  269. package/lib/middleware/configMiddleware.d.ts +1 -1
  270. package/lib/middleware/configMiddleware.js +21 -81
  271. package/lib/middleware/gitMiddleware.js +5 -1
  272. package/lib/middleware/notificationsMiddleware.js +5 -11
  273. package/lib/middleware/yargsChecksMiddleware.js +6 -9
  274. package/lib/npm.js +2 -2
  275. package/lib/oauth.js +5 -5
  276. package/lib/process.js +5 -4
  277. package/lib/projectProfiles.d.ts +1 -1
  278. package/lib/projectProfiles.js +2 -10
  279. package/lib/projects/__tests__/AppDevModeInterface.test.js +101 -135
  280. package/lib/projects/__tests__/DevServerManager.test.js +183 -0
  281. package/lib/projects/__tests__/LocalDevProcess.test.js +6 -5
  282. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +76 -45
  283. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +1 -0
  284. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +161 -0
  285. package/lib/projects/__tests__/deploy.test.js +9 -9
  286. package/lib/projects/__tests__/localDevProjectHelpers.test.js +2 -0
  287. package/lib/projects/__tests__/platformVersion.test.js +8 -8
  288. package/lib/projects/__tests__/projects.test.js +12 -12
  289. package/lib/projects/__tests__/structure.test.js +3 -3
  290. package/lib/projects/__tests__/upload.test.d.ts +1 -0
  291. package/lib/projects/__tests__/upload.test.js +82 -0
  292. package/lib/projects/add/__tests__/legacyAddComponent.test.js +6 -6
  293. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +1 -0
  294. package/lib/projects/add/__tests__/{v3AddComponent.test.js → v2AddComponent.test.js} +39 -39
  295. package/lib/projects/add/{v3AddComponent.d.ts → v2AddComponent.d.ts} +1 -1
  296. package/lib/projects/add/{v3AddComponent.js → v2AddComponent.js} +5 -5
  297. package/lib/projects/create/__tests__/legacy.test.js +5 -5
  298. package/lib/projects/create/__tests__/v2.test.d.ts +1 -0
  299. package/lib/projects/create/__tests__/{v3.test.js → v2.test.js} +3 -3
  300. package/lib/projects/create/index.js +4 -4
  301. package/lib/projects/create/legacy.js +2 -2
  302. package/lib/projects/create/{v3.d.ts → v2.d.ts} +3 -3
  303. package/lib/projects/create/{v3.js → v2.js} +5 -5
  304. package/lib/projects/deploy.d.ts +1 -1
  305. package/lib/projects/deploy.js +2 -2
  306. package/lib/projects/localDev/AppDevModeInterface.d.ts +11 -3
  307. package/lib/projects/localDev/AppDevModeInterface.js +128 -115
  308. package/lib/projects/localDev/DevServerManager.d.ts +10 -29
  309. package/lib/projects/localDev/DevServerManager.js +20 -76
  310. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +40 -0
  311. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +120 -0
  312. package/lib/projects/localDev/LocalDevLogger.js +10 -11
  313. package/lib/projects/localDev/{LocalDevManager.js → LocalDevManager_DEPRECATED.js} +10 -11
  314. package/lib/projects/localDev/LocalDevProcess.js +3 -2
  315. package/lib/projects/localDev/LocalDevState.d.ts +3 -0
  316. package/lib/projects/localDev/LocalDevState.js +9 -0
  317. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +4 -1
  318. package/lib/projects/localDev/LocalDevWebsocketServer.js +46 -16
  319. package/lib/projects/localDev/UIExtensionsDevModeInterface.d.ts +13 -0
  320. package/lib/projects/localDev/UIExtensionsDevModeInterface.js +37 -0
  321. package/lib/projects/localDev/helpers/account.d.ts +1 -1
  322. package/lib/projects/localDev/helpers/account.js +2 -2
  323. package/lib/projects/localDev/helpers/process.d.ts +1 -0
  324. package/lib/projects/localDev/helpers/process.js +15 -0
  325. package/lib/projects/localDev/helpers/project.d.ts +1 -0
  326. package/lib/projects/localDev/helpers/project.js +39 -3
  327. package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +3 -0
  328. package/lib/projects/localDev/localDevWebsocketServerUtils.js +9 -0
  329. package/lib/projects/platformVersion.d.ts +1 -1
  330. package/lib/projects/platformVersion.js +1 -1
  331. package/lib/projects/structure.d.ts +2 -2
  332. package/lib/projects/structure.js +6 -6
  333. package/lib/projects/upload.d.ts +2 -3
  334. package/lib/projects/upload.js +17 -9
  335. package/lib/projects/urls.d.ts +0 -1
  336. package/lib/projects/urls.js +0 -3
  337. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +1 -0
  338. package/lib/prompts/__tests__/projectAddPrompt.test.js +10 -10
  339. package/lib/prompts/accountNamePrompt.js +14 -19
  340. package/lib/prompts/accountsPrompt.js +2 -2
  341. package/lib/prompts/cmsFieldPrompt.js +2 -2
  342. package/lib/prompts/createApiSamplePrompt.js +5 -5
  343. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +10 -1
  344. package/lib/prompts/createFunctionPrompt.js +14 -14
  345. package/lib/prompts/createModulePrompt.js +9 -9
  346. package/lib/prompts/createTemplatePrompt.js +2 -2
  347. package/lib/prompts/downloadProjectPrompt.js +5 -8
  348. package/lib/prompts/installAppPrompt.d.ts +1 -6
  349. package/lib/prompts/installAppPrompt.js +1 -6
  350. package/lib/prompts/personalAccessKeyPrompt.js +3 -3
  351. package/lib/prompts/previewPrompt.js +6 -6
  352. package/lib/prompts/projectAddPrompt.d.ts +2 -2
  353. package/lib/prompts/projectAddPrompt.js +7 -1
  354. package/lib/prompts/projectDevTargetAccountPrompt.js +20 -32
  355. package/lib/prompts/projectNamePrompt.js +4 -8
  356. package/lib/prompts/projectsLogsPrompt.js +2 -4
  357. package/lib/prompts/promptUtils.js +27 -9
  358. package/lib/prompts/sandboxesPrompt.js +7 -7
  359. package/lib/prompts/secretPrompt.js +3 -3
  360. package/lib/prompts/selectAppPrompt.js +3 -3
  361. package/lib/prompts/selectHubDBTablePrompt.js +9 -13
  362. package/lib/prompts/selectPublicAppForMigrationPrompt.js +15 -19
  363. package/lib/prompts/setAsDefaultAccountPrompt.js +4 -8
  364. package/lib/prompts/uploadPrompt.js +5 -5
  365. package/lib/sandboxSync.js +24 -41
  366. package/lib/sandboxes.js +19 -47
  367. package/lib/schema.js +3 -3
  368. package/lib/serverlessLogs.js +11 -13
  369. package/lib/theme/__tests__/migrate.test.js +6 -6
  370. package/lib/theme/migrate.js +2 -2
  371. package/lib/ui/SpinniesManager.d.ts +2 -0
  372. package/lib/ui/SpinniesManager.js +7 -0
  373. package/lib/ui/boxen.js +1 -2
  374. package/lib/ui/git.js +13 -10
  375. package/lib/ui/index.d.ts +6 -0
  376. package/lib/ui/index.js +55 -38
  377. package/lib/ui/serverlessFunctionLogs.js +9 -7
  378. package/lib/ui/uiMessages.d.ts +73 -0
  379. package/lib/ui/uiMessages.js +76 -0
  380. package/lib/usageTracking.js +7 -7
  381. package/lib/validation.js +20 -23
  382. package/lib/yargsUtils.d.ts +1 -1
  383. package/lib/yargsUtils.js +12 -5
  384. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -4
  385. package/mcp-server/tools/index.js +4 -0
  386. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +23 -0
  387. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +68 -0
  388. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +11 -0
  389. package/mcp-server/tools/project/GetApplicationInfoTool.js +49 -0
  390. package/mcp-server/tools/project/GetConfigValuesTool.js +2 -2
  391. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +2 -2
  392. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +1 -1
  393. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +1 -0
  394. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +169 -0
  395. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +1 -0
  396. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +115 -0
  397. package/mcp-server/utils/toolUsageTracking.js +2 -2
  398. package/package.json +8 -7
  399. package/types/Cms.d.ts +6 -6
  400. package/types/Yargs.d.ts +1 -1
  401. package/commands/app/__tests__/install.test.js +0 -47
  402. package/commands/app/install.d.ts +0 -8
  403. package/commands/app/install.js +0 -122
  404. package/lib/middleware/__test__/utils.test.js +0 -51
  405. package/lib/middleware/utils.d.ts +0 -8
  406. package/lib/middleware/utils.js +0 -14
  407. package/lib/projects/localDev/DevServerManagerV2.d.ts +0 -22
  408. package/lib/projects/localDev/DevServerManagerV2.js +0 -81
  409. /package/commands/{customObject/schema → cms}/__tests__/delete.test.d.ts +0 -0
  410. /package/commands/{__tests__ → cms/__tests__}/fetch.test.d.ts +0 -0
  411. /package/commands/{__tests__ → cms/__tests__}/function.test.d.ts +0 -0
  412. /package/commands/{__tests__ → cms/__tests__}/lint.test.d.ts +0 -0
  413. /package/commands/{__tests__ → cms/__tests__}/list.test.d.ts +0 -0
  414. /package/commands/{__tests__ → cms/__tests__}/mv.test.d.ts +0 -0
  415. /package/commands/{__tests__ → cms/__tests__}/theme.test.d.ts +0 -0
  416. /package/commands/{__tests__ → cms/function/__tests__}/logs.test.d.ts +0 -0
  417. /package/commands/{theme → cms/theme}/__tests__/generate-selectors.test.d.ts +0 -0
  418. /package/commands/{theme → cms/theme}/__tests__/generate-selectors.test.js +0 -0
  419. /package/commands/{theme → cms/theme}/__tests__/marketplace-validate.test.d.ts +0 -0
  420. /package/commands/{theme → cms/theme}/__tests__/preview.test.d.ts +0 -0
  421. /package/commands/{__tests__/remove.test.d.ts → customObject/__tests__/createSchema.test.d.ts} +0 -0
  422. /package/commands/{app/__tests__/install.test.d.ts → customObject/__tests__/deleteSchema.test.d.ts} +0 -0
  423. /package/commands/customObject/{schema/__tests__/create.test.d.ts → __tests__/fetch-all-schemas.test.d.ts} +0 -0
  424. /package/commands/customObject/{schema/__tests__/fetch-all.test.d.ts → __tests__/fetchSchema.test.d.ts} +0 -0
  425. /package/commands/customObject/{schema/__tests__/fetch.test.d.ts → __tests__/listSchemas.test.d.ts} +0 -0
  426. /package/commands/customObject/{schema/__tests__/list.test.d.ts → __tests__/updateSchema.test.d.ts} +0 -0
  427. /package/commands/{customObject/schema/__tests__/update.test.d.ts → project/__tests__/list.test.d.ts} +0 -0
  428. /package/{lib/middleware/__test__/utils.test.d.ts → commands/project/__tests__/validate.test.d.ts} +0 -0
  429. /package/{commands/create → lib/cmsAssets}/api-sample.d.ts +0 -0
  430. /package/{commands/create → lib/cmsAssets}/api-sample.js +0 -0
  431. /package/{commands/create → lib/cmsAssets}/app.d.ts +0 -0
  432. /package/{commands/create → lib/cmsAssets}/app.js +0 -0
  433. /package/{commands/create → lib/cmsAssets}/function.d.ts +0 -0
  434. /package/{commands/create → lib/cmsAssets}/function.js +0 -0
  435. /package/{commands/create → lib/cmsAssets}/index.d.ts +0 -0
  436. /package/{commands/create → lib/cmsAssets}/index.js +0 -0
  437. /package/{commands/create → lib/cmsAssets}/module.d.ts +0 -0
  438. /package/{commands/create → lib/cmsAssets}/module.js +0 -0
  439. /package/{commands/create → lib/cmsAssets}/react-app.d.ts +0 -0
  440. /package/{commands/create → lib/cmsAssets}/react-app.js +0 -0
  441. /package/{commands/create → lib/cmsAssets}/template.d.ts +0 -0
  442. /package/{commands/create → lib/cmsAssets}/template.js +0 -0
  443. /package/{commands/create → lib/cmsAssets}/vue-app.d.ts +0 -0
  444. /package/{commands/create → lib/cmsAssets}/vue-app.js +0 -0
  445. /package/{commands/create → lib/cmsAssets}/webpack-serverless.d.ts +0 -0
  446. /package/{commands/create → lib/cmsAssets}/webpack-serverless.js +0 -0
  447. /package/{commands/create → lib/cmsAssets}/website-theme.d.ts +0 -0
  448. /package/{commands/create → lib/cmsAssets}/website-theme.js +0 -0
  449. /package/lib/{projects/add/__tests__/v3AddComponent.test.d.ts → middleware/__test__/commandTargetingUtils.test.d.ts} +0 -0
  450. /package/lib/projects/{create/__tests__/v3.test.d.ts → __tests__/DevServerManager.test.d.ts} +0 -0
  451. /package/lib/projects/localDev/{LocalDevManager.d.ts → LocalDevManager_DEPRECATED.d.ts} +0 -0
@@ -1,39 +1,180 @@
1
- import { deleteDeveloperTestAccount } from '@hubspot/local-dev-lib/api/developerTestAccounts';
1
+ import { fetchDeveloperTestAccounts, deleteDeveloperTestAccount, } from '@hubspot/local-dev-lib/api/developerTestAccounts';
2
2
  import { makeYargsBuilder } from '../../lib/yargsUtils.js';
3
3
  import { EXIT_CODES } from '../../lib/enums/exitCodes.js';
4
4
  import { uiLogger } from '../../lib/ui/logger.js';
5
5
  import { trackCommandUsage } from '../../lib/usageTracking.js';
6
6
  import { commands } from '../../lang/en.js';
7
- const command = 'delete <test-account-id>';
7
+ import { deleteAccount, getAccountConfig, getAccountId, getConfigPath, loadConfig, updateDefaultAccount, } from '@hubspot/local-dev-lib/config';
8
+ import { promptUser } from '../../lib/prompts/promptUtils.js';
9
+ import { debugError } from '../../lib/errorHandlers/index.js';
10
+ const command = 'delete [test-account]';
8
11
  const describe = commands.testAccount.delete.describe;
9
- async function handler(args) {
10
- const { derivedAccountId, testAccountId } = args;
11
- trackCommandUsage('test-account-delete', {}, derivedAccountId);
12
+ async function getAccountPromptOptions(derivedAccountId) {
12
13
  try {
13
- await deleteDeveloperTestAccount(derivedAccountId, testAccountId, true);
14
- uiLogger.success(commands.testAccount.delete.success.testAccountDeleted(testAccountId));
14
+ const { data } = await fetchDeveloperTestAccounts(derivedAccountId);
15
+ return data.results.map(testAccount => ({
16
+ name: `${testAccount.accountName} (${testAccount.id})`,
17
+ value: testAccount.id,
18
+ }));
15
19
  }
16
20
  catch (err) {
17
- uiLogger.error(commands.testAccount.delete.errors.failedToDelete);
21
+ uiLogger.error(commands.testAccount.delete.errors.failedToFetchTestAccounts);
22
+ throw err;
23
+ }
24
+ }
25
+ async function accountToDeleteSelectionPrompt(derivedAccountId) {
26
+ const accountData = await getAccountPromptOptions(derivedAccountId);
27
+ if (accountData.length === 0) {
28
+ uiLogger.error(commands.testAccount.delete.errors.noAccountsToDelete(derivedAccountId));
29
+ process.exit(EXIT_CODES.ERROR);
30
+ }
31
+ const { testAccountToDelete } = await promptUser([
32
+ {
33
+ type: 'list',
34
+ name: 'testAccountToDelete',
35
+ pageSize: 20,
36
+ message: commands.testAccount.delete.prompts.selectTestAccounts,
37
+ choices: accountData,
38
+ },
39
+ ]);
40
+ return testAccountToDelete;
41
+ }
42
+ async function confirmDeletion() {
43
+ const { shouldDelete } = await promptUser([
44
+ {
45
+ type: 'confirm',
46
+ name: 'shouldDelete',
47
+ message: commands.testAccount.delete.prompts.confirmDeletion,
48
+ },
49
+ ]);
50
+ return shouldDelete;
51
+ }
52
+ async function deleteTestAccountInHubSpot(derivedAccountId, accountId) {
53
+ try {
54
+ await deleteDeveloperTestAccount(derivedAccountId, accountId, true);
55
+ uiLogger.success(commands.testAccount.delete.success.testAccountDeletedFromHubSpot(accountId));
56
+ }
57
+ catch (e) {
58
+ debugError(e);
59
+ uiLogger.error(commands.testAccount.delete.errors.failedToDelete(accountId));
60
+ }
61
+ }
62
+ async function deleteTestAccountFromConfig(testAccountId, parentAccountName, account) {
63
+ try {
64
+ // If the account isn't in the local config then it wasn't auth'd on the local machine
65
+ if (account && account.name && account.accountType) {
66
+ // If the deleted test account was the default account, replace the default account with the parent account
67
+ loadConfig(getConfigPath()); // Get updated version of the config
68
+ const defaultAccountId = getAccountId(); // We need to get the current default accountId before delete the test account
69
+ await deleteAccount(account.name);
70
+ uiLogger.success(commands.testAccount.delete.success.testAccountDeletedFromConfig(testAccountId));
71
+ if (testAccountId === defaultAccountId) {
72
+ updateDefaultAccount(parentAccountName);
73
+ uiLogger.info(commands.testAccount.delete.info.replaceDefaultAccount(testAccountId, parentAccountName));
74
+ }
75
+ }
76
+ }
77
+ catch (e) {
78
+ debugError(e);
79
+ uiLogger.error(commands.testAccount.delete.errors.failedToDeleteFromConfig(testAccountId));
80
+ }
81
+ }
82
+ async function validateTestAccountConfigs(testAccountId) {
83
+ if (!testAccountId) {
84
+ uiLogger.error(commands.testAccount.delete.errors.testAccountNotFound(testAccountId));
85
+ process.exit(EXIT_CODES.ERROR);
86
+ }
87
+ const testAccountConfig = getAccountConfig(testAccountId);
88
+ if (!testAccountConfig) {
89
+ uiLogger.error(commands.testAccount.delete.errors.testAccountNotFound(testAccountId));
18
90
  process.exit(EXIT_CODES.ERROR);
19
91
  }
92
+ const parentAccountConfig = getAccountConfig(testAccountConfig.parentAccountId);
93
+ if (!parentAccountConfig) {
94
+ uiLogger.error(commands.testAccount.delete.errors.parentAccountNotFound(testAccountId));
95
+ process.exit(EXIT_CODES.ERROR);
96
+ }
97
+ const parentAccountName = parentAccountConfig.name;
98
+ return { testAccountConfig, parentAccountName };
99
+ }
100
+ async function handler(args) {
101
+ const { derivedAccountId, testAccount, force } = args;
102
+ trackCommandUsage('test-account-delete', {}, derivedAccountId);
103
+ let testAccountIdToDelete = 0;
104
+ // See if the account exists
105
+ if (testAccount) {
106
+ const accountId = getAccountId(testAccount);
107
+ await validateTestAccountConfigs(accountId);
108
+ if (accountId) {
109
+ testAccountIdToDelete = accountId;
110
+ }
111
+ }
112
+ // Prompt for selection when name or id aren't provided
113
+ if (!testAccountIdToDelete) {
114
+ try {
115
+ testAccountIdToDelete =
116
+ await accountToDeleteSelectionPrompt(derivedAccountId);
117
+ }
118
+ catch (err) {
119
+ debugError(err);
120
+ uiLogger.error(commands.testAccount.delete.errors.failedToSelectAccount);
121
+ process.exit(EXIT_CODES.ERROR);
122
+ }
123
+ }
124
+ const { testAccountConfig, parentAccountName } = await validateTestAccountConfigs(testAccountIdToDelete);
125
+ // If --force, don't prompt user; else confirm deletion
126
+ let shouldDeleteAccount;
127
+ if (force) {
128
+ shouldDeleteAccount = true;
129
+ }
130
+ else {
131
+ shouldDeleteAccount = await confirmDeletion();
132
+ }
133
+ if (shouldDeleteAccount) {
134
+ const parentAccountId = testAccountConfig.parentAccountId;
135
+ await deleteTestAccountInHubSpot(parentAccountId, testAccountIdToDelete);
136
+ await deleteTestAccountFromConfig(testAccountIdToDelete, parentAccountName, testAccountConfig);
137
+ }
138
+ else {
139
+ uiLogger.info(commands.testAccount.delete.info.deletionCanceled);
140
+ }
20
141
  process.exit(EXIT_CODES.SUCCESS);
21
142
  }
22
143
  function deleteTestAccountBuilder(yargs) {
23
- yargs.positional('test-account-id', {
24
- type: 'number',
25
- description: commands.testAccount.delete.positionals.testAccountId,
26
- required: true,
144
+ yargs.positional('test-account', {
145
+ type: 'string',
146
+ description: commands.testAccount.delete.options.id,
147
+ required: false,
148
+ });
149
+ yargs.option('force', {
150
+ describe: commands.testAccount.delete.options.force,
151
+ type: 'boolean',
152
+ default: false,
27
153
  });
28
154
  yargs.example([
29
- ['$0 delete 1234567890', commands.testAccount.delete.example(1234567890)],
155
+ [
156
+ '$0 test-account delete 12345678',
157
+ commands.testAccount.delete.examples.withPositionalID(12345678),
158
+ ],
159
+ [
160
+ '$0 test-account delete my-test-account',
161
+ commands.testAccount.delete.examples.withPositionalName('my-test-account'),
162
+ ],
163
+ [
164
+ '$0 test-account delete --test-account=12345678',
165
+ commands.testAccount.delete.examples.withID(12345678),
166
+ ],
167
+ [
168
+ '$0 test-account delete --test-account=my-test-account',
169
+ commands.testAccount.delete.examples.withName('my-test-account'),
170
+ ],
171
+ ['$0 test-account delete', commands.testAccount.delete.examples.withoutId],
30
172
  ]);
31
173
  return yargs;
32
174
  }
33
175
  const builder = makeYargsBuilder(deleteTestAccountBuilder, command, describe, {
34
176
  useGlobalOptions: true,
35
177
  useEnvironmentOptions: true,
36
- useAccountOptions: true,
37
178
  useConfigOptions: true,
38
179
  useTestingOptions: true,
39
180
  });
@@ -1,6 +1,4 @@
1
- import { CommonArgs, YargsCommandModule } from '../../types/Yargs.js';
2
- type ThemeSelectorArgs = CommonArgs & {
3
- path: string;
4
- };
5
- declare const themeSelectorsCommand: YargsCommandModule<unknown, ThemeSelectorArgs>;
6
- export default themeSelectorsCommand;
1
+ import { YargsCommandModule } from '../../types/Yargs.js';
2
+ import { ThemeSelectorArgs } from '../cms/theme/generate-selectors.js';
3
+ declare const deprecatedGenerateSelectorsCommand: YargsCommandModule<unknown, ThemeSelectorArgs>;
4
+ export default deprecatedGenerateSelectorsCommand;
@@ -1,168 +1,30 @@
1
- import fs from 'fs';
2
- import { commands } from '../../lang/en.js';
3
- import { findFieldsJsonPath, combineThemeCss, setPreviewSelectors, generateInheritedSelectors, generateSelectorsMap, getMaxFieldsDepth, } from '../../lib/generateSelectors.js';
4
- import { EXIT_CODES } from '../../lib/enums/exitCodes.js';
1
+ import { uiCommandRelocatedMessage, uiCommandRenamedDescription, uiDeprecatedTag, } from '../../lib/ui/index.js';
2
+ import generateSelectorsCommand from '../cms/theme/generate-selectors.js';
5
3
  import { makeYargsBuilder } from '../../lib/yargsUtils.js';
6
- import { uiLogger } from '../../lib/ui/logger.js';
7
- const HUBL_EXPRESSION_REGEX = new RegExp(/{%\s*(.*)\s*%}/, 'g');
8
- const HUBL_VARIABLE_NAME_REGEX = new RegExp(/{%\s*set\s*(\w*)/, 'i');
9
- const HUBL_STATEMENT_REGEX = new RegExp(/{{\s*[\w.(,\d\-\s)|/~]*.*}}/, 'g');
10
- const HUBL_STATEMENT_PLACEHOLDER_REGEX = new RegExp(/hubl_statement_\d*/, 'g');
11
- const CSS_VARS_REGEX = new RegExp(/--([\w.(,\d\-)]*):(.*);/, 'g');
12
- const CSS_VARS_NAME_REGEX = new RegExp(/(--[\w.(,\d\-)]*)/, 'g');
13
- const CSS_SELECTORS_REGEX = new RegExp(/([\s\w:.,\0-[\]]*){/, 'i');
14
- const CSS_EXPRESSION_REGEX = new RegExp(/(?!\s)([^}])*(?![.#\s,>])[^}]*}/, 'g');
15
- const THEME_PATH_REGEX = new RegExp(/=\s*.*(theme\.(\w|\.)*)/, 'i');
4
+ import { commands } from '../../lang/en.js';
16
5
  const command = 'generate-selectors <path>';
17
- const describe = commands.theme.subcommands.generateSelectors.describe;
6
+ const describe = uiDeprecatedTag(generateSelectorsCommand.describe, false);
18
7
  async function handler(args) {
19
- const { path } = args;
20
- const fieldsJsonPath = findFieldsJsonPath(path);
21
- if (!fieldsJsonPath) {
22
- uiLogger.error(commands.theme.subcommands.generateSelectors.errors.fieldsNotFound);
23
- process.exit(EXIT_CODES.ERROR);
24
- }
25
- let fieldsJson = JSON.parse(fs.readFileSync(fieldsJsonPath, 'utf-8'));
26
- let cssString = combineThemeCss(path) ?? '';
27
- /**
28
- * Creates map of HubL variable names to theme field paths
29
- */
30
- const HubLExpressions = cssString.match(HUBL_EXPRESSION_REGEX);
31
- const hublVariableMap = HubLExpressions
32
- ? HubLExpressions.reduce((_hublVariableMap, expression) => {
33
- const variableName = expression.match(HUBL_VARIABLE_NAME_REGEX);
34
- const themeFieldKey = expression.match(THEME_PATH_REGEX);
35
- if (!themeFieldKey || !variableName)
36
- return _hublVariableMap;
37
- _hublVariableMap[variableName[1]] = themeFieldKey[1];
38
- return _hublVariableMap;
39
- }, {})
40
- : {};
41
- /**
42
- * Removes HubL variable expressions
43
- */
44
- cssString = cssString.replace(HUBL_EXPRESSION_REGEX, '');
45
- /**
46
- * Regex for HubL variable names
47
- */
48
- const HUBL_EXPRESSIONS = new RegExp(`.*(${Object.keys(hublVariableMap).join('|')}).*`, 'g');
49
- /**
50
- * Matches all HubL statements in the CSS and replaces them with a placeholder string
51
- * This is to prevent the the css expression regex from capturing all the HubL as well
52
- */
53
- const hublStatements = cssString.match(HUBL_STATEMENT_REGEX) || [];
54
- const hublStatementsMap = {};
55
- hublStatements.forEach((statement, index) => {
56
- const statementKey = `hubl_statement_${index}`;
57
- hublStatementsMap[statementKey] = statement;
58
- cssString = cssString.replace(statement, statementKey);
59
- });
60
- /**
61
- * Matchs all css variables and determines if there are hubl within those vars.
62
- */
63
- const cssVars = cssString.match(CSS_VARS_REGEX) || [];
64
- const cssVarsMap = cssVars.reduce((acc, expression) => {
65
- const cssVarName = expression.match(CSS_VARS_NAME_REGEX);
66
- const hublVariables = expression.match(HUBL_STATEMENT_PLACEHOLDER_REGEX);
67
- if (!cssVarName || !hublVariables)
68
- return acc;
69
- cssString = cssString.replace(expression, '');
70
- return { ...acc, [cssVarName[0]]: hublVariables };
71
- }, {});
72
- // replace all css variable references with corresponding hubl placeholder
73
- Object.keys(cssVarsMap).forEach(cssVarName => {
74
- const hublPlaceholders = cssVarsMap[cssVarName];
75
- cssString = cssString.replace(cssVarName, hublPlaceholders.join(' '));
76
- });
77
- /**
78
- * Parses each css string for a HubL statement and tries to map theme field paths to CSS selectors
79
- */
80
- const cssExpressions = (cssString.match(CSS_EXPRESSION_REGEX) || []).map(exp => exp.replace(/\r?\n/g, ' '));
81
- const finalMap = cssExpressions.reduce((themeFieldsSelectorMap, cssExpression) => {
82
- const hublStatementsPlaceholderKey = cssExpression.match(HUBL_STATEMENT_PLACEHOLDER_REGEX) || [];
83
- hublStatementsPlaceholderKey.forEach(placeholderKey => {
84
- let hublStatement;
85
- let themeFieldPath;
86
- if (placeholderKey in hublStatementsMap) {
87
- hublStatement =
88
- hublStatementsMap[placeholderKey].match(HUBL_EXPRESSIONS);
89
- themeFieldPath =
90
- hublStatementsMap[placeholderKey].match(/theme\.[\w|.]*/);
91
- }
92
- const cssSelectors = cssExpression.match(CSS_SELECTORS_REGEX);
93
- /**
94
- * Try to match a HubL statement to any HubL Variables being used
95
- */
96
- if (cssSelectors && themeFieldPath) {
97
- const cssSelector = cssSelectors[1].replace(/\n/g, ' ');
98
- const hublThemePath = themeFieldPath?.[0] ?? '';
99
- if (!themeFieldsSelectorMap[hublThemePath]) {
100
- themeFieldsSelectorMap[hublThemePath] = [];
101
- }
102
- if (!themeFieldsSelectorMap[hublThemePath].includes(cssSelector)) {
103
- themeFieldsSelectorMap[hublThemePath] =
104
- themeFieldsSelectorMap[hublThemePath].concat(cssSelector);
105
- }
106
- }
107
- if (cssSelectors && hublStatement) {
108
- const cssSelector = cssSelectors?.[1]?.replace(/\n/g, ' ') ?? '';
109
- const hublVariableName = Object.keys(hublVariableMap).find(_hubl => {
110
- return hublStatement && hublStatement[0].includes(_hubl);
111
- }) || '';
112
- const themeFieldKey = hublVariableName
113
- ? hublVariableMap[hublVariableName]
114
- : undefined;
115
- /**
116
- * If the theme path is referenced directly add selectors
117
- */
118
- if (themeFieldKey) {
119
- if (!themeFieldsSelectorMap[themeFieldKey]) {
120
- themeFieldsSelectorMap[themeFieldKey] = [];
121
- }
122
- if (!themeFieldsSelectorMap[themeFieldKey].includes(cssSelector)) {
123
- themeFieldsSelectorMap[themeFieldKey] =
124
- themeFieldsSelectorMap[themeFieldKey].concat(cssSelector);
125
- }
126
- }
127
- }
128
- });
129
- return themeFieldsSelectorMap;
130
- }, {});
131
- if (!Object.keys(finalMap).length) {
132
- uiLogger.error(commands.theme.subcommands.generateSelectors.errors.noSelectorsFound);
133
- process.exit(EXIT_CODES.ERROR);
134
- }
135
- Object.keys(finalMap).forEach(themeFieldKey => {
136
- const fieldKey = themeFieldKey.split('.');
137
- const selectors = finalMap[themeFieldKey];
138
- fieldsJson = setPreviewSelectors(fieldsJson, fieldKey.splice(1), selectors);
139
- });
140
- // Because fields can have nested inheritance we generated inherited selectors
141
- // multiple times to make sure all inherted selectors are bubbled up.
142
- const maxFieldsDepth = getMaxFieldsDepth();
143
- for (let i = 0; i < maxFieldsDepth; i += 1) {
144
- fieldsJson = generateInheritedSelectors(fieldsJson);
145
- }
146
- const selectorsMap = generateSelectorsMap(fieldsJson);
147
- const selectorsPath = `${path}/editor-preview.json`;
148
- fs.writeFileSync(selectorsPath, `${JSON.stringify({ selectors: selectorsMap }, null, 2)}\n`);
149
- uiLogger.success(commands.theme.subcommands.generateSelectors.success(path, selectorsPath));
8
+ uiCommandRelocatedMessage('hs cms theme generate-selectors');
9
+ await generateSelectorsCommand.handler(args);
150
10
  }
151
- function themeSelectorBuilder(yargs) {
11
+ function deprecatedThemeSelectorBuilder(yargs) {
152
12
  yargs.positional('path', {
153
- describe: commands.theme.subcommands.generateSelectors.positionals.path,
13
+ describe: commands.cms.subcommands.theme.subcommands.generateSelectors.positionals
14
+ .path,
154
15
  type: 'string',
155
16
  required: true,
156
17
  });
157
18
  return yargs;
158
19
  }
159
- const builder = makeYargsBuilder(themeSelectorBuilder, command, describe, {
20
+ const verboseDescribe = uiCommandRenamedDescription(generateSelectorsCommand.describe, 'hs cms theme generate-selectors');
21
+ const builder = makeYargsBuilder(deprecatedThemeSelectorBuilder, command, verboseDescribe, {
160
22
  useGlobalOptions: true,
161
23
  });
162
- const themeSelectorsCommand = {
163
- command,
24
+ const deprecatedGenerateSelectorsCommand = {
25
+ ...generateSelectorsCommand,
164
26
  describe,
165
27
  handler,
166
28
  builder,
167
29
  };
168
- export default themeSelectorsCommand;
30
+ export default deprecatedGenerateSelectorsCommand;
@@ -1,6 +1,4 @@
1
- import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs.js';
2
- type ThemeValidateArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
3
- path: string;
4
- };
5
- declare const themeValidateCommand: YargsCommandModule<unknown, ThemeValidateArgs>;
6
- export default themeValidateCommand;
1
+ import { YargsCommandModule } from '../../types/Yargs.js';
2
+ import { ThemeValidateArgs } from '../cms/theme/marketplace-validate.js';
3
+ declare const deprecatedMarketplaceValidateCommand: YargsCommandModule<unknown, ThemeValidateArgs>;
4
+ export default deprecatedMarketplaceValidateCommand;
@@ -1,44 +1,33 @@
1
- import SpinniesManager from '../../lib/ui/SpinniesManager.js';
2
- import { trackCommandUsage } from '../../lib/usageTracking.js';
3
- import { kickOffValidation, pollForValidationFinish, fetchValidationResults, processValidationErrors, displayValidationResults, } from '../../lib/marketplaceValidate.js';
4
- import { commands } from '../../lang/en.js';
1
+ import { uiCommandRelocatedMessage, uiCommandRenamedDescription, uiDeprecatedTag, } from '../../lib/ui/index.js';
2
+ import marketplaceValidateCommand from '../cms/theme/marketplace-validate.js';
5
3
  import { makeYargsBuilder } from '../../lib/yargsUtils.js';
4
+ import { commands } from '../../lang/en.js';
6
5
  const command = 'marketplace-validate <path>';
7
- const describe = commands.theme.subcommands.marketplaceValidate.describe;
6
+ const describe = uiDeprecatedTag(marketplaceValidateCommand.describe, false);
8
7
  async function handler(args) {
9
- const { path, derivedAccountId } = args;
10
- trackCommandUsage('validate', {}, derivedAccountId);
11
- SpinniesManager.init();
12
- SpinniesManager.add('marketplaceValidation', {
13
- text: commands.theme.subcommands.marketplaceValidate.logs.validatingTheme(path),
14
- });
15
- const assetType = 'THEME';
16
- const validationId = await kickOffValidation(derivedAccountId, assetType, path);
17
- await pollForValidationFinish(derivedAccountId, validationId);
18
- SpinniesManager.remove('marketplaceValidation');
19
- const validationResults = await fetchValidationResults(derivedAccountId, validationId);
20
- processValidationErrors(commands.theme.subcommands.marketplaceValidate.errors.invalidPath, validationResults);
21
- displayValidationResults(commands.theme.subcommands.marketplaceValidate.results, validationResults);
22
- process.exit();
8
+ uiCommandRelocatedMessage('hs cms theme marketplace-validate');
9
+ await marketplaceValidateCommand.handler(args);
23
10
  }
24
- function themeValidateBuilder(yargs) {
11
+ function deprecatedThemeValidateBuilder(yargs) {
25
12
  yargs.positional('path', {
26
- describe: commands.theme.subcommands.marketplaceValidate.positionals.path.describe,
13
+ describe: commands.cms.subcommands.theme.subcommands.marketplaceValidate.positionals
14
+ .path.describe,
27
15
  type: 'string',
28
16
  required: true,
29
17
  });
30
18
  return yargs;
31
19
  }
32
- const builder = makeYargsBuilder(themeValidateBuilder, command, describe, {
20
+ const verboseDescribe = uiCommandRenamedDescription(marketplaceValidateCommand.describe, 'hs cms theme marketplace-validate');
21
+ const builder = makeYargsBuilder(deprecatedThemeValidateBuilder, command, verboseDescribe, {
33
22
  useGlobalOptions: true,
34
23
  useConfigOptions: true,
35
24
  useAccountOptions: true,
36
25
  useEnvironmentOptions: true,
37
26
  });
38
- const themeValidateCommand = {
39
- command,
27
+ const deprecatedMarketplaceValidateCommand = {
28
+ ...marketplaceValidateCommand,
40
29
  describe,
41
30
  handler,
42
31
  builder,
43
32
  };
44
- export default themeValidateCommand;
33
+ export default deprecatedMarketplaceValidateCommand;
@@ -1,12 +1,4 @@
1
- import { CommonArgs, ConfigArgs, AccountArgs, YargsCommandModule } from '../../types/Yargs.js';
2
- type ThemePreviewArgs = CommonArgs & ConfigArgs & AccountArgs & {
3
- src: string;
4
- dest: string;
5
- notify: string;
6
- 'no-ssl'?: boolean;
7
- port?: number;
8
- resetSession?: boolean;
9
- generateFieldsTypes?: boolean;
10
- };
11
- declare const themePreviewCommand: YargsCommandModule<unknown, ThemePreviewArgs>;
12
- export default themePreviewCommand;
1
+ import { YargsCommandModule } from '../../types/Yargs.js';
2
+ import { ThemePreviewArgs } from '../cms/theme/preview.js';
3
+ declare const deprecatedPreviewCommand: YargsCommandModule<unknown, ThemePreviewArgs>;
4
+ export default deprecatedPreviewCommand;