@hubspot/cli 7.8.12-experimental.1 → 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 (272) hide show
  1. package/commands/__tests__/cms.test.js +44 -1
  2. package/commands/__tests__/customObject.test.js +22 -1
  3. package/commands/__tests__/project.test.js +2 -0
  4. package/commands/account/auth.js +1 -0
  5. package/commands/auth.js +1 -0
  6. package/commands/{__tests__/remove.test.js → cms/__tests__/delete.test.js} +8 -8
  7. package/commands/{__tests__ → cms/__tests__}/fetch.test.js +3 -3
  8. package/commands/{__tests__ → cms/__tests__}/function.test.js +7 -3
  9. package/commands/{__tests__ → cms/__tests__}/lint.test.js +3 -3
  10. package/commands/{__tests__ → cms/__tests__}/list.test.js +3 -3
  11. package/commands/{__tests__ → cms/__tests__}/mv.test.js +3 -3
  12. package/commands/{__tests__ → cms/__tests__}/theme.test.js +9 -2
  13. package/commands/cms/app/create.d.ts +9 -0
  14. package/commands/cms/app/create.js +82 -0
  15. package/commands/cms/app.d.ts +3 -0
  16. package/commands/cms/app.js +17 -0
  17. package/commands/cms/delete.d.ts +6 -0
  18. package/commands/cms/delete.js +43 -0
  19. package/commands/cms/fetch.d.ts +12 -0
  20. package/commands/cms/fetch.js +79 -0
  21. package/commands/{__tests__ → cms/function/__tests__}/logs.test.js +4 -5
  22. package/commands/cms/function/create.d.ts +12 -0
  23. package/commands/cms/function/create.js +84 -0
  24. package/commands/cms/function/deploy.d.ts +6 -0
  25. package/commands/cms/function/deploy.js +89 -0
  26. package/commands/cms/function/list.d.ts +6 -0
  27. package/commands/cms/function/list.js +60 -0
  28. package/commands/cms/function/logs.d.ts +10 -0
  29. package/commands/cms/function/logs.js +135 -0
  30. package/commands/cms/function/server.d.ts +10 -0
  31. package/commands/cms/function/server.js +69 -0
  32. package/commands/cms/function.d.ts +3 -0
  33. package/commands/cms/function.js +27 -0
  34. package/commands/cms/lint.d.ts +6 -0
  35. package/commands/cms/lint.js +83 -0
  36. package/commands/cms/list.d.ts +6 -0
  37. package/commands/cms/list.js +96 -0
  38. package/commands/cms/module/create.d.ts +11 -0
  39. package/commands/cms/module/create.js +84 -0
  40. package/commands/cms/module/marketplace-validate.d.ts +6 -0
  41. package/commands/cms/module/marketplace-validate.js +45 -0
  42. package/commands/cms/module.d.ts +3 -0
  43. package/commands/cms/module.js +17 -0
  44. package/commands/cms/mv.d.ts +7 -0
  45. package/commands/cms/mv.js +60 -0
  46. package/commands/cms/template/create.d.ts +9 -0
  47. package/commands/cms/template/create.js +72 -0
  48. package/commands/cms/template.d.ts +3 -0
  49. package/commands/cms/template.js +17 -0
  50. package/commands/{theme → cms/theme}/__tests__/marketplace-validate.test.js +2 -2
  51. package/commands/{theme → cms/theme}/__tests__/preview.test.js +2 -2
  52. package/commands/cms/theme/create.d.ts +6 -0
  53. package/commands/cms/theme/create.js +58 -0
  54. package/commands/cms/theme/generate-selectors.d.ts +6 -0
  55. package/commands/cms/theme/generate-selectors.js +171 -0
  56. package/commands/cms/theme/marketplace-validate.d.ts +6 -0
  57. package/commands/cms/theme/marketplace-validate.js +46 -0
  58. package/commands/cms/theme/preview.d.ts +12 -0
  59. package/commands/cms/theme/preview.js +224 -0
  60. package/commands/cms/theme.d.ts +3 -0
  61. package/commands/cms/theme.js +25 -0
  62. package/commands/cms/upload.d.ts +12 -0
  63. package/commands/cms/upload.js +212 -0
  64. package/commands/cms/watch.d.ts +14 -0
  65. package/commands/cms/watch.js +138 -0
  66. package/commands/cms/webpack/create.d.ts +6 -0
  67. package/commands/cms/webpack/create.js +58 -0
  68. package/commands/cms/webpack.d.ts +3 -0
  69. package/commands/cms/webpack.js +17 -0
  70. package/commands/cms.js +26 -0
  71. package/commands/create.js +4 -2
  72. package/commands/customObject/{schema/__tests__/create.test.js → __tests__/createSchema.test.js} +5 -5
  73. package/commands/customObject/{schema/__tests__/delete.test.js → __tests__/deleteSchema.test.js} +5 -5
  74. package/commands/customObject/{schema/__tests__/fetch-all.test.js → __tests__/fetch-all-schemas.test.js} +5 -5
  75. package/commands/customObject/{schema/__tests__/fetch.test.js → __tests__/fetchSchema.test.js} +5 -5
  76. package/commands/customObject/{schema/__tests__/list.test.js → __tests__/listSchemas.test.js} +5 -5
  77. package/commands/customObject/{schema/__tests__/update.test.js → __tests__/updateSchema.test.js} +5 -5
  78. package/commands/customObject/createSchema.d.ts +6 -0
  79. package/commands/customObject/createSchema.js +56 -0
  80. package/commands/customObject/deleteSchema.d.ts +7 -0
  81. package/commands/customObject/deleteSchema.js +69 -0
  82. package/commands/customObject/fetchAllSchemas.d.ts +6 -0
  83. package/commands/customObject/fetchAllSchemas.js +57 -0
  84. package/commands/customObject/fetchSchema.d.ts +7 -0
  85. package/commands/customObject/fetchSchema.js +67 -0
  86. package/commands/customObject/listSchemas.d.ts +4 -0
  87. package/commands/customObject/listSchemas.js +35 -0
  88. package/commands/customObject/schema/create.d.ts +4 -6
  89. package/commands/customObject/schema/create.js +13 -36
  90. package/commands/customObject/schema/delete.d.ts +4 -7
  91. package/commands/customObject/schema/delete.js +15 -50
  92. package/commands/customObject/schema/fetch-all.d.ts +4 -6
  93. package/commands/customObject/schema/fetch-all.js +14 -41
  94. package/commands/customObject/schema/fetch.d.ts +4 -7
  95. package/commands/customObject/schema/fetch.js +14 -49
  96. package/commands/customObject/schema/list.d.ts +4 -4
  97. package/commands/customObject/schema/list.js +10 -19
  98. package/commands/customObject/schema/update.d.ts +4 -7
  99. package/commands/customObject/schema/update.js +15 -50
  100. package/commands/customObject/schema.js +4 -2
  101. package/commands/customObject/updateSchema.d.ts +7 -0
  102. package/commands/customObject/updateSchema.js +71 -0
  103. package/commands/customObject.js +16 -1
  104. package/commands/feedback.js +1 -1
  105. package/commands/fetch.d.ts +4 -12
  106. package/commands/fetch.js +19 -46
  107. package/commands/function/deploy.d.ts +4 -6
  108. package/commands/function/deploy.js +14 -71
  109. package/commands/function/list.d.ts +4 -6
  110. package/commands/function/list.js +14 -40
  111. package/commands/function/server.d.ts +4 -10
  112. package/commands/function/server.js +22 -29
  113. package/commands/function.d.ts +2 -4
  114. package/commands/function.js +25 -14
  115. package/commands/lint.d.ts +4 -6
  116. package/commands/lint.js +13 -65
  117. package/commands/list.d.ts +4 -6
  118. package/commands/list.js +13 -74
  119. package/commands/logs.d.ts +4 -10
  120. package/commands/logs.js +24 -87
  121. package/commands/module/marketplace-validate.d.ts +4 -6
  122. package/commands/module/marketplace-validate.js +15 -27
  123. package/commands/module.d.ts +2 -2
  124. package/commands/module.js +17 -15
  125. package/commands/mv.d.ts +4 -7
  126. package/commands/mv.js +13 -39
  127. package/commands/project/__tests__/add.test.js +12 -12
  128. package/commands/project/__tests__/devUnifiedFlow.test.js +32 -0
  129. package/commands/project/__tests__/list.test.js +31 -0
  130. package/commands/project/__tests__/migrate.test.js +1 -0
  131. package/commands/project/add.d.ts +2 -2
  132. package/commands/project/add.js +3 -2
  133. package/commands/project/create.js +1 -1
  134. package/commands/project/dev/deprecatedFlow.js +2 -2
  135. package/commands/project/dev/index.js +5 -5
  136. package/commands/project/dev/unifiedFlow.js +8 -3
  137. package/commands/project/download.js +5 -2
  138. package/commands/project/installDeps.d.ts +2 -2
  139. package/commands/project/installDeps.js +1 -0
  140. package/commands/project/list.d.ts +4 -0
  141. package/commands/project/list.js +62 -0
  142. package/commands/project/migrate.js +5 -2
  143. package/commands/project.js +2 -0
  144. package/commands/remove.d.ts +4 -6
  145. package/commands/remove.js +12 -24
  146. package/commands/testAccount/create.js +2 -2
  147. package/commands/testAccount/delete.js +1 -1
  148. package/commands/theme/generate-selectors.d.ts +4 -6
  149. package/commands/theme/generate-selectors.js +14 -152
  150. package/commands/theme/marketplace-validate.d.ts +4 -6
  151. package/commands/theme/marketplace-validate.js +14 -25
  152. package/commands/theme/preview.d.ts +4 -12
  153. package/commands/theme/preview.js +18 -180
  154. package/commands/theme.d.ts +2 -2
  155. package/commands/theme.js +19 -13
  156. package/commands/upload.d.ts +4 -12
  157. package/commands/upload.js +19 -169
  158. package/commands/watch.d.ts +4 -14
  159. package/commands/watch.js +23 -88
  160. package/lang/en.d.ts +560 -425
  161. package/lang/en.js +562 -427
  162. package/lang/en.lyaml +2 -2
  163. package/lib/__tests__/buildAccount.test.js +2 -2
  164. package/lib/buildAccount.d.ts +2 -2
  165. package/lib/buildAccount.js +7 -7
  166. package/lib/configMigrate.js +88 -9
  167. package/lib/constants.d.ts +9 -0
  168. package/lib/constants.js +9 -0
  169. package/lib/generateSelectors.js +1 -1
  170. package/lib/middleware/autoUpdateMiddleware.d.ts +2 -1
  171. package/lib/middleware/autoUpdateMiddleware.js +12 -2
  172. package/lib/middleware/commandTargetingUtils.d.ts +1 -1
  173. package/lib/middleware/commandTargetingUtils.js +16 -20
  174. package/lib/projects/__tests__/AppDevModeInterface.test.js +95 -109
  175. package/lib/projects/__tests__/DevServerManager.test.js +183 -0
  176. package/lib/projects/__tests__/LocalDevProcess.test.js +6 -5
  177. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +6 -6
  178. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +1 -0
  179. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +161 -0
  180. package/lib/projects/__tests__/deploy.test.js +9 -9
  181. package/lib/projects/__tests__/upload.test.js +2 -2
  182. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +1 -0
  183. package/lib/projects/add/__tests__/{v3AddComponent.test.js → v2AddComponent.test.js} +35 -35
  184. package/lib/projects/add/{v3AddComponent.d.ts → v2AddComponent.d.ts} +1 -1
  185. package/lib/projects/add/{v3AddComponent.js → v2AddComponent.js} +5 -5
  186. package/lib/projects/create/__tests__/v2.test.d.ts +1 -0
  187. package/lib/projects/create/__tests__/{v3.test.js → v2.test.js} +2 -2
  188. package/lib/projects/create/index.js +2 -2
  189. package/lib/projects/create/{v3.d.ts → v2.d.ts} +3 -3
  190. package/lib/projects/create/{v3.js → v2.js} +3 -3
  191. package/lib/projects/deploy.d.ts +1 -1
  192. package/lib/projects/deploy.js +2 -2
  193. package/lib/projects/localDev/AppDevModeInterface.d.ts +9 -3
  194. package/lib/projects/localDev/AppDevModeInterface.js +116 -105
  195. package/lib/projects/localDev/DevServerManager.d.ts +10 -29
  196. package/lib/projects/localDev/DevServerManager.js +20 -76
  197. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +40 -0
  198. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +120 -0
  199. package/lib/projects/localDev/{LocalDevManager.js → LocalDevManager_DEPRECATED.js} +6 -6
  200. package/lib/projects/localDev/LocalDevProcess.js +3 -2
  201. package/lib/projects/localDev/LocalDevState.d.ts +3 -0
  202. package/lib/projects/localDev/LocalDevState.js +9 -0
  203. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +4 -0
  204. package/lib/projects/localDev/LocalDevWebsocketServer.js +39 -6
  205. package/lib/projects/localDev/UIExtensionsDevModeInterface.d.ts +13 -0
  206. package/lib/projects/localDev/UIExtensionsDevModeInterface.js +37 -0
  207. package/lib/projects/localDev/helpers/account.d.ts +1 -1
  208. package/lib/projects/localDev/helpers/account.js +2 -2
  209. package/lib/projects/localDev/helpers/process.d.ts +1 -0
  210. package/lib/projects/localDev/helpers/process.js +15 -0
  211. package/lib/projects/localDev/helpers/project.js +2 -3
  212. package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +3 -0
  213. package/lib/projects/localDev/localDevWebsocketServerUtils.js +9 -0
  214. package/lib/projects/urls.d.ts +0 -1
  215. package/lib/projects/urls.js +0 -3
  216. package/lib/prompts/__tests__/projectAddPrompt.test.js +10 -10
  217. package/lib/prompts/installAppPrompt.d.ts +1 -6
  218. package/lib/prompts/installAppPrompt.js +1 -6
  219. package/lib/prompts/projectAddPrompt.d.ts +2 -2
  220. package/lib/prompts/projectAddPrompt.js +1 -1
  221. package/lib/theme/__tests__/migrate.test.js +4 -4
  222. package/lib/ui/index.d.ts +2 -0
  223. package/lib/ui/index.js +8 -0
  224. package/lib/ui/uiMessages.d.ts +5 -0
  225. package/lib/ui/uiMessages.js +5 -0
  226. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +2 -2
  227. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +1 -1
  228. package/package.json +6 -5
  229. package/types/Cms.d.ts +6 -6
  230. package/lib/projects/localDev/DevServerManagerV2.d.ts +0 -22
  231. package/lib/projects/localDev/DevServerManagerV2.js +0 -81
  232. /package/commands/{customObject/schema → cms}/__tests__/delete.test.d.ts +0 -0
  233. /package/commands/{__tests__ → cms/__tests__}/fetch.test.d.ts +0 -0
  234. /package/commands/{__tests__ → cms/__tests__}/function.test.d.ts +0 -0
  235. /package/commands/{__tests__ → cms/__tests__}/lint.test.d.ts +0 -0
  236. /package/commands/{__tests__ → cms/__tests__}/list.test.d.ts +0 -0
  237. /package/commands/{__tests__ → cms/__tests__}/mv.test.d.ts +0 -0
  238. /package/commands/{__tests__ → cms/__tests__}/theme.test.d.ts +0 -0
  239. /package/commands/{__tests__ → cms/function/__tests__}/logs.test.d.ts +0 -0
  240. /package/commands/{theme → cms/theme}/__tests__/generate-selectors.test.d.ts +0 -0
  241. /package/commands/{theme → cms/theme}/__tests__/generate-selectors.test.js +0 -0
  242. /package/commands/{theme → cms/theme}/__tests__/marketplace-validate.test.d.ts +0 -0
  243. /package/commands/{theme → cms/theme}/__tests__/preview.test.d.ts +0 -0
  244. /package/commands/{__tests__/remove.test.d.ts → customObject/__tests__/createSchema.test.d.ts} +0 -0
  245. /package/commands/customObject/{schema/__tests__/create.test.d.ts → __tests__/deleteSchema.test.d.ts} +0 -0
  246. /package/commands/customObject/{schema/__tests__/fetch-all.test.d.ts → __tests__/fetch-all-schemas.test.d.ts} +0 -0
  247. /package/commands/customObject/{schema/__tests__/fetch.test.d.ts → __tests__/fetchSchema.test.d.ts} +0 -0
  248. /package/commands/customObject/{schema/__tests__/list.test.d.ts → __tests__/listSchemas.test.d.ts} +0 -0
  249. /package/commands/customObject/{schema/__tests__/update.test.d.ts → __tests__/updateSchema.test.d.ts} +0 -0
  250. /package/{lib/projects/add/__tests__/v3AddComponent.test.d.ts → commands/project/__tests__/list.test.d.ts} +0 -0
  251. /package/{commands/create → lib/cmsAssets}/api-sample.d.ts +0 -0
  252. /package/{commands/create → lib/cmsAssets}/api-sample.js +0 -0
  253. /package/{commands/create → lib/cmsAssets}/app.d.ts +0 -0
  254. /package/{commands/create → lib/cmsAssets}/app.js +0 -0
  255. /package/{commands/create → lib/cmsAssets}/function.d.ts +0 -0
  256. /package/{commands/create → lib/cmsAssets}/function.js +0 -0
  257. /package/{commands/create → lib/cmsAssets}/index.d.ts +0 -0
  258. /package/{commands/create → lib/cmsAssets}/index.js +0 -0
  259. /package/{commands/create → lib/cmsAssets}/module.d.ts +0 -0
  260. /package/{commands/create → lib/cmsAssets}/module.js +0 -0
  261. /package/{commands/create → lib/cmsAssets}/react-app.d.ts +0 -0
  262. /package/{commands/create → lib/cmsAssets}/react-app.js +0 -0
  263. /package/{commands/create → lib/cmsAssets}/template.d.ts +0 -0
  264. /package/{commands/create → lib/cmsAssets}/template.js +0 -0
  265. /package/{commands/create → lib/cmsAssets}/vue-app.d.ts +0 -0
  266. /package/{commands/create → lib/cmsAssets}/vue-app.js +0 -0
  267. /package/{commands/create → lib/cmsAssets}/webpack-serverless.d.ts +0 -0
  268. /package/{commands/create → lib/cmsAssets}/webpack-serverless.js +0 -0
  269. /package/{commands/create → lib/cmsAssets}/website-theme.d.ts +0 -0
  270. /package/{commands/create → lib/cmsAssets}/website-theme.js +0 -0
  271. /package/lib/projects/{create/__tests__/v3.test.d.ts → __tests__/DevServerManager.test.d.ts} +0 -0
  272. /package/lib/projects/localDev/{LocalDevManager.d.ts → LocalDevManager_DEPRECATED.d.ts} +0 -0
package/lang/en.d.ts CHANGED
@@ -327,8 +327,299 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
327
327
  };
328
328
  };
329
329
  readonly cms: {
330
- readonly describe: "Commands for working with the CMS.";
330
+ readonly describe: "Commands for managing CMS assets.";
331
331
  readonly subcommands: {
332
+ readonly template: {
333
+ readonly describe: "Commands for managing templates.";
334
+ readonly subcommands: {
335
+ readonly create: {
336
+ readonly describe: "Create a new CMS template.";
337
+ readonly errors: {
338
+ readonly unusablePath: (path: string) => string;
339
+ };
340
+ readonly positionals: {
341
+ readonly name: "Name of the new template.";
342
+ readonly dest: "Destination folder for the new template.";
343
+ };
344
+ readonly options: {
345
+ readonly templateType: "Template type for template creation.";
346
+ };
347
+ };
348
+ };
349
+ };
350
+ readonly webpack: {
351
+ readonly describe: "Commands for managing webpack.";
352
+ readonly subcommands: {
353
+ readonly create: {
354
+ readonly describe: "Create a new webpack bundle.";
355
+ readonly errors: {
356
+ readonly unusablePath: (path: string) => string;
357
+ };
358
+ readonly positionals: {
359
+ readonly dest: "Destination folder for the new webpack bundle.";
360
+ };
361
+ };
362
+ };
363
+ };
364
+ readonly theme: {
365
+ readonly describe: "Commands for managing themes.";
366
+ readonly subcommands: {
367
+ readonly create: {
368
+ readonly describe: "Create a new theme.";
369
+ readonly errors: {
370
+ readonly unusablePath: (path: string) => string;
371
+ };
372
+ readonly positionals: {
373
+ readonly dest: "Destination folder for the new theme.";
374
+ };
375
+ };
376
+ readonly generateSelectors: {
377
+ readonly describe: "Automatically generates an editor-preview.json file for the given theme. The selectors this command generates are not perfect, so please edit editor-preview.json after running.";
378
+ readonly errors: {
379
+ readonly invalidPath: (themePath: string) => string;
380
+ readonly fieldsNotFound: "Unable to find theme's fields.json.";
381
+ readonly noSelectorsFound: "No selectors found.";
382
+ };
383
+ readonly success: (themePath: string, selectorsPath: string) => string;
384
+ readonly positionals: {
385
+ readonly path: "The path of the theme you'd like to generate an editor-preview.json for.";
386
+ };
387
+ };
388
+ readonly marketplaceValidate: {
389
+ readonly describe: "Validate a theme for the marketplace.";
390
+ readonly errors: {
391
+ readonly invalidPath: (path: string) => string;
392
+ };
393
+ readonly logs: {
394
+ readonly validatingTheme: (path: string) => string;
395
+ };
396
+ readonly results: {
397
+ readonly required: "Required validation results:";
398
+ readonly recommended: "Recommended validation results:";
399
+ readonly warnings: {
400
+ readonly file: (file: string) => string;
401
+ readonly lineNumber: (line: string) => string;
402
+ };
403
+ readonly noErrors: "No errors";
404
+ };
405
+ readonly positionals: {
406
+ readonly path: {
407
+ readonly describe: "Path to the theme within the Design Manager.";
408
+ };
409
+ };
410
+ };
411
+ readonly preview: {
412
+ readonly describe: "Upload and watch a theme directory on your computer for changes and start a local development server to preview theme changes on a site.";
413
+ readonly errors: {
414
+ readonly invalidPath: (path: string) => string;
415
+ readonly noThemeComponents: "Your project has no theme components available to preview.";
416
+ readonly uploadFailed: (src: string, dest: string) => string;
417
+ };
418
+ readonly positionals: {
419
+ readonly src: "Path to the local directory your theme is in, relative to your current working directory";
420
+ readonly dest: "Path in HubSpot Design Tools. Can be a net new path. If you wish to preview a site page using your theme changes it must match the path of the theme used by the site.";
421
+ };
422
+ readonly options: {
423
+ readonly notify: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
424
+ readonly noSsl: "Disable HTTPS";
425
+ readonly port: "The port on which to start the local server";
426
+ };
427
+ readonly initialUploadProgressBar: {
428
+ readonly start: "Starting...";
429
+ readonly uploading: "Uploading...";
430
+ readonly finish: "Complete!";
431
+ };
432
+ readonly logs: {
433
+ readonly processExited: "Stopping dev server...";
434
+ };
435
+ };
436
+ };
437
+ };
438
+ readonly app: {
439
+ readonly describe: "Commands for managing CMS apps.";
440
+ readonly subcommands: {
441
+ readonly create: {
442
+ readonly describe: "Create a new CMS app.";
443
+ readonly errors: {
444
+ readonly unsupportedAssetType: (assetType: string, supportedAssetTypes: string) => string;
445
+ readonly unusablePath: (path: string) => string;
446
+ };
447
+ readonly positionals: {
448
+ readonly type: "Type of the new app.";
449
+ readonly name: "Name of the new app.";
450
+ readonly dest: "Destination folder for the new app.";
451
+ };
452
+ };
453
+ };
454
+ };
455
+ readonly list: {
456
+ readonly describe: "List remote contents of a directory in the HubSpot CMS.";
457
+ readonly gettingPathContents: (path: string) => string;
458
+ readonly noFilesFoundAtPath: (path: string) => string;
459
+ readonly positionals: {
460
+ readonly path: {
461
+ readonly describe: "Remote directory to list contents";
462
+ };
463
+ };
464
+ };
465
+ readonly module: {
466
+ readonly describe: "Commands for working with modules, including marketplace validation with the marketplace-validate subcommand.";
467
+ readonly subcommands: {
468
+ readonly create: {
469
+ readonly describe: "Create a new CMS module.";
470
+ readonly errors: {
471
+ readonly unusablePath: (path: string) => string;
472
+ };
473
+ readonly positionals: {
474
+ readonly name: "Name of the new module.";
475
+ readonly dest: "Destination folder for the new module.";
476
+ };
477
+ readonly options: {
478
+ readonly moduleLabel: "Label for the new module.";
479
+ readonly reactType: "Whether to create a React module.";
480
+ readonly contentTypes: (contentTypes: readonly string[]) => string;
481
+ readonly global: "Whether to create a global module.";
482
+ readonly availableForNewContent: "Whether to create a module available for new content.";
483
+ };
484
+ };
485
+ readonly marketplaceValidate: {
486
+ readonly describe: "Validate a module for the marketplace. Make sure to include the suffix .module in the path to the module within the Design Manager.";
487
+ readonly errors: {
488
+ readonly invalidPath: (path: string) => string;
489
+ };
490
+ readonly logs: {
491
+ readonly validatingModule: (path: string) => string;
492
+ };
493
+ readonly results: {
494
+ readonly required: "Required validation results:";
495
+ readonly recommended: "Recommended validation results:";
496
+ readonly warnings: {
497
+ readonly file: (file: string) => string;
498
+ readonly lineNumber: (line: string) => string;
499
+ };
500
+ readonly noErrors: "No errors";
501
+ };
502
+ readonly positionals: {
503
+ readonly src: "Path to the module within the Design Manager.";
504
+ };
505
+ };
506
+ };
507
+ };
508
+ readonly upload: {
509
+ readonly describe: "Upload a folder or file from your computer to the HubSpot CMS.";
510
+ readonly errors: {
511
+ readonly destinationRequired: "A destination path needs to be passed";
512
+ readonly fileIgnored: (path: string) => string;
513
+ readonly invalidPath: (path: string) => string;
514
+ readonly uploadFailed: (src: string, dest: string) => string;
515
+ readonly someFilesFailed: (dest: string) => string;
516
+ readonly deleteFailed: (path: string, accountId: number) => string;
517
+ };
518
+ readonly options: {
519
+ readonly options: "Options to pass to javascript fields files";
520
+ readonly saveOutput: "If true, saves all output from javascript fields files as 'fields.output.json'.";
521
+ readonly convertFields: "If true, converts any javascript fields files contained in module folder or project root.";
522
+ readonly clean: "Will delete the destination directory and its contents before uploading. This will also clear the global content associated with any global partial templates and modules.";
523
+ readonly force: "Skips confirmation prompts when doing a clean upload.";
524
+ };
525
+ readonly previewUrl: (previewUrl: string) => string;
526
+ readonly positionals: {
527
+ readonly src: "Path to the local file, relative to your current working directory.";
528
+ readonly dest: "Path in HubSpot Design Tools, can be a net new path.";
529
+ };
530
+ readonly success: {
531
+ readonly fileUploaded: (src: string, dest: string, accountId: number) => string;
532
+ readonly uploadComplete: (dest: string) => string;
533
+ };
534
+ readonly uploading: (src: string, dest: string, accountId: number) => string;
535
+ readonly notUploaded: (src: string) => string;
536
+ readonly cleaning: (filePath: string, accountId: number) => string;
537
+ readonly confirmCleanUpload: (filePath: string, accountId: number) => string;
538
+ };
539
+ readonly delete: {
540
+ readonly describe: "Delete a file or folder from the HubSpot CMS.";
541
+ readonly deleted: (path: string, accountId: number) => string;
542
+ readonly errors: {
543
+ readonly deleteFailed: (path: string, accountId: number) => string;
544
+ };
545
+ readonly positionals: {
546
+ readonly path: "Remote hubspot path";
547
+ };
548
+ };
549
+ readonly watch: {
550
+ readonly describe: "Watch a directory on your computer for changes and upload the changed files to the HubSpot CMS.";
551
+ readonly errors: {
552
+ readonly folderFailed: (src: string, dest: string, accountId: number) => string;
553
+ readonly fileFailed: (file: string, dest: string, accountId: number) => string;
554
+ readonly destinationRequired: "A destination directory needs to be passed";
555
+ readonly invalidPath: (path: string) => string;
556
+ };
557
+ readonly options: {
558
+ readonly disableInitial: "Disable the initial upload when watching a directory (default)";
559
+ readonly initialUpload: "Upload directory before watching for updates";
560
+ readonly notify: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
561
+ readonly remove: "Will cause watch to delete files in your HubSpot account that are not found locally.";
562
+ readonly convertFields: "If true, converts any javascript fields files contained in module folder or project root.";
563
+ readonly saveOutput: "If true, saves all output from javascript fields files as 'fields.output.json'.";
564
+ readonly options: "Options to pass to javascript fields files";
565
+ };
566
+ readonly positionals: {
567
+ readonly src: "Path to the local directory your files are in, relative to your current working directory";
568
+ readonly dest: "Path in HubSpot Design Tools. Can be a net new path";
569
+ };
570
+ readonly warnings: {
571
+ readonly disableInitial: `Passing the "${string}" option is no longer necessary. Running "${string}" no longer uploads the watched directory by default.`;
572
+ readonly initialUpload: `To upload the directory run "${string}" beforehand or add the "${string}" option when running "${string}".`;
573
+ readonly notUploaded: (path: string) => string;
574
+ };
575
+ };
576
+ readonly fetch: {
577
+ readonly describe: "Fetch a file, directory or module from HubSpot and write to a path on your computer.";
578
+ readonly errors: {
579
+ readonly sourceRequired: "A source to fetch is required.";
580
+ };
581
+ readonly options: {
582
+ readonly staging: {
583
+ readonly describe: "Retrieve staged changes for project";
584
+ };
585
+ readonly assetVersion: {
586
+ readonly describe: "Specify what version of a default asset to fetch";
587
+ };
588
+ };
589
+ readonly positionals: {
590
+ readonly dest: {
591
+ readonly describe: "Local directory you would like the files to be placed in, relative to your current working directory";
592
+ };
593
+ readonly src: {
594
+ readonly describe: "Path in HubSpot Design Tools";
595
+ };
596
+ };
597
+ };
598
+ readonly lint: {
599
+ readonly issuesFound: (count: number) => string;
600
+ readonly groupName: (path: string) => string;
601
+ readonly positionals: {
602
+ readonly path: {
603
+ readonly describe: "Local folder to lint";
604
+ };
605
+ };
606
+ };
607
+ readonly mv: {
608
+ readonly describe: "Move a remote file or folder in HubSpot. This feature is currently in beta and the CLI contract is subject to change.";
609
+ readonly errors: {
610
+ readonly sourcePathExists: (srcPath: string, destPath: string) => string;
611
+ readonly moveFailed: (srcPath: string, destPath: string, accountId: number) => string;
612
+ };
613
+ readonly move: (srcPath: string, destPath: string, accountId: number) => string;
614
+ readonly positionals: {
615
+ readonly srcPath: {
616
+ readonly describe: "Remote hubspot path";
617
+ };
618
+ readonly destPath: {
619
+ readonly describe: "Remote hubspot path";
620
+ };
621
+ };
622
+ };
332
623
  readonly lighthouseScore: {
333
624
  readonly describe: "Score a theme using Google lighthouse.";
334
625
  readonly examples: {
@@ -385,6 +676,124 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
385
676
  readonly invalidName: "Module not found with that name, please check the spelling of the module you are trying to download.";
386
677
  };
387
678
  };
679
+ readonly function: {
680
+ readonly describe: "Commands for managing CMS serverless functions.";
681
+ readonly subcommands: {
682
+ readonly create: {
683
+ readonly describe: "Create a new CMS serverless function.";
684
+ readonly errors: {
685
+ readonly unusablePath: (path: string) => string;
686
+ };
687
+ readonly positionals: {
688
+ readonly name: "Name of the function";
689
+ readonly dest: "Destination folder for the function";
690
+ };
691
+ readonly options: {
692
+ readonly functionsFolder: "Folder to create functions in";
693
+ readonly filename: "Filename for the function";
694
+ readonly endpointMethod: "HTTP method for the function endpoint";
695
+ readonly endpointPath: "API endpoint path for the function";
696
+ };
697
+ };
698
+ readonly logs: {
699
+ readonly describe: "View logs for a CMS serverless function.";
700
+ readonly errors: {
701
+ readonly noLogsFound: (functionPath: string, accountId: number) => string;
702
+ };
703
+ readonly examples: {
704
+ readonly default: "Get 5 most recent logs for function residing at /_hcms/api/my-endpoint";
705
+ readonly follow: "Poll for and output logs for function residing at /_hcms/api/my-endpoint immediately upon new execution";
706
+ readonly limit: "Get 10 most recent logs for function residing at /_hcms/api/my-endpoint";
707
+ };
708
+ readonly endpointPrompt: "Enter a serverless function endpoint:";
709
+ readonly gettingLogs: (latest: boolean | undefined, functionPath: string) => string;
710
+ readonly options: {
711
+ readonly compact: {
712
+ readonly describe: "output compact logs";
713
+ };
714
+ readonly follow: {
715
+ readonly describe: "follow logs";
716
+ };
717
+ readonly latest: {
718
+ readonly describe: "retrieve most recent log only";
719
+ };
720
+ readonly limit: {
721
+ readonly describe: "limit the number of logs to output";
722
+ };
723
+ };
724
+ readonly positionals: {
725
+ readonly endpoint: {
726
+ readonly describe: "Serverless function endpoint";
727
+ };
728
+ };
729
+ readonly tailLogs: (functionPath: string, accountId: string) => string;
730
+ };
731
+ readonly deploy: {
732
+ readonly debug: {
733
+ readonly startingBuildAndDeploy: (functionPath: string) => string;
734
+ };
735
+ readonly errors: {
736
+ readonly buildError: (details: string) => string;
737
+ readonly noPackageJson: (functionPath: string) => string;
738
+ readonly notFunctionsFolder: (functionPath: string) => string;
739
+ };
740
+ readonly examples: {
741
+ readonly default: "Build and deploy a new bundle for all functions within the myFunctionFolder.functions folder";
742
+ };
743
+ readonly loading: (functionPath: string, account: string) => string;
744
+ readonly loadingFailed: (functionPath: string, account: string) => string;
745
+ readonly positionals: {
746
+ readonly path: {
747
+ readonly describe: "Path to the \".functions\" folder";
748
+ };
749
+ };
750
+ readonly success: {
751
+ readonly deployed: (functionPath: string, accountId: number, buildTimeSeconds: string | 0) => string;
752
+ };
753
+ };
754
+ readonly list: {
755
+ readonly debug: {
756
+ readonly gettingFunctions: "Getting currently deployed functions";
757
+ };
758
+ readonly describe: "List the currently deployed CMS serverless functions.";
759
+ readonly info: {
760
+ readonly noFunctions: "No functions found";
761
+ };
762
+ readonly options: {
763
+ readonly json: {
764
+ readonly describe: "output raw json data";
765
+ };
766
+ };
767
+ };
768
+ readonly server: {
769
+ readonly debug: {
770
+ readonly startingServer: (functionPath: string) => string;
771
+ };
772
+ readonly examples: {
773
+ readonly default: "Run a local function test server.";
774
+ };
775
+ readonly options: {
776
+ readonly contact: {
777
+ readonly describe: "Pass contact data to the test function";
778
+ };
779
+ readonly logOutput: {
780
+ readonly describe: "Output the response body from the serverless function execution (It is suggested not to use this in production environments as it can reveal any secure data returned by the function in logs)";
781
+ };
782
+ readonly port: {
783
+ readonly describe: "Port to run the test server on";
784
+ };
785
+ readonly watch: {
786
+ readonly describe: "Watch the specified .functions folder for changes and restart the server";
787
+ };
788
+ };
789
+ readonly positionals: {
790
+ readonly path: {
791
+ readonly describe: "Path to local .functions folder";
792
+ };
793
+ };
794
+ };
795
+ };
796
+ };
388
797
  };
389
798
  };
390
799
  readonly create: {
@@ -468,6 +877,9 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
468
877
  readonly describe: "Commands for managing custom objects.";
469
878
  readonly seeMoreLink: string;
470
879
  readonly subcommands: {
880
+ readonly schema: {
881
+ readonly describe: "Commands for managing custom object schemas.";
882
+ };
471
883
  readonly create: {
472
884
  readonly describe: "Create custom object instances.";
473
885
  readonly errors: {
@@ -490,122 +902,117 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
490
902
  readonly inputName: "[--name] Enter the name of the schema for the custom object(s) you'd like to create:";
491
903
  readonly inputPath: "[--path] Enter the path to the JSON file containing the object definitions:";
492
904
  };
493
- readonly schema: {
494
- readonly describe: "Commands for managing custom object schemas.";
495
- readonly subcommands: {
496
- readonly create: {
497
- readonly describe: "Create a custom object schema.";
498
- readonly errors: {
499
- readonly invalidSchema: "The schema definition is invalid. Please check the schema and try again.";
500
- readonly creationFailed: (definition: string) => string;
501
- };
502
- readonly options: {
503
- readonly definition: {
504
- readonly describe: "Local path to the JSON file containing the schema definition";
505
- };
506
- };
507
- readonly success: {
508
- readonly schemaCreated: (accountId: string) => string;
509
- readonly schemaViewable: (url: string) => string;
510
- };
905
+ readonly createSchema: {
906
+ readonly describe: "Create a custom object schema.";
907
+ readonly errors: {
908
+ readonly invalidSchema: "The schema definition is invalid. Please check the schema and try again.";
909
+ readonly creationFailed: (definition: string) => string;
910
+ };
911
+ readonly options: {
912
+ readonly definition: {
913
+ readonly describe: "Local path to the JSON file containing the schema definition";
511
914
  };
512
- readonly delete: {
513
- readonly describe: "Delete a custom object schema.";
514
- readonly errors: {
515
- readonly delete: (name: string) => string;
516
- };
517
- readonly examples: {
518
- readonly default: "Delete \"schemaName\" schema";
519
- };
520
- readonly positionals: {
521
- readonly name: {
522
- readonly describe: "Name of the target schema";
523
- };
524
- };
525
- readonly options: {
526
- readonly force: {
527
- readonly describe: "Force the deletion of the schema.";
528
- };
529
- };
530
- readonly success: {
531
- readonly delete: (name: string) => string;
532
- };
533
- readonly confirmDelete: (name: string) => string;
534
- readonly deleteCancelled: (name: string) => string;
535
- readonly selectSchema: "Which schema would you like to delete?";
915
+ };
916
+ readonly success: {
917
+ readonly schemaCreated: (accountId: string) => string;
918
+ readonly schemaViewable: (url: string) => string;
919
+ };
920
+ };
921
+ readonly deleteSchema: {
922
+ readonly describe: "Delete a custom object schema.";
923
+ readonly errors: {
924
+ readonly delete: (name: string) => string;
925
+ };
926
+ readonly examples: {
927
+ readonly default: "Delete \"schemaName\" schema";
928
+ };
929
+ readonly positionals: {
930
+ readonly name: {
931
+ readonly describe: "Name of the target schema";
536
932
  };
537
- readonly fetchAll: {
538
- readonly describe: "Fetch all custom object schemas for an account.";
539
- readonly errors: {
540
- readonly fetch: "Unable to fetch schemas";
541
- };
542
- readonly examples: {
543
- readonly default: "Fetch all schemas for an account and put them in the current working directory";
544
- readonly specifyPath: "Fetch all schemas for an account and put them in a directory named my/folder";
545
- };
546
- readonly positionals: {
547
- readonly dest: {
548
- readonly describe: "Local folder where schemas will be written";
549
- };
550
- };
551
- readonly success: {
552
- readonly fetch: (path: string) => string;
553
- };
554
- readonly inputDest: "Where would you like to save the schemas?";
933
+ };
934
+ readonly options: {
935
+ readonly force: {
936
+ readonly describe: "Force the deletion of the schema.";
555
937
  };
556
- readonly fetch: {
557
- readonly describe: "Fetch a custom object schema.";
558
- readonly errors: {
559
- readonly fetch: (name: string) => string;
560
- };
561
- readonly examples: {
562
- readonly default: "Fetch \"schemaId\" schema and put it in the current working directory";
563
- readonly specifyPath: "Fetch \"schemaId\" schema and put it in a directory named my/folder";
564
- };
565
- readonly positionals: {
566
- readonly dest: {
567
- readonly describe: "Local folder where schema will be written";
568
- };
569
- readonly name: {
570
- readonly describe: "Name of the target schema";
571
- };
572
- };
573
- readonly selectSchema: "Which schema would you like to fetch?";
574
- readonly inputDest: "What would you like to name the destination file?";
575
- readonly success: {
576
- readonly save: (name: string, path: string) => string;
577
- readonly savedToPath: (path: string) => string;
578
- };
938
+ };
939
+ readonly success: {
940
+ readonly delete: (name: string) => string;
941
+ };
942
+ readonly confirmDelete: (name: string) => string;
943
+ readonly deleteCancelled: (name: string) => string;
944
+ readonly selectSchema: "Which schema would you like to delete?";
945
+ };
946
+ readonly fetchAllSchemas: {
947
+ readonly describe: "Fetch all custom object schemas for an account.";
948
+ readonly errors: {
949
+ readonly fetch: "Unable to fetch schemas";
950
+ };
951
+ readonly examples: {
952
+ readonly default: "Fetch all schemas for an account and put them in the current working directory";
953
+ readonly specifyPath: "Fetch all schemas for an account and put them in a directory named my/folder";
954
+ };
955
+ readonly positionals: {
956
+ readonly dest: {
957
+ readonly describe: "Local folder where schemas will be written";
579
958
  };
580
- readonly list: {
581
- readonly describe: "List custom object schemas.";
582
- readonly errors: {
583
- readonly list: "Unable to list schemas";
584
- };
959
+ };
960
+ readonly success: {
961
+ readonly fetch: (path: string) => string;
962
+ };
963
+ readonly inputDest: "Where would you like to save the schemas?";
964
+ };
965
+ readonly fetchSchema: {
966
+ readonly describe: "Fetch a custom object schema.";
967
+ readonly errors: {
968
+ readonly fetch: (name: string) => string;
969
+ };
970
+ readonly examples: {
971
+ readonly default: "Fetch \"schemaId\" schema and put it in the current working directory";
972
+ readonly specifyPath: "Fetch \"schemaId\" schema and put it in a directory named my/folder";
973
+ };
974
+ readonly positionals: {
975
+ readonly dest: {
976
+ readonly describe: "Local folder where schema will be written";
585
977
  };
586
- readonly update: {
587
- readonly describe: "Update an existing custom object schema.";
588
- readonly errors: {
589
- readonly invalidSchema: "The schema definition is invalid. Please check the schema and try again.";
590
- readonly update: (definition: string) => string;
591
- };
592
- readonly options: {
593
- readonly path: {
594
- readonly describe: "Local path to the JSON file containing the schema definition";
595
- };
596
- };
597
- readonly positionals: {
598
- readonly name: {
599
- readonly describe: "Name of the target schema";
600
- };
601
- };
602
- readonly success: {
603
- readonly update: (accountId: string) => string;
604
- readonly viewAtUrl: (url: string) => string;
605
- };
606
- readonly selectSchema: "Which schema would you like to update?";
978
+ readonly name: {
979
+ readonly describe: "Name of the target schema";
607
980
  };
608
981
  };
982
+ readonly selectSchema: "Which schema would you like to fetch?";
983
+ readonly inputDest: "What would you like to name the destination file?";
984
+ readonly success: {
985
+ readonly save: (name: string, path: string) => string;
986
+ readonly savedToPath: (path: string) => string;
987
+ };
988
+ };
989
+ readonly listSchemas: {
990
+ readonly describe: "List custom object schemas.";
991
+ readonly errors: {
992
+ readonly list: "Unable to list schemas";
993
+ };
994
+ };
995
+ readonly updateSchema: {
996
+ readonly describe: "Update an existing custom object schema.";
997
+ readonly errors: {
998
+ readonly invalidSchema: "The schema definition is invalid. Please check the schema and try again.";
999
+ readonly update: (definition: string) => string;
1000
+ };
1001
+ readonly options: {
1002
+ readonly path: {
1003
+ readonly describe: "Local path to the JSON file containing the schema definition";
1004
+ };
1005
+ };
1006
+ readonly positionals: {
1007
+ readonly name: {
1008
+ readonly describe: "Name of the target schema";
1009
+ };
1010
+ };
1011
+ readonly success: {
1012
+ readonly update: (accountId: string) => string;
1013
+ readonly viewAtUrl: (url: string) => string;
1014
+ };
1015
+ readonly selectSchema: "Which schema would you like to update?";
609
1016
  };
610
1017
  };
611
1018
  };
@@ -620,28 +1027,6 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
620
1027
  };
621
1028
  readonly outputWritten: (filename: string) => string;
622
1029
  };
623
- readonly fetch: {
624
- readonly describe: "Fetch a file, directory or module from HubSpot and write to a path on your computer.";
625
- readonly errors: {
626
- readonly sourceRequired: "A source to fetch is required.";
627
- };
628
- readonly options: {
629
- readonly staging: {
630
- readonly describe: "Retrieve staged changes for project";
631
- };
632
- readonly assetVersion: {
633
- readonly describe: "Specify what version of a default asset to fetch";
634
- };
635
- };
636
- readonly positionals: {
637
- readonly dest: {
638
- readonly describe: "Local directory you would like the files to be placed in, relative to your current working directory";
639
- };
640
- readonly src: {
641
- readonly describe: "Path in HubSpot Design Tools";
642
- };
643
- };
644
- };
645
1030
  readonly filemanager: {
646
1031
  readonly describe: "Commands for managing files in the File Manager.";
647
1032
  readonly subcommands: {
@@ -691,75 +1076,6 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
691
1076
  };
692
1077
  };
693
1078
  };
694
- readonly function: {
695
- readonly describe: "Commands for managing CMS serverless functions.";
696
- readonly subcommands: {
697
- readonly deploy: {
698
- readonly debug: {
699
- readonly startingBuildAndDeploy: (functionPath: string) => string;
700
- };
701
- readonly errors: {
702
- readonly buildError: (details: string) => string;
703
- readonly noPackageJson: (functionPath: string) => string;
704
- readonly notFunctionsFolder: (functionPath: string) => string;
705
- };
706
- readonly examples: {
707
- readonly default: "Build and deploy a new bundle for all functions within the myFunctionFolder.functions folder";
708
- };
709
- readonly loading: (functionPath: string, account: string) => string;
710
- readonly loadingFailed: (functionPath: string, account: string) => string;
711
- readonly positionals: {
712
- readonly path: {
713
- readonly describe: "Path to the \".functions\" folder";
714
- };
715
- };
716
- readonly success: {
717
- readonly deployed: (functionPath: string, accountId: number, buildTimeSeconds: string | 0) => string;
718
- };
719
- };
720
- readonly list: {
721
- readonly debug: {
722
- readonly gettingFunctions: "Getting currently deployed functions";
723
- };
724
- readonly describe: "List the currently deployed CMS serverless functions.";
725
- readonly info: {
726
- readonly noFunctions: "No functions found";
727
- };
728
- readonly options: {
729
- readonly json: {
730
- readonly describe: "output raw json data";
731
- };
732
- };
733
- };
734
- readonly server: {
735
- readonly debug: {
736
- readonly startingServer: (functionPath: string) => string;
737
- };
738
- readonly examples: {
739
- readonly default: "Run a local function test server.";
740
- };
741
- readonly options: {
742
- readonly contact: {
743
- readonly describe: "Pass contact data to the test function";
744
- };
745
- readonly logOutput: {
746
- readonly describe: "Output the response body from the serverless function execution (It is suggested not to use this in production environments as it can reveal any secure data returned by the function in logs)";
747
- };
748
- readonly port: {
749
- readonly describe: "Port to run the test server on";
750
- };
751
- readonly watch: {
752
- readonly describe: "Watch the specified .functions folder for changes and restart the server";
753
- };
754
- };
755
- readonly positionals: {
756
- readonly path: {
757
- readonly describe: "Path to local .functions folder";
758
- };
759
- };
760
- };
761
- };
762
- };
763
1079
  readonly hubdb: {
764
1080
  readonly describe: "Commands for managing HubDB tables.";
765
1081
  readonly subcommands: {
@@ -873,58 +1189,6 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
873
1189
  readonly globalConfigFileExists: `You are using our new global configuration for account management, which is not compatible with this command. Please use ${string} instead.`;
874
1190
  };
875
1191
  };
876
- readonly lint: {
877
- readonly issuesFound: (count: number) => string;
878
- readonly groupName: (path: string) => string;
879
- readonly positionals: {
880
- readonly path: {
881
- readonly describe: "Local folder to lint";
882
- };
883
- };
884
- };
885
- readonly list: {
886
- readonly describe: "List remote contents of a directory.";
887
- readonly gettingPathContents: (path: string) => string;
888
- readonly noFilesFoundAtPath: (path: string) => string;
889
- readonly positionals: {
890
- readonly path: {
891
- readonly describe: "Remote directory to list contents";
892
- };
893
- };
894
- };
895
- readonly logs: {
896
- readonly describe: "View logs for a CMS serverless function.";
897
- readonly errors: {
898
- readonly noLogsFound: (functionPath: string, accountId: number) => string;
899
- };
900
- readonly examples: {
901
- readonly default: "Get 5 most recent logs for function residing at /_hcms/api/my-endpoint";
902
- readonly follow: "Poll for and output logs for function residing at /_hcms/api/my-endpoint immediately upon new execution";
903
- readonly limit: "Get 10 most recent logs for function residing at /_hcms/api/my-endpoint";
904
- };
905
- readonly endpointPrompt: "Enter a serverless function endpoint:";
906
- readonly gettingLogs: (latest: boolean | undefined, functionPath: string) => string;
907
- readonly options: {
908
- readonly compact: {
909
- readonly describe: "output compact logs";
910
- };
911
- readonly follow: {
912
- readonly describe: "follow logs";
913
- };
914
- readonly latest: {
915
- readonly describe: "retrieve most recent log only";
916
- };
917
- readonly limit: {
918
- readonly describe: "limit the number of logs to output";
919
- };
920
- };
921
- readonly positionals: {
922
- readonly endpoint: {
923
- readonly describe: "Serverless function endpoint";
924
- };
925
- };
926
- readonly tailLogs: (functionPath: string, accountId: string) => string;
927
- };
928
1192
  readonly mcp: {
929
1193
  readonly describe: "Commands for managing HubSpot MCP servers.";
930
1194
  readonly setup: {
@@ -980,14 +1244,6 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
980
1244
  readonly shuttingDown: "Shutting down MCP server...";
981
1245
  };
982
1246
  };
983
- readonly mv: {
984
- readonly describe: "Move a remote file or folder in HubSpot. This feature is currently in beta and the CLI contract is subject to change.";
985
- readonly errors: {
986
- readonly sourcePathExists: (srcPath: string, destPath: string) => string;
987
- readonly moveFailed: (srcPath: string, destPath: string, accountId: number) => string;
988
- };
989
- readonly move: (srcPath: string, destPath: string, accountId: number) => string;
990
- };
991
1247
  readonly open: {
992
1248
  readonly describe: "Open a HubSpot page in your browser.";
993
1249
  readonly options: {
@@ -1081,7 +1337,7 @@ Profiles enable you to reference variables in your component configuration files
1081
1337
  readonly header: "HubSpot projects local development";
1082
1338
  readonly placeholderAccountSelection: "Using default account as target account (for now)";
1083
1339
  readonly accountTypeInformation: "Testing in a developer test account is strongly recommended, but you can use a sandbox account if your plan allows you to create one.";
1084
- readonly learnMoreMessageV3: `Learn more about ${string} | ${string}`;
1340
+ readonly learnMoreMessageV2: `Learn more about ${string} | ${string}`;
1085
1341
  readonly learnMoreMessageLegacy: string;
1086
1342
  readonly profileProjectAccountExplanation: (accountId: number, profileName: string) => string;
1087
1343
  readonly defaultProjectAccountExplanation: (accountId: number) => string;
@@ -1099,7 +1355,8 @@ Profiles enable you to reference variables in your component configuration files
1099
1355
  readonly accountNotCombined: `
1100
1356
  Local development of unified apps is currently only compatible with accounts that are opted into the unified apps beta. Make sure that this account is opted in or switch accounts using ${string}.`;
1101
1357
  readonly unsupportedAccountFlagLegacy: "The --project-account and --testing-account flags are not supported for projects with platform versions earlier than 2025.2.";
1102
- readonly unsupportedAccountFlagV3: "The --account flag is is not supported supported for projects with platform versions 2025.2 and newer. Use --testing-account and --project-account flags to specify accounts to use for local dev";
1358
+ readonly unsupportedAccountFlagV2: "The --account flag is is not supported supported for projects with platform versions 2025.2 and newer. Use --testing-account and --project-account flags to specify accounts to use for local dev";
1359
+ readonly localDevAlreadyRunning: `Another ${string} process is already running. To proceed with local development of this project, stop the existing process and re-run ${string}.`;
1103
1360
  };
1104
1361
  readonly examples: {
1105
1362
  readonly default: "Start local dev for the current project";
@@ -1448,7 +1705,7 @@ ${string}`;
1448
1705
  readonly uploadFailed: (remotePath: string, filePath: string) => string;
1449
1706
  readonly deleteFileFailed: (remotePath: string) => string;
1450
1707
  readonly deleteFolderFailed: (remotePath: string) => string;
1451
- readonly v3ApiError: (platformVersion: string) => string;
1708
+ readonly v2ApiError: (platformVersion: string) => string;
1452
1709
  };
1453
1710
  };
1454
1711
  readonly download: {
@@ -1529,15 +1786,16 @@ ${string}`;
1529
1786
  };
1530
1787
  };
1531
1788
  };
1532
- };
1533
- readonly remove: {
1534
- readonly describe: "Delete a file or folder from the HubSpot CMS.";
1535
- readonly deleted: (path: string, accountId: number) => string;
1536
- readonly errors: {
1537
- readonly deleteFailed: (path: string, accountId: number) => string;
1538
- };
1539
- readonly positionals: {
1540
- readonly path: "Remote hubspot path";
1789
+ readonly list: {
1790
+ readonly describe: "List uploaded projects that exist in the current target account";
1791
+ readonly projects: `${string}:`;
1792
+ readonly labels: {
1793
+ readonly name: "Name";
1794
+ readonly platformVersion: "Platform Version";
1795
+ };
1796
+ readonly errors: {
1797
+ readonly noProjectsFound: (accountId: number) => string;
1798
+ };
1541
1799
  };
1542
1800
  };
1543
1801
  readonly sandbox: {
@@ -1797,155 +2055,6 @@ ${string}`;
1797
2055
  };
1798
2056
  };
1799
2057
  };
1800
- readonly theme: {
1801
- readonly describe: "Commands for managing themes.";
1802
- readonly subcommands: {
1803
- readonly generateSelectors: {
1804
- readonly describe: "Automatically generates an editor-preview.json file for the given theme. The selectors this command generates are not perfect, so please edit editor-preview.json after running.";
1805
- readonly errors: {
1806
- readonly invalidPath: (themePath: string) => string;
1807
- readonly fieldsNotFound: "Unable to find theme's fields.json.";
1808
- readonly noSelectorsFound: "No selectors found.";
1809
- };
1810
- readonly success: (themePath: string, selectorsPath: string) => string;
1811
- readonly positionals: {
1812
- readonly path: "The path of the theme you'd like to generate an editor-preview.json for.";
1813
- };
1814
- };
1815
- readonly marketplaceValidate: {
1816
- readonly describe: "Validate a theme for the marketplace.";
1817
- readonly errors: {
1818
- readonly invalidPath: (path: string) => string;
1819
- };
1820
- readonly logs: {
1821
- readonly validatingTheme: (path: string) => string;
1822
- };
1823
- readonly results: {
1824
- readonly required: "Required validation results:";
1825
- readonly recommended: "Recommended validation results:";
1826
- readonly warnings: {
1827
- readonly file: (file: string) => string;
1828
- readonly lineNumber: (line: string) => string;
1829
- };
1830
- readonly noErrors: "No errors";
1831
- };
1832
- readonly positionals: {
1833
- readonly path: {
1834
- readonly describe: "Path to the theme within the Design Manager.";
1835
- };
1836
- };
1837
- };
1838
- readonly preview: {
1839
- readonly describe: "Upload and watch a theme directory on your computer for changes and start a local development server to preview theme changes on a site.";
1840
- readonly errors: {
1841
- readonly invalidPath: (path: string) => string;
1842
- readonly noThemeComponents: "Your project has no theme components available to preview.";
1843
- readonly uploadFailed: (src: string, dest: string) => string;
1844
- };
1845
- readonly positionals: {
1846
- readonly src: "Path to the local directory your theme is in, relative to your current working directory";
1847
- readonly dest: "Path in HubSpot Design Tools. Can be a net new path. If you wish to preview a site page using your theme changes it must match the path of the theme used by the site.";
1848
- };
1849
- readonly options: {
1850
- readonly notify: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1851
- readonly noSsl: "Disable HTTPS";
1852
- readonly port: "The port on which to start the local server";
1853
- };
1854
- readonly initialUploadProgressBar: {
1855
- readonly start: "Starting...";
1856
- readonly uploading: "Uploading...";
1857
- readonly finish: "Complete!";
1858
- };
1859
- readonly logs: {
1860
- readonly processExited: "Stopping dev server...";
1861
- };
1862
- };
1863
- };
1864
- };
1865
- readonly module: {
1866
- readonly describe: "Commands for working with modules, including marketplace validation with the marketplace-validate subcommand.";
1867
- readonly subcommands: {
1868
- readonly marketplaceValidate: {
1869
- readonly describe: "Validate a module for the marketplace. Make sure to include the suffix .module in the path to the module within the Design Manager.";
1870
- readonly errors: {
1871
- readonly invalidPath: (path: string) => string;
1872
- };
1873
- readonly logs: {
1874
- readonly validatingModule: (path: string) => string;
1875
- };
1876
- readonly results: {
1877
- readonly required: "Required validation results:";
1878
- readonly recommended: "Recommended validation results:";
1879
- readonly warnings: {
1880
- readonly file: (file: string) => string;
1881
- readonly lineNumber: (line: string) => string;
1882
- };
1883
- readonly noErrors: "No errors";
1884
- };
1885
- readonly positionals: {
1886
- readonly src: "Path to the module within the Design Manager.";
1887
- };
1888
- };
1889
- };
1890
- };
1891
- readonly upload: {
1892
- readonly describe: "Upload a folder or file from your computer to the HubSpot CMS.";
1893
- readonly errors: {
1894
- readonly destinationRequired: "A destination path needs to be passed";
1895
- readonly fileIgnored: (path: string) => string;
1896
- readonly invalidPath: (path: string) => string;
1897
- readonly uploadFailed: (src: string, dest: string) => string;
1898
- readonly someFilesFailed: (dest: string) => string;
1899
- readonly deleteFailed: (path: string, accountId: number) => string;
1900
- };
1901
- readonly options: {
1902
- readonly options: "Options to pass to javascript fields files";
1903
- readonly saveOutput: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1904
- readonly convertFields: "If true, converts any javascript fields files contained in module folder or project root.";
1905
- readonly clean: "Will delete the destination directory and its contents before uploading. This will also clear the global content associated with any global partial templates and modules.";
1906
- readonly force: "Skips confirmation prompts when doing a clean upload.";
1907
- };
1908
- readonly previewUrl: (previewUrl: string) => string;
1909
- readonly positionals: {
1910
- readonly src: "Path to the local file, relative to your current working directory.";
1911
- readonly dest: "Path in HubSpot Design Tools, can be a net new path.";
1912
- };
1913
- readonly success: {
1914
- readonly fileUploaded: (src: string, dest: string, accountId: number) => string;
1915
- readonly uploadComplete: (dest: string) => string;
1916
- };
1917
- readonly uploading: (src: string, dest: string, accountId: number) => string;
1918
- readonly notUploaded: (src: string) => string;
1919
- readonly cleaning: (filePath: string, accountId: number) => string;
1920
- readonly confirmCleanUpload: (filePath: string, accountId: number) => string;
1921
- };
1922
- readonly watch: {
1923
- readonly describe: "Watch a directory on your computer for changes and upload the changed files to the HubSpot CMS.";
1924
- readonly errors: {
1925
- readonly folderFailed: (src: string, dest: string, accountId: number) => string;
1926
- readonly fileFailed: (file: string, dest: string, accountId: number) => string;
1927
- readonly destinationRequired: "A destination directory needs to be passed";
1928
- readonly invalidPath: (path: string) => string;
1929
- };
1930
- readonly options: {
1931
- readonly disableInitial: "Disable the initial upload when watching a directory (default)";
1932
- readonly initialUpload: "Upload directory before watching for updates";
1933
- readonly notify: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1934
- readonly remove: "Will cause watch to delete files in your HubSpot account that are not found locally.";
1935
- readonly convertFields: "If true, converts any javascript fields files contained in module folder or project root.";
1936
- readonly saveOutput: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1937
- readonly options: "Options to pass to javascript fields files";
1938
- };
1939
- readonly positionals: {
1940
- readonly src: "Path to the local directory your files are in, relative to your current working directory";
1941
- readonly dest: "Path in HubSpot Design Tools. Can be a net new path";
1942
- };
1943
- readonly warnings: {
1944
- readonly disableInitial: `Passing the "${string}" option is no longer necessary. Running "${string}" no longer uploads the watched directory by default.`;
1945
- readonly initialUpload: `To upload the directory run "${string}" beforehand or add the "${string}" option when running "${string}".`;
1946
- readonly notUploaded: (path: string) => string;
1947
- };
1948
- };
1949
2058
  readonly convertFields: {
1950
2059
  readonly describe: "Converts a specific JavaScript fields file of a module or theme to JSON.";
1951
2060
  readonly positionals: {
@@ -2047,6 +2156,7 @@ ${string}`;
2047
2156
  readonly options: {
2048
2157
  readonly name: "The name of the test account (in your CLI config) to delete";
2049
2158
  readonly id: "The id of the test account";
2159
+ readonly force: "Skips all confirmation prompts when deleting a test account.";
2050
2160
  };
2051
2161
  readonly examples: {
2052
2162
  readonly withPositionalID: (testAccountToDelete: number) => string;
@@ -2701,10 +2811,14 @@ export declare const lib: {
2701
2811
  };
2702
2812
  };
2703
2813
  readonly AppDevModeInterface: {
2814
+ readonly autoInstallStaticAuthApp: {
2815
+ readonly installing: (appName: string, targetTestAccountId: number) => string;
2816
+ readonly success: (appName: string, targetTestAccountId: number) => string;
2817
+ readonly error: (appName: string, targetTestAccountId: number) => string;
2818
+ };
2704
2819
  readonly defaultMarketplaceAppWarning: (installCount: number) => string;
2705
2820
  readonly autoInstallDeclined: "You must install your app on your target test account to proceed with local development.";
2706
2821
  readonly autoInstallSuccess: (appName: string, targetTestAccountId: number) => string;
2707
- readonly autoInstallError: (appName: string, targetTestAccountId: number) => string;
2708
2822
  readonly fetchAppData: {
2709
2823
  readonly checking: (appName: string) => string;
2710
2824
  readonly success: (appName: string, accountId: number) => string;
@@ -2714,6 +2828,13 @@ export declare const lib: {
2714
2828
  };
2715
2829
  readonly distributionChanged: `Your app's distribution type has been changed from private to marketplace. Once uploaded, this change cannot be reversed. Before uploading your project, confirm that you want to ${string} change your app's distribution type. This will uninstall your app from all accounts.`;
2716
2830
  readonly authTypeChanged: `Your app's auth type has been changed from static to oauth. Once uploaded, this change cannot be reversed. Before uploading your project, confirm that you want to ${string} change your app's auth type. This will uninstall your app from all accounts.`;
2831
+ readonly installationFailed: "An error occured while installing your app. Your app must be installed in your target test account to proceed with local development.";
2832
+ readonly waitUntilAppIsInstalled: {
2833
+ readonly link: (installUrl: string) => string;
2834
+ readonly waiting: "Waiting for your app to be installed...";
2835
+ readonly success: (appName: string, accountId: number) => string;
2836
+ };
2837
+ readonly appDataNotFound: "An error occurred while fetching data for your app.";
2717
2838
  };
2718
2839
  readonly LocalDevWebsocketServer: {
2719
2840
  readonly errors: {
@@ -3020,7 +3141,7 @@ Run ${string} to upgrade to version ${string}`;
3020
3141
  };
3021
3142
  };
3022
3143
  readonly buildAccount: {
3023
- readonly createDeveloperTestAccountV3: {
3144
+ readonly createDeveloperTestAccountV2: {
3024
3145
  readonly syncFailure: "Failed to sync developer test account";
3025
3146
  readonly pakFailure: "Failed to generate personal access key for developer test account";
3026
3147
  };
@@ -3084,6 +3205,21 @@ Run ${string} to upgrade to version ${string}`;
3084
3205
  readonly mergeConflictMessage: (count: number, propertyList: string) => string;
3085
3206
  readonly mergeConfigConflictPrompt: (property: string, newValue: string, oldValue: string) => string;
3086
3207
  };
3208
+ readonly handleAccountNameConflicts: {
3209
+ readonly warnings: {
3210
+ readonly accountNameConflictMessage: (count: number) => string;
3211
+ readonly forceFlagDetected: (count: number, renameDetails: string) => string;
3212
+ };
3213
+ readonly prompts: {
3214
+ readonly renameOrOmitAccountPrompt: (accountName: string, accountId: number) => string;
3215
+ readonly newAccountNamePrompt: (accountName: string, portalId: number) => string;
3216
+ };
3217
+ readonly errors: {
3218
+ readonly nameRequired: "The name may not be blank. Please add a name for the config.";
3219
+ readonly sameName: "The new account name must be different from the current name.";
3220
+ readonly nameAlreadyInConfig: (name: string) => string;
3221
+ };
3222
+ };
3087
3223
  readonly handleMerge: {
3088
3224
  readonly description: (archivedConfigName: string) => string;
3089
3225
  readonly confirmPrompt: "Merge the deprecated config into your global config?";
@@ -3329,7 +3465,6 @@ Run ${string} to upgrade to version ${string}`;
3329
3465
  readonly installAppPrompt: {
3330
3466
  readonly explanation: "Local development requires this app to be installed in the target test account.";
3331
3467
  readonly reinstallExplanation: "This app's required scopes have been updated since it was last installed on the target test account. To avoid issues with local development, we recommend reinstalling the app with the updated scopes.";
3332
- readonly staticAuthExplanation: (projectAccountId: number, testingAccountId: number, projectName: string, appUid: string) => string;
3333
3468
  readonly prompt: "Open HubSpot to install this app?";
3334
3469
  readonly autoPrompt: "Install this app in your target test account?";
3335
3470
  readonly reinstallPrompt: "Open HubSpot to reinstall this app?";