@hubspot/cli 7.5.3-experimental.0 → 7.5.3

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 (413) hide show
  1. package/api/migrate.d.ts +12 -3
  2. package/api/migrate.js +9 -2
  3. package/bin/cli.js +100 -93
  4. package/commands/account/auth.d.ts +8 -0
  5. package/commands/account/auth.js +175 -0
  6. package/commands/account/clean.d.ts +3 -7
  7. package/commands/account/clean.js +54 -14
  8. package/commands/account/createOverride.d.ts +6 -0
  9. package/commands/account/createOverride.js +121 -0
  10. package/commands/account/info.d.ts +3 -7
  11. package/commands/account/info.js +36 -5
  12. package/commands/account/list.d.ts +3 -7
  13. package/commands/account/list.js +38 -15
  14. package/commands/account/remove.d.ts +3 -7
  15. package/commands/account/remove.js +49 -9
  16. package/commands/account/removeOverride.d.ts +6 -0
  17. package/commands/account/removeOverride.js +93 -0
  18. package/commands/account/rename.d.ts +3 -7
  19. package/commands/account/rename.js +16 -9
  20. package/commands/account/use.d.ts +5 -9
  21. package/commands/account/use.js +27 -6
  22. package/commands/account.d.ts +3 -4
  23. package/commands/account.js +33 -53
  24. package/commands/app/migrate.d.ts +5 -6
  25. package/commands/app/migrate.js +60 -44
  26. package/commands/app/secret/add.d.ts +7 -0
  27. package/commands/app/secret/add.js +64 -0
  28. package/commands/app/secret/delete.d.ts +8 -0
  29. package/commands/app/secret/delete.js +87 -0
  30. package/commands/app/secret/list.d.ts +6 -0
  31. package/commands/app/secret/list.js +64 -0
  32. package/commands/app/secret/update.d.ts +7 -0
  33. package/commands/app/secret/update.js +77 -0
  34. package/commands/app/secret.d.ts +3 -0
  35. package/commands/app/secret.js +30 -0
  36. package/commands/app.d.ts +2 -5
  37. package/commands/app.js +10 -10
  38. package/commands/auth.d.ts +5 -7
  39. package/commands/auth.js +37 -33
  40. package/commands/cms/convertFields.d.ts +7 -1
  41. package/commands/cms/convertFields.js +57 -41
  42. package/commands/cms/getReactModule.d.ts +7 -1
  43. package/commands/cms/getReactModule.js +52 -34
  44. package/commands/cms/lighthouseScore.d.ts +8 -1
  45. package/commands/cms/lighthouseScore.js +129 -100
  46. package/commands/cms.d.ts +3 -1
  47. package/commands/cms.js +22 -16
  48. package/commands/completion.d.ts +3 -1
  49. package/commands/completion.js +23 -13
  50. package/commands/config/migrate.d.ts +6 -0
  51. package/commands/config/migrate.js +75 -0
  52. package/commands/config/set.d.ts +10 -1
  53. package/commands/config/set.js +56 -32
  54. package/commands/config.d.ts +3 -1
  55. package/commands/config.js +19 -11
  56. package/commands/create/api-sample.d.ts +3 -1
  57. package/commands/create/api-sample.js +34 -38
  58. package/commands/create/app.d.ts +3 -1
  59. package/commands/create/app.js +9 -7
  60. package/commands/create/function.d.ts +3 -1
  61. package/commands/create/function.js +11 -10
  62. package/commands/create/index.d.ts +5 -1
  63. package/commands/create/index.js +23 -11
  64. package/commands/create/module.d.ts +3 -1
  65. package/commands/create/module.js +14 -13
  66. package/commands/create/react-app.d.ts +3 -1
  67. package/commands/create/react-app.js +10 -7
  68. package/commands/create/template.d.ts +3 -1
  69. package/commands/create/template.js +14 -14
  70. package/commands/create/vue-app.d.ts +3 -1
  71. package/commands/create/vue-app.js +10 -7
  72. package/commands/create/webpack-serverless.d.ts +3 -1
  73. package/commands/create/webpack-serverless.js +10 -7
  74. package/commands/create/website-theme.d.ts +3 -1
  75. package/commands/create/website-theme.js +10 -9
  76. package/commands/create.d.ts +4 -24
  77. package/commands/create.js +62 -75
  78. package/commands/customObject/create.d.ts +4 -9
  79. package/commands/customObject/create.js +17 -10
  80. package/commands/customObject/schema/create.d.ts +4 -9
  81. package/commands/customObject/schema/create.js +18 -11
  82. package/commands/customObject/schema/delete.d.ts +4 -9
  83. package/commands/customObject/schema/delete.js +17 -10
  84. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  85. package/commands/customObject/schema/fetch-all.js +17 -10
  86. package/commands/customObject/schema/fetch.d.ts +4 -9
  87. package/commands/customObject/schema/fetch.js +17 -10
  88. package/commands/customObject/schema/list.d.ts +4 -8
  89. package/commands/customObject/schema/list.js +17 -10
  90. package/commands/customObject/schema/update.d.ts +4 -9
  91. package/commands/customObject/schema/update.js +18 -11
  92. package/commands/customObject/schema.d.ts +3 -5
  93. package/commands/customObject/schema.js +27 -54
  94. package/commands/customObject.d.ts +3 -4
  95. package/commands/customObject.js +20 -48
  96. package/commands/doctor.d.ts +6 -8
  97. package/commands/doctor.js +30 -22
  98. package/commands/feedback.d.ts +4 -1
  99. package/commands/feedback.js +38 -48
  100. package/commands/fetch.d.ts +12 -1
  101. package/commands/fetch.js +49 -34
  102. package/commands/filemanager/fetch.d.ts +4 -9
  103. package/commands/filemanager/fetch.js +18 -11
  104. package/commands/filemanager/upload.d.ts +4 -9
  105. package/commands/filemanager/upload.js +17 -11
  106. package/commands/filemanager.d.ts +3 -4
  107. package/commands/filemanager.js +18 -42
  108. package/commands/function/deploy.d.ts +6 -1
  109. package/commands/function/deploy.js +70 -50
  110. package/commands/function/list.d.ts +6 -1
  111. package/commands/function/list.js +44 -32
  112. package/commands/function/server.d.ts +10 -1
  113. package/commands/function/server.js +49 -38
  114. package/commands/function.d.ts +5 -1
  115. package/commands/function.js +22 -11
  116. package/commands/getStarted.d.ts +9 -0
  117. package/commands/getStarted.js +227 -0
  118. package/commands/hubdb/clear.d.ts +4 -9
  119. package/commands/hubdb/clear.js +21 -15
  120. package/commands/hubdb/create.d.ts +4 -9
  121. package/commands/hubdb/create.js +23 -17
  122. package/commands/hubdb/delete.d.ts +4 -9
  123. package/commands/hubdb/delete.js +24 -16
  124. package/commands/hubdb/fetch.d.ts +4 -9
  125. package/commands/hubdb/fetch.js +20 -14
  126. package/commands/hubdb/list.d.ts +4 -0
  127. package/commands/hubdb/list.js +83 -0
  128. package/commands/hubdb.d.ts +3 -2
  129. package/commands/hubdb.js +24 -47
  130. package/commands/init.d.ts +3 -7
  131. package/commands/init.js +31 -24
  132. package/commands/lint.d.ts +6 -4
  133. package/commands/lint.js +42 -44
  134. package/commands/list.d.ts +3 -7
  135. package/commands/list.js +21 -16
  136. package/commands/logs.d.ts +10 -1
  137. package/commands/logs.js +53 -45
  138. package/commands/mcp/setup.d.ts +7 -0
  139. package/commands/mcp/setup.js +50 -0
  140. package/commands/mcp/start.d.ts +3 -0
  141. package/commands/mcp/start.js +75 -0
  142. package/commands/mcp.d.ts +3 -0
  143. package/commands/mcp.js +26 -0
  144. package/commands/module/marketplace-validate.d.ts +6 -1
  145. package/commands/module/marketplace-validate.js +39 -30
  146. package/commands/module.d.ts +3 -1
  147. package/commands/module.js +23 -12
  148. package/commands/mv.d.ts +3 -7
  149. package/commands/mv.js +20 -15
  150. package/commands/open.d.ts +3 -7
  151. package/commands/open.js +20 -15
  152. package/commands/project/add.d.ts +8 -9
  153. package/commands/project/add.js +53 -85
  154. package/commands/project/cloneApp.d.ts +6 -8
  155. package/commands/project/cloneApp.js +51 -47
  156. package/commands/project/create.d.ts +4 -1
  157. package/commands/project/create.js +132 -81
  158. package/commands/project/deploy.d.ts +5 -6
  159. package/commands/project/deploy.js +93 -37
  160. package/commands/project/dev/deprecatedFlow.d.ts +8 -2
  161. package/commands/project/dev/deprecatedFlow.js +41 -26
  162. package/commands/project/dev/index.d.ts +4 -5
  163. package/commands/project/dev/index.js +103 -33
  164. package/commands/project/dev/unifiedFlow.d.ts +11 -2
  165. package/commands/project/dev/unifiedFlow.js +85 -46
  166. package/commands/project/download.d.ts +3 -7
  167. package/commands/project/download.js +18 -19
  168. package/commands/project/installDeps.d.ts +6 -1
  169. package/commands/project/installDeps.js +48 -32
  170. package/commands/project/listBuilds.d.ts +3 -7
  171. package/commands/project/listBuilds.js +32 -30
  172. package/commands/project/logs.d.ts +10 -1
  173. package/commands/project/logs.js +73 -65
  174. package/commands/project/migrate.d.ts +7 -8
  175. package/commands/project/migrate.js +49 -26
  176. package/commands/project/migrateApp.d.ts +3 -8
  177. package/commands/project/migrateApp.js +23 -20
  178. package/commands/project/open.d.ts +3 -7
  179. package/commands/project/open.js +29 -21
  180. package/commands/project/profile/add.d.ts +7 -0
  181. package/commands/project/profile/add.js +209 -0
  182. package/commands/project/profile/delete.d.ts +6 -0
  183. package/commands/project/profile/delete.js +123 -0
  184. package/commands/project/profile.d.ts +3 -0
  185. package/commands/project/profile.js +25 -0
  186. package/commands/project/upload.d.ts +10 -1
  187. package/commands/project/upload.js +94 -56
  188. package/commands/project/validate.d.ts +6 -0
  189. package/commands/project/validate.js +81 -0
  190. package/commands/project/watch.d.ts +6 -1
  191. package/commands/project/watch.js +95 -61
  192. package/commands/project.d.ts +3 -1
  193. package/commands/project.js +49 -37
  194. package/commands/remove.d.ts +3 -7
  195. package/commands/remove.js +22 -20
  196. package/commands/sandbox/create.d.ts +4 -9
  197. package/commands/sandbox/create.js +27 -21
  198. package/commands/sandbox/delete.d.ts +4 -9
  199. package/commands/sandbox/delete.js +35 -29
  200. package/commands/sandbox.d.ts +3 -4
  201. package/commands/sandbox.js +18 -44
  202. package/commands/secret/addSecret.d.ts +4 -9
  203. package/commands/secret/addSecret.js +21 -15
  204. package/commands/secret/deleteSecret.d.ts +4 -9
  205. package/commands/secret/deleteSecret.js +28 -18
  206. package/commands/secret/listSecret.d.ts +4 -9
  207. package/commands/secret/listSecret.js +19 -13
  208. package/commands/secret/updateSecret.d.ts +4 -9
  209. package/commands/secret/updateSecret.js +25 -17
  210. package/commands/secret.d.ts +3 -4
  211. package/commands/secret.js +23 -49
  212. package/commands/theme/generate-selectors.d.ts +3 -7
  213. package/commands/theme/generate-selectors.js +20 -16
  214. package/commands/theme/marketplace-validate.d.ts +4 -9
  215. package/commands/theme/marketplace-validate.js +22 -18
  216. package/commands/theme/preview.d.ts +4 -9
  217. package/commands/theme/preview.js +36 -30
  218. package/commands/theme.d.ts +3 -4
  219. package/commands/theme.js +22 -48
  220. package/commands/upload.d.ts +12 -1
  221. package/commands/upload.js +116 -135
  222. package/commands/watch.d.ts +14 -1
  223. package/commands/watch.js +74 -76
  224. package/lang/en.d.ts +3218 -0
  225. package/lang/en.js +3075 -3313
  226. package/lang/en.lyaml +96 -228
  227. package/lib/accountTypes.d.ts +1 -0
  228. package/lib/accountTypes.js +11 -0
  229. package/lib/app/migrate.d.ts +33 -4
  230. package/lib/app/migrate.js +179 -88
  231. package/lib/app/migrate_legacy.d.ts +2 -2
  232. package/lib/app/migrate_legacy.js +12 -11
  233. package/lib/app/urls.d.ts +16 -0
  234. package/lib/app/urls.js +16 -0
  235. package/lib/buildAccount.d.ts +1 -2
  236. package/lib/buildAccount.js +11 -10
  237. package/lib/commonOpts.d.ts +4 -7
  238. package/lib/commonOpts.js +47 -19
  239. package/lib/configMigrate.d.ts +2 -0
  240. package/lib/configMigrate.js +83 -0
  241. package/lib/configOptions.d.ts +4 -0
  242. package/lib/configOptions.js +41 -45
  243. package/lib/constants.d.ts +33 -0
  244. package/lib/constants.js +34 -1
  245. package/lib/dependencyManagement.d.ts +0 -5
  246. package/lib/dependencyManagement.js +14 -40
  247. package/lib/doctor/Diagnosis.d.ts +1 -2
  248. package/lib/doctor/Diagnosis.js +19 -16
  249. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  250. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  251. package/lib/doctor/Doctor.d.ts +1 -0
  252. package/lib/doctor/Doctor.js +60 -46
  253. package/lib/errorHandlers/index.js +13 -7
  254. package/lib/errorHandlers/suppressError.js +18 -26
  255. package/lib/filesystem.d.ts +1 -1
  256. package/lib/generateSelectors.js +3 -6
  257. package/lib/hasFeature.d.ts +3 -1
  258. package/lib/interpolation.d.ts +2 -3
  259. package/lib/lang.d.ts +2 -3
  260. package/lib/marketplaceValidate.d.ts +12 -2
  261. package/lib/marketplaceValidate.js +22 -29
  262. package/lib/mcp/setup.d.ts +12 -0
  263. package/lib/mcp/setup.js +216 -0
  264. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +3 -3
  265. package/lib/middleware/autoUpdateMiddleware.d.ts +1 -0
  266. package/lib/middleware/autoUpdateMiddleware.js +89 -0
  267. package/lib/middleware/configMiddleware.js +37 -3
  268. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  269. package/lib/middleware/fireAlarmMiddleware.js +125 -0
  270. package/lib/middleware/yargsChecksMiddleware.js +2 -2
  271. package/lib/npm.d.ts +9 -0
  272. package/lib/npm.js +36 -0
  273. package/lib/oauth.js +1 -2
  274. package/lib/process.js +1 -2
  275. package/lib/projectProfiles.d.ts +7 -0
  276. package/lib/projectProfiles.js +83 -0
  277. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  278. package/lib/projects/ProjectLogsManager.js +16 -21
  279. package/lib/projects/add/legacyAddComponent.d.ts +5 -0
  280. package/lib/projects/add/legacyAddComponent.js +48 -0
  281. package/lib/projects/add/v3AddComponent.d.ts +8 -0
  282. package/lib/projects/add/v3AddComponent.js +85 -0
  283. package/lib/projects/buildAndDeploy.js +46 -42
  284. package/lib/projects/components.d.ts +2 -0
  285. package/lib/projects/components.js +82 -0
  286. package/lib/projects/config.d.ts +9 -0
  287. package/lib/projects/config.js +79 -0
  288. package/lib/projects/create/index.d.ts +23 -0
  289. package/lib/projects/create/index.js +33 -0
  290. package/lib/projects/create/legacy.d.ts +6 -0
  291. package/lib/projects/{create.js → create/legacy.js} +23 -15
  292. package/lib/projects/create/v3.d.ts +27 -0
  293. package/lib/projects/create/v3.js +158 -0
  294. package/lib/projects/ensureProjectExists.d.ts +11 -0
  295. package/lib/projects/ensureProjectExists.js +97 -0
  296. package/lib/projects/localDev/AppDevModeInterface.d.ts +30 -0
  297. package/lib/projects/localDev/AppDevModeInterface.js +215 -0
  298. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  299. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  300. package/lib/projects/localDev/DevServerManagerV2.d.ts +22 -0
  301. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
  302. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  303. package/lib/projects/localDev/LocalDevLogger.js +159 -0
  304. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  305. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +57 -83
  306. package/lib/projects/localDev/LocalDevProcess.d.ts +34 -0
  307. package/lib/projects/localDev/LocalDevProcess.js +201 -0
  308. package/lib/projects/localDev/LocalDevState.d.ts +50 -0
  309. package/lib/projects/localDev/LocalDevState.js +119 -0
  310. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  311. package/lib/projects/localDev/LocalDevWatcher.js +53 -0
  312. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +20 -0
  313. package/lib/projects/localDev/LocalDevWebsocketServer.js +131 -0
  314. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +6 -4
  315. package/lib/{localDev.js → projects/localDev/helpers.js} +127 -114
  316. package/lib/projects/ui.d.ts +1 -0
  317. package/lib/projects/ui.js +15 -0
  318. package/lib/projects/upload.d.ts +17 -2
  319. package/lib/projects/upload.js +74 -50
  320. package/lib/projects/urls.d.ts +4 -0
  321. package/lib/projects/urls.js +23 -1
  322. package/lib/projects/watch.d.ts +1 -1
  323. package/lib/projects/watch.js +21 -18
  324. package/lib/prompts/accountNamePrompt.js +16 -13
  325. package/lib/prompts/accountsPrompt.js +1 -2
  326. package/lib/prompts/cmsFieldPrompt.js +1 -2
  327. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  328. package/lib/prompts/createApiSamplePrompt.js +4 -5
  329. package/lib/prompts/createFunctionPrompt.js +13 -14
  330. package/lib/prompts/createModulePrompt.js +8 -9
  331. package/lib/prompts/createProjectPrompt.d.ts +20 -4
  332. package/lib/prompts/createProjectPrompt.js +43 -13
  333. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  334. package/lib/prompts/createTemplatePrompt.js +1 -2
  335. package/lib/prompts/downloadProjectPrompt.js +3 -4
  336. package/lib/prompts/installAppPrompt.d.ts +2 -0
  337. package/lib/prompts/installAppPrompt.js +45 -0
  338. package/lib/prompts/personalAccessKeyPrompt.js +35 -25
  339. package/lib/prompts/previewPrompt.js +5 -6
  340. package/lib/prompts/projectAddPrompt.d.ts +5 -1
  341. package/lib/prompts/projectAddPrompt.js +35 -8
  342. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +6 -1
  343. package/lib/prompts/projectDevTargetAccountPrompt.js +15 -16
  344. package/lib/prompts/projectNamePrompt.js +5 -6
  345. package/lib/prompts/projectsLogsPrompt.js +3 -2
  346. package/lib/prompts/promptUtils.d.ts +4 -2
  347. package/lib/prompts/promptUtils.js +3 -1
  348. package/lib/prompts/sandboxesPrompt.js +5 -6
  349. package/lib/prompts/secretPrompt.js +2 -3
  350. package/lib/prompts/selectAppPrompt.d.ts +2 -0
  351. package/lib/prompts/selectAppPrompt.js +40 -0
  352. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  353. package/lib/prompts/{selectPublicAppPrompt.d.ts → selectPublicAppForMigrationPrompt.d.ts} +1 -1
  354. package/lib/prompts/{selectPublicAppPrompt.js → selectPublicAppForMigrationPrompt.js} +8 -9
  355. package/lib/prompts/setAsDefaultAccountPrompt.js +11 -2
  356. package/lib/prompts/uploadPrompt.js +4 -5
  357. package/lib/sandboxSync.js +15 -14
  358. package/lib/sandboxes.js +12 -13
  359. package/lib/serverlessLogs.js +4 -6
  360. package/lib/testUtils.d.ts +3 -3
  361. package/lib/testUtils.js +8 -9
  362. package/lib/ui/boxen.d.ts +5 -0
  363. package/lib/ui/boxen.js +30 -0
  364. package/lib/ui/git.js +8 -9
  365. package/lib/ui/index.d.ts +4 -2
  366. package/lib/ui/index.js +20 -17
  367. package/lib/ui/logger.d.ts +10 -0
  368. package/lib/ui/logger.js +15 -0
  369. package/lib/ui/serverlessFunctionLogs.js +2 -3
  370. package/lib/upload.d.ts +1 -1
  371. package/lib/validation.js +4 -5
  372. package/lib/yargsUtils.d.ts +5 -1
  373. package/lib/yargsUtils.js +6 -0
  374. package/mcp-server/server.d.ts +1 -0
  375. package/mcp-server/server.js +18 -0
  376. package/mcp-server/tools/index.d.ts +2 -0
  377. package/mcp-server/tools/index.js +17 -0
  378. package/mcp-server/tools/project/AddFeatureToProject.d.ts +29 -0
  379. package/mcp-server/tools/project/AddFeatureToProject.js +85 -0
  380. package/mcp-server/tools/project/CreateProjectTool.d.ts +35 -0
  381. package/mcp-server/tools/project/CreateProjectTool.js +100 -0
  382. package/mcp-server/tools/project/DeployProject.d.ts +20 -0
  383. package/mcp-server/tools/project/DeployProject.js +50 -0
  384. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +17 -0
  385. package/mcp-server/tools/project/GuidedWalkthroughTool.js +58 -0
  386. package/mcp-server/tools/project/UploadProjectTools.d.ts +17 -0
  387. package/mcp-server/tools/project/UploadProjectTools.js +35 -0
  388. package/mcp-server/tools/project/constants.d.ts +3 -0
  389. package/mcp-server/tools/project/constants.js +13 -0
  390. package/mcp-server/types.d.ts +14 -0
  391. package/mcp-server/types.js +17 -0
  392. package/mcp-server/utils/command.d.ts +3 -0
  393. package/mcp-server/utils/command.js +16 -0
  394. package/mcp-server/utils/content.d.ts +3 -0
  395. package/mcp-server/utils/content.js +21 -0
  396. package/mcp-server/utils/project.d.ts +5 -0
  397. package/mcp-server/utils/project.js +17 -0
  398. package/package.json +19 -11
  399. package/types/Cms.d.ts +30 -0
  400. package/types/Cms.js +2 -0
  401. package/types/LocalDev.d.ts +35 -0
  402. package/types/LocalDev.js +2 -0
  403. package/types/Projects.d.ts +19 -2
  404. package/types/Prompts.d.ts +0 -7
  405. package/types/Yargs.d.ts +14 -14
  406. package/lib/DevServerManagerV2.d.ts +0 -33
  407. package/lib/LocalDevManagerV2.d.ts +0 -64
  408. package/lib/LocalDevManagerV2.js +0 -377
  409. package/lib/projects/create.d.ts +0 -5
  410. package/lib/projects/index.d.ts +0 -21
  411. package/lib/projects/index.js +0 -194
  412. package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
  413. package/lib/prompts/installPublicAppPrompt.js +0 -40
package/api/migrate.d.ts CHANGED
@@ -10,10 +10,14 @@ interface BaseMigrationApp {
10
10
  }
11
11
  export interface MigratableApp extends BaseMigrationApp {
12
12
  isMigratable: true;
13
+ unmigratableReason?: undefined;
13
14
  }
15
+ export declare const CLI_UNMIGRATABLE_REASONS: {
16
+ readonly PART_OF_PROJECT_ALREADY: "PART_OF_PROJECT_ALREADY";
17
+ };
14
18
  export interface UnmigratableApp extends BaseMigrationApp {
15
19
  isMigratable: false;
16
- unmigratableReason: keyof typeof UNMIGRATABLE_REASONS;
20
+ unmigratableReason: keyof typeof UNMIGRATABLE_REASONS | keyof typeof CLI_UNMIGRATABLE_REASONS;
17
21
  }
18
22
  export type MigrationApp = MigratableApp | UnmigratableApp;
19
23
  export interface ListAppsResponse {
@@ -48,14 +52,19 @@ export interface MigrationSuccess extends MigrationBaseStatus {
48
52
  status: typeof MIGRATION_STATUS.SUCCESS;
49
53
  buildId: number;
50
54
  }
55
+ interface ComponentError {
56
+ componentType: string;
57
+ developerSymbol?: string;
58
+ errorMessage: string;
59
+ }
51
60
  export interface MigrationFailed extends MigrationBaseStatus {
52
61
  status: typeof MIGRATION_STATUS.FAILURE;
53
62
  projectErrorDetail: string;
54
- componentErrorDetails: Record<string, string>;
63
+ componentErrors: ComponentError[];
55
64
  }
56
65
  export type MigrationStatus = MigrationInProgress | MigrationInputRequired | MigrationSuccess | MigrationFailed;
57
66
  export declare function isMigrationStatus(error: unknown): error is MigrationStatus;
58
- export declare function listAppsForMigration(accountId: number): HubSpotPromise<ListAppsResponse>;
67
+ export declare function listAppsForMigration(accountId: number, platformVersion: string): HubSpotPromise<ListAppsResponse>;
59
68
  export declare function initializeMigration(accountId: number, applicationId: number, platformVersion: string): HubSpotPromise<InitializeMigrationResponse>;
60
69
  export declare function continueMigration(portalId: number, migrationId: number, componentUids: Record<string, string>, projectName: string): HubSpotPromise<ContinueMigrationResponse>;
61
70
  export declare function checkMigrationStatusV2(accountId: number, id: number): HubSpotPromise<MigrationStatus>;
package/api/migrate.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLI_UNMIGRATABLE_REASONS = void 0;
3
4
  exports.isMigrationStatus = isMigrationStatus;
4
5
  exports.listAppsForMigration = listAppsForMigration;
5
6
  exports.initializeMigration = initializeMigration;
@@ -8,15 +9,21 @@ exports.checkMigrationStatusV2 = checkMigrationStatusV2;
8
9
  const projects_1 = require("@hubspot/local-dev-lib/constants/projects");
9
10
  const http_1 = require("@hubspot/local-dev-lib/http");
10
11
  const MIGRATIONS_API_PATH_V2 = 'dfs/migrations/v2';
12
+ exports.CLI_UNMIGRATABLE_REASONS = {
13
+ PART_OF_PROJECT_ALREADY: 'PART_OF_PROJECT_ALREADY',
14
+ };
11
15
  function isMigrationStatus(error) {
12
16
  return (typeof error === 'object' &&
13
17
  error !== null &&
14
18
  'id' in error &&
15
19
  'status' in error);
16
20
  }
17
- async function listAppsForMigration(accountId) {
21
+ async function listAppsForMigration(accountId, platformVersion) {
18
22
  return http_1.http.get(accountId, {
19
23
  url: `${MIGRATIONS_API_PATH_V2}/list-apps`,
24
+ params: {
25
+ platformVersion: mapPlatformVersionToEnum(platformVersion),
26
+ },
20
27
  });
21
28
  }
22
29
  function mapPlatformVersionToEnum(platformVersion) {
@@ -44,7 +51,7 @@ async function continueMigration(portalId, migrationId, componentUids, projectNa
44
51
  },
45
52
  });
46
53
  }
47
- function checkMigrationStatusV2(accountId, id) {
54
+ async function checkMigrationStatusV2(accountId, id) {
48
55
  return http_1.http.get(accountId, {
49
56
  url: `${MIGRATIONS_API_PATH_V2}/migrations/${id}/status`,
50
57
  });
package/bin/cli.js CHANGED
@@ -1,77 +1,85 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- const yargs = require('yargs');
4
- const { logger } = require('@hubspot/local-dev-lib/logger');
5
- const { logError } = require('../lib/errorHandlers/index');
6
- const { setLogLevel, getCommandName } = require('../lib/commonOpts');
7
- const { trackHelpUsage, trackConvertFieldsUsage, } = require('../lib/usageTracking');
8
- const { EXIT_CODES } = require('../lib/enums/exitCodes');
9
- const { loadConfigMiddleware, injectAccountIdMiddleware, validateAccountOptions, handleDeprecatedEnvVariables, } = require('../lib/middleware/configMiddleware');
10
- const { notifyAboutUpdates, } = require('../lib/middleware/notificationsMiddleware');
11
- const { checkAndWarnGitInclusionMiddleware, } = require('../lib/middleware/gitMiddleware');
12
- const { performChecks } = require('../lib/middleware/yargsChecksMiddleware');
13
- const { setRequestHeaders } = require('../lib/middleware/requestMiddleware');
14
- const removeCommand = require('../commands/remove');
15
- const initCommand = require('../commands/init');
16
- const logsCommand = require('../commands/logs');
17
- const lintCommand = require('../commands/lint');
18
- const hubdbCommand = require('../commands/hubdb');
19
- const watchCommand = require('../commands/watch');
20
- const authCommand = require('../commands/auth');
21
- const uploadCommand = require('../commands/upload');
22
- const createCommand = require('../commands/create');
23
- const fetchCommand = require('../commands/fetch');
24
- const filemanagerCommand = require('../commands/filemanager');
25
- const secretCommands = require('../commands/secret');
26
- const customObjectCommand = require('../commands/customObject');
27
- const functionCommands = require('../commands/function');
28
- const listCommand = require('../commands/list');
29
- const openCommand = require('../commands/open');
30
- const mvCommand = require('../commands/mv');
31
- const projectCommands = require('../commands/project');
32
- const themeCommand = require('../commands/theme');
33
- const moduleCommand = require('../commands/module');
34
- const configCommand = require('../commands/config');
35
- const accountCommands = require('../commands/account');
36
- const sandboxesCommand = require('../commands/sandbox');
37
- const cmsCommand = require('../commands/cms');
38
- const feedbackCommand = require('../commands/feedback');
39
- const doctorCommand = require('../commands/doctor');
40
- const completionCommand = require('../commands/completion');
41
- const appCommand = require('../commands/app');
42
- notifyAboutUpdates();
43
- const getTerminalWidth = () => {
44
- const width = yargs.terminalWidth();
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const yargs_1 = __importDefault(require("yargs"));
8
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
9
+ const index_1 = require("../lib/errorHandlers/index");
10
+ const commonOpts_1 = require("../lib/commonOpts");
11
+ const usageTracking_1 = require("../lib/usageTracking");
12
+ const exitCodes_1 = require("../lib/enums/exitCodes");
13
+ const configMiddleware_1 = require("../lib/middleware/configMiddleware");
14
+ const autoUpdateMiddleware_1 = require("../lib/middleware/autoUpdateMiddleware");
15
+ const gitMiddleware_1 = require("../lib/middleware/gitMiddleware");
16
+ const yargsChecksMiddleware_1 = require("../lib/middleware/yargsChecksMiddleware");
17
+ const requestMiddleware_1 = require("../lib/middleware/requestMiddleware");
18
+ const fireAlarmMiddleware_1 = require("../lib/middleware/fireAlarmMiddleware");
19
+ const remove_1 = __importDefault(require("../commands/remove"));
20
+ const init_1 = __importDefault(require("../commands/init"));
21
+ const logs_1 = __importDefault(require("../commands/logs"));
22
+ const lint_1 = __importDefault(require("../commands/lint"));
23
+ const hubdb_1 = __importDefault(require("../commands/hubdb"));
24
+ const watch_1 = __importDefault(require("../commands/watch"));
25
+ const auth_1 = __importDefault(require("../commands/auth"));
26
+ const upload_1 = __importDefault(require("../commands/upload"));
27
+ const create_1 = __importDefault(require("../commands/create"));
28
+ const fetch_1 = __importDefault(require("../commands/fetch"));
29
+ const filemanager_1 = __importDefault(require("../commands/filemanager"));
30
+ const secret_1 = __importDefault(require("../commands/secret"));
31
+ const customObject_1 = __importDefault(require("../commands/customObject"));
32
+ const function_1 = __importDefault(require("../commands/function"));
33
+ const list_1 = __importDefault(require("../commands/list"));
34
+ const open_1 = __importDefault(require("../commands/open"));
35
+ const mv_1 = __importDefault(require("../commands/mv"));
36
+ const project_1 = __importDefault(require("../commands/project"));
37
+ const theme_1 = __importDefault(require("../commands/theme"));
38
+ const module_1 = __importDefault(require("../commands/module"));
39
+ const config_1 = __importDefault(require("../commands/config"));
40
+ const account_1 = __importDefault(require("../commands/account"));
41
+ const sandbox_1 = __importDefault(require("../commands/sandbox"));
42
+ const cms_1 = __importDefault(require("../commands/cms"));
43
+ const feedback_1 = __importDefault(require("../commands/feedback"));
44
+ const doctor_1 = __importDefault(require("../commands/doctor"));
45
+ const completion_1 = __importDefault(require("../commands/completion"));
46
+ const app_1 = __importDefault(require("../commands/app"));
47
+ const getStarted_1 = __importDefault(require("../commands/getStarted"));
48
+ const mcp_1 = __importDefault(require("../commands/mcp"));
49
+ function getTerminalWidth() {
50
+ const width = yargs_1.default.terminalWidth();
45
51
  if (width >= 100)
46
52
  return width * 0.9;
47
53
  return width;
48
- };
49
- const handleFailure = (msg, err, yargs) => {
54
+ }
55
+ function handleFailure(msg, err, yargs) {
50
56
  if (msg) {
51
- logger.error(msg);
57
+ logger_1.logger.error(msg);
52
58
  }
53
59
  else if (err) {
54
- logError(err);
60
+ (0, index_1.logError)(err);
55
61
  }
56
62
  if (msg === null) {
57
63
  yargs.showHelp('log');
58
- process.exit(EXIT_CODES.SUCCESS);
64
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
59
65
  }
60
66
  else {
61
- process.exit(EXIT_CODES.ERROR);
67
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
62
68
  }
63
- };
64
- const argv = yargs
69
+ }
70
+ const argv = yargs_1.default
65
71
  .usage('The command line interface to interact with HubSpot.')
66
72
  // loadConfigMiddleware loads the new hidden config for all commands
67
73
  .middleware([
68
- setLogLevel,
69
- setRequestHeaders,
70
- handleDeprecatedEnvVariables,
71
- loadConfigMiddleware,
72
- injectAccountIdMiddleware,
73
- checkAndWarnGitInclusionMiddleware,
74
- validateAccountOptions,
74
+ commonOpts_1.setLogLevel,
75
+ requestMiddleware_1.setRequestHeaders,
76
+ configMiddleware_1.handleDeprecatedEnvVariables,
77
+ configMiddleware_1.loadConfigMiddleware,
78
+ configMiddleware_1.injectAccountIdMiddleware,
79
+ autoUpdateMiddleware_1.autoUpdateCLI,
80
+ gitMiddleware_1.checkAndWarnGitInclusionMiddleware,
81
+ configMiddleware_1.validateAccountOptions,
82
+ fireAlarmMiddleware_1.checkFireAlarms,
75
83
  ])
76
84
  .exitProcess(false)
77
85
  .fail(handleFailure)
@@ -87,47 +95,46 @@ const argv = yargs
87
95
  hidden: true,
88
96
  type: 'boolean',
89
97
  })
90
- .check(performChecks)
91
- .command(authCommand)
92
- .command(initCommand)
93
- .command(logsCommand)
94
- .command(cmsCommand)
95
- .command(lintCommand)
96
- .command(hubdbCommand)
97
- .command(watchCommand)
98
- .command(removeCommand)
99
- .command(uploadCommand)
100
- .command(createCommand)
101
- .command(fetchCommand)
102
- .command(filemanagerCommand)
103
- .command(secretCommands)
104
- .command(customObjectCommand)
105
- .command(functionCommands)
106
- .command({
107
- ...listCommand,
108
- aliases: 'ls',
109
- })
110
- .command(openCommand)
111
- .command(mvCommand)
112
- .command(projectCommands)
113
- .command(themeCommand)
114
- .command(moduleCommand)
115
- .command(configCommand)
116
- .command(accountCommands)
117
- .command(sandboxesCommand)
118
- .command(feedbackCommand)
119
- .command(doctorCommand)
120
- .command(completionCommand)
121
- .command(appCommand)
98
+ .check(yargsChecksMiddleware_1.performChecks)
99
+ .command(auth_1.default)
100
+ .command(init_1.default)
101
+ .command(logs_1.default)
102
+ .command(cms_1.default)
103
+ .command(lint_1.default)
104
+ .command(hubdb_1.default)
105
+ .command(watch_1.default)
106
+ .command(remove_1.default)
107
+ .command(upload_1.default)
108
+ .command(create_1.default)
109
+ .command(fetch_1.default)
110
+ .command(filemanager_1.default)
111
+ .command(secret_1.default)
112
+ .command(customObject_1.default)
113
+ .command(function_1.default)
114
+ .command(list_1.default)
115
+ .command(open_1.default)
116
+ .command(mv_1.default)
117
+ .command(project_1.default)
118
+ .command(theme_1.default)
119
+ .command(module_1.default)
120
+ .command(config_1.default)
121
+ .command(account_1.default)
122
+ .command(sandbox_1.default)
123
+ .command(feedback_1.default)
124
+ .command(doctor_1.default)
125
+ .command(completion_1.default)
126
+ .command(app_1.default)
127
+ .command(getStarted_1.default)
128
+ .command(mcp_1.default)
122
129
  .help()
123
130
  .alias('h', 'help')
124
131
  .recommendCommands()
125
132
  .demandCommand(1, '')
126
133
  .wrap(getTerminalWidth())
127
134
  .strict().argv;
128
- if (argv.help) {
129
- trackHelpUsage(getCommandName(argv));
135
+ if ('help' in argv && argv.help !== undefined) {
136
+ (0, usageTracking_1.trackHelpUsage)((0, commonOpts_1.getCommandName)(argv));
130
137
  }
131
- if (argv.convertFields) {
132
- trackConvertFieldsUsage(getCommandName(argv));
138
+ if ('convertFields' in argv && argv.convertFields !== undefined) {
139
+ (0, usageTracking_1.trackConvertFieldsUsage)((0, commonOpts_1.getCommandName)(argv));
133
140
  }
@@ -0,0 +1,8 @@
1
+ import { CommonArgs, ConfigArgs, YargsCommandModule } from '../../types/Yargs';
2
+ type AccountAuthArgs = CommonArgs & ConfigArgs & {
3
+ disableTracking?: boolean;
4
+ } & {
5
+ personalAccessKey?: string;
6
+ };
7
+ declare const accountAuthCommand: YargsCommandModule<unknown, AccountAuthArgs>;
8
+ export default accountAuthCommand;
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("@hubspot/local-dev-lib/config");
4
+ const migrate_1 = require("@hubspot/local-dev-lib/config/migrate");
5
+ const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
6
+ const personalAccessKey_1 = require("@hubspot/local-dev-lib/personalAccessKey");
7
+ const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
8
+ const text_1 = require("@hubspot/local-dev-lib/text");
9
+ const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
10
+ const configMigrate_1 = require("../../lib/configMigrate");
11
+ const process_1 = require("../../lib/process");
12
+ const index_1 = require("../../lib/errorHandlers/index");
13
+ const usageTracking_1 = require("../../lib/usageTracking");
14
+ const personalAccessKeyPrompt_1 = require("../../lib/prompts/personalAccessKeyPrompt");
15
+ const accountNamePrompt_1 = require("../../lib/prompts/accountNamePrompt");
16
+ const setAsDefaultAccountPrompt_1 = require("../../lib/prompts/setAsDefaultAccountPrompt");
17
+ const index_2 = require("../../lib/errorHandlers/index");
18
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
19
+ const ui_1 = require("../../lib/ui");
20
+ const yargsUtils_1 = require("../../lib/yargsUtils");
21
+ const en_1 = require("../../lang/en");
22
+ const logger_1 = require("../../lib/ui/logger");
23
+ const TRACKING_STATUS = {
24
+ STARTED: 'started',
25
+ ERROR: 'error',
26
+ COMPLETE: 'complete',
27
+ };
28
+ const authType = auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value;
29
+ async function updateConfigWithNewAccount(env, configAlreadyExists, providedPersonalAccessKey, accountId) {
30
+ try {
31
+ const { personalAccessKey } = providedPersonalAccessKey
32
+ ? { personalAccessKey: providedPersonalAccessKey }
33
+ : await (0, personalAccessKeyPrompt_1.personalAccessKeyPrompt)({
34
+ env,
35
+ account: accountId,
36
+ });
37
+ const token = await (0, personalAccessKey_1.getAccessToken)(personalAccessKey, env);
38
+ const defaultAccountName = token.hubName
39
+ ? (0, text_1.toKebabCase)(token.hubName)
40
+ : undefined;
41
+ const accountName = configAlreadyExists
42
+ ? undefined
43
+ : (await (0, accountNamePrompt_1.cliAccountNamePrompt)(defaultAccountName)).name;
44
+ const updatedConfig = await (0, personalAccessKey_1.updateConfigWithAccessToken)(token, personalAccessKey, env, accountName, !configAlreadyExists);
45
+ if (!updatedConfig)
46
+ return null;
47
+ // Can happen if the user is re-authenticating an account with no name
48
+ if (configAlreadyExists && !updatedConfig.name) {
49
+ updatedConfig.name = (await (0, accountNamePrompt_1.cliAccountNamePrompt)(defaultAccountName)).name;
50
+ (0, config_1.updateAccountConfig)({
51
+ ...updatedConfig,
52
+ });
53
+ (0, config_1.writeConfig)();
54
+ }
55
+ return updatedConfig;
56
+ }
57
+ catch (e) {
58
+ (0, index_1.debugError)(e);
59
+ return null;
60
+ }
61
+ }
62
+ async function handleConfigMigration() {
63
+ const deprecatedConfigExists = (0, migrate_1.configFileExists)(false);
64
+ const globalConfigExists = (0, migrate_1.configFileExists)(true);
65
+ // No deprecated config exists, so no migration is needed
66
+ if (!deprecatedConfigExists) {
67
+ return true;
68
+ }
69
+ // Global config exists, so we need to merge the deprecated config with the global config
70
+ if (globalConfigExists) {
71
+ try {
72
+ const mergeConfirmed = await (0, configMigrate_1.handleMerge)();
73
+ if (!mergeConfirmed) {
74
+ logger_1.uiLogger.log('');
75
+ logger_1.uiLogger.log(en_1.commands.account.subcommands.auth.errors.mergeNotConfirmed);
76
+ }
77
+ return mergeConfirmed;
78
+ }
79
+ catch (error) {
80
+ (0, index_2.logError)(error);
81
+ return false;
82
+ }
83
+ }
84
+ // Global config does not exist, so we only need to migrate the deprecated config
85
+ try {
86
+ const migrationConfirmed = await (0, configMigrate_1.handleMigration)();
87
+ if (!migrationConfirmed) {
88
+ logger_1.uiLogger.log('');
89
+ logger_1.uiLogger.log(en_1.commands.account.subcommands.auth.errors.migrationNotConfirmed);
90
+ }
91
+ return migrationConfirmed;
92
+ }
93
+ catch (error) {
94
+ (0, index_2.logError)(error);
95
+ return false;
96
+ }
97
+ }
98
+ const describe = en_1.commands.account.subcommands.auth.describe;
99
+ const command = 'auth';
100
+ async function handler(args) {
101
+ const { providedAccountId, disableTracking, personalAccessKey: providedPersonalAccessKey, } = args;
102
+ if (!disableTracking) {
103
+ (0, usageTracking_1.trackCommandUsage)('account-auth', {}, providedAccountId);
104
+ await (0, usageTracking_1.trackAuthAction)('account-auth', authType, TRACKING_STATUS.STARTED);
105
+ }
106
+ const configMigrationSuccess = await handleConfigMigration();
107
+ if (!configMigrationSuccess) {
108
+ await (0, usageTracking_1.trackAuthAction)('account-auth', authType, TRACKING_STATUS.ERROR);
109
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
110
+ }
111
+ const configAlreadyExists = (0, migrate_1.configFileExists)(true);
112
+ if (!configAlreadyExists) {
113
+ (0, config_1.createEmptyConfigFile)({}, true);
114
+ }
115
+ (0, config_1.loadConfig)('');
116
+ (0, process_1.handleExit)(config_1.deleteEmptyConfigFile);
117
+ const updatedConfig = await updateConfigWithNewAccount(args.qa ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD, configAlreadyExists, providedPersonalAccessKey, providedAccountId);
118
+ if (!updatedConfig) {
119
+ if (!disableTracking) {
120
+ await (0, usageTracking_1.trackAuthAction)('account-auth', authType, TRACKING_STATUS.ERROR);
121
+ }
122
+ logger_1.uiLogger.error(en_1.commands.account.subcommands.auth.errors.failedToUpdateConfig);
123
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
124
+ }
125
+ const accountId = (0, getAccountIdentifier_1.getAccountIdentifier)(updatedConfig);
126
+ if (!configAlreadyExists) {
127
+ logger_1.uiLogger.log('');
128
+ logger_1.uiLogger.success(en_1.commands.account.subcommands.auth.success.configFileCreated((0, migrate_1.getConfigPath)('', true)));
129
+ logger_1.uiLogger.success(en_1.commands.account.subcommands.auth.success.configFileUpdated(accountId));
130
+ }
131
+ else {
132
+ await (0, setAsDefaultAccountPrompt_1.setAsDefaultAccountPrompt)(updatedConfig.name);
133
+ }
134
+ (0, ui_1.uiFeatureHighlight)([
135
+ 'helpCommand',
136
+ 'accountAuthCommand',
137
+ 'accountsListCommand',
138
+ ]);
139
+ if (!disableTracking) {
140
+ await (0, usageTracking_1.trackAuthAction)('account-auth', authType, TRACKING_STATUS.COMPLETE, accountId);
141
+ }
142
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
143
+ }
144
+ function accountAuthBuilder(yargs) {
145
+ yargs.options({
146
+ account: {
147
+ describe: en_1.commands.account.subcommands.auth.options.account,
148
+ type: 'string',
149
+ alias: 'a',
150
+ },
151
+ 'disable-tracking': {
152
+ type: 'boolean',
153
+ hidden: true,
154
+ default: false,
155
+ },
156
+ 'personal-access-key': {
157
+ describe: en_1.commands.account.subcommands.auth.options.personalAccessKey,
158
+ type: 'string',
159
+ hidden: false,
160
+ alias: 'pak',
161
+ },
162
+ });
163
+ return yargs;
164
+ }
165
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(accountAuthBuilder, command, en_1.commands.account.subcommands.auth.verboseDescribe, {
166
+ useGlobalOptions: true,
167
+ useTestingOptions: true,
168
+ });
169
+ const accountAuthCommand = {
170
+ command,
171
+ describe,
172
+ handler,
173
+ builder,
174
+ };
175
+ exports.default = accountAuthCommand;
@@ -1,10 +1,6 @@
1
- import { Argv, ArgumentsCamelCase } from 'yargs';
2
- import { CommonArgs, ConfigArgs } from '../../types/Yargs';
3
- export declare const command = "clean";
4
- export declare const describe: string;
1
+ import { CommonArgs, ConfigArgs, YargsCommandModule } from '../../types/Yargs';
5
2
  type AccountCleanArgs = CommonArgs & ConfigArgs & {
6
3
  qa?: boolean;
7
4
  };
8
- export declare function handler(args: ArgumentsCamelCase<AccountCleanArgs>): Promise<void>;
9
- export declare function builder(yargs: Argv): Argv<AccountCleanArgs>;
10
- export {};
5
+ declare const accountCleanCommand: YargsCommandModule<unknown, AccountCleanArgs>;
6
+ export default accountCleanCommand;
@@ -3,24 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.describe = exports.command = void 0;
7
- exports.handler = handler;
8
- exports.builder = builder;
6
+ const fs_1 = __importDefault(require("fs"));
9
7
  const logger_1 = require("@hubspot/local-dev-lib/logger");
10
8
  const personalAccessKey_1 = require("@hubspot/local-dev-lib/personalAccessKey");
11
9
  const config_1 = require("@hubspot/local-dev-lib/config");
12
10
  const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
13
11
  const index_1 = require("@hubspot/local-dev-lib/errors/index");
12
+ const config_2 = require("@hubspot/local-dev-lib/config");
14
13
  const usageTracking_1 = require("../../lib/usageTracking");
15
14
  const lang_1 = require("../../lib/lang");
16
15
  const exitCodes_1 = require("../../lib/enums/exitCodes");
17
- const commonOpts_1 = require("../../lib/commonOpts");
18
16
  const promptUtils_1 = require("../../lib/prompts/promptUtils");
17
+ const accountsPrompt_1 = require("../../lib/prompts/accountsPrompt");
19
18
  const table_1 = require("../../lib/ui/table");
20
19
  const SpinniesManager_1 = __importDefault(require("../../lib/ui/SpinniesManager"));
21
20
  const ui_1 = require("../../lib/ui");
22
- exports.command = 'clean';
23
- exports.describe = (0, lang_1.i18n)(`commands.account.subcommands.clean.describe`);
21
+ const errorHandlers_1 = require("../../lib/errorHandlers");
22
+ const yargsUtils_1 = require("../../lib/yargsUtils");
23
+ const command = 'clean';
24
+ const describe = (0, lang_1.i18n)(`commands.account.subcommands.clean.describe`);
24
25
  async function handler(args) {
25
26
  const { qa } = args;
26
27
  (0, usageTracking_1.trackCommandUsage)('accounts-clean');
@@ -69,25 +70,54 @@ async function handler(args) {
69
70
  logger_1.logger.log((0, table_1.getTableContents)(accountsToRemove.map(p => [
70
71
  (0, ui_1.uiAccountDescription)((0, getAccountIdentifier_1.getAccountIdentifier)(p)),
71
72
  ]), { border: { bodyLeft: ' ' } }));
73
+ let promptMessage = (0, lang_1.i18n)(oneAccountFound
74
+ ? `commands.account.subcommands.clean.confirm.one`
75
+ : `commands.account.subcommands.clean.confirm.other`, {
76
+ count: accountsToRemove.length,
77
+ });
78
+ const accountOverride = (0, config_2.getCWDAccountOverride)();
79
+ const overrideFilePath = (0, config_2.getDefaultAccountOverrideFilePath)();
80
+ const accountOverrideMatches = accountsToRemove.some(account => account.name === accountOverride ||
81
+ // @ts-expect-error: Default account override files can only exist with global config
82
+ account.accountId === accountOverride);
83
+ if (overrideFilePath && accountOverride && accountOverrideMatches) {
84
+ promptMessage = `${promptMessage}${(0, lang_1.i18n)(`commands.account.subcommands.clean.defaultAccountOverride`, {
85
+ overrideFilePath,
86
+ })}`;
87
+ }
72
88
  const { accountsCleanPrompt } = await (0, promptUtils_1.promptUser)([
73
89
  {
74
90
  name: 'accountsCleanPrompt',
75
91
  type: 'confirm',
76
- message: (0, lang_1.i18n)(oneAccountFound
77
- ? `commands.account.subcommands.clean.confirm.one`
78
- : `commands.account.subcommands.clean.confirm.other`, {
79
- count: accountsToRemove.length,
80
- }),
92
+ message: promptMessage,
81
93
  },
82
94
  ]);
83
95
  if (accountsCleanPrompt) {
84
96
  logger_1.logger.log('');
97
+ try {
98
+ if (overrideFilePath) {
99
+ fs_1.default.unlinkSync(overrideFilePath);
100
+ }
101
+ }
102
+ catch (error) {
103
+ (0, errorHandlers_1.logError)(error);
104
+ }
85
105
  for (const accountToRemove of accountsToRemove) {
86
106
  await (0, config_1.deleteAccount)(accountToRemove.name);
87
107
  logger_1.logger.log((0, lang_1.i18n)(`commands.account.subcommands.clean.removeSuccess`, {
88
108
  accountName: accountToRemove.name,
89
109
  }));
90
110
  }
111
+ // Get updated version of the config
112
+ (0, config_1.loadConfig)((0, config_1.getConfigPath)());
113
+ const defaultAccount = (0, config_1.getConfigDefaultAccount)();
114
+ if (defaultAccount &&
115
+ accountsToRemove.some(p => p.name === defaultAccount)) {
116
+ logger_1.logger.log();
117
+ logger_1.logger.log((0, lang_1.i18n)(`commands.account.subcommands.clean.replaceDefaultAccount`));
118
+ const newDefaultAccount = await (0, accountsPrompt_1.selectAccountFromConfig)();
119
+ (0, config_1.updateDefaultAccount)(newDefaultAccount);
120
+ }
91
121
  }
92
122
  }
93
123
  else {
@@ -98,9 +128,19 @@ async function handler(args) {
98
128
  logger_1.logger.log('');
99
129
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
100
130
  }
101
- function builder(yargs) {
102
- (0, commonOpts_1.addConfigOptions)(yargs);
103
- (0, commonOpts_1.addTestingOptions)(yargs);
131
+ function accountCleanBuilder(yargs) {
104
132
  yargs.example([['$0 accounts clean']]);
105
133
  return yargs;
106
134
  }
135
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(accountCleanBuilder, command, describe, {
136
+ useGlobalOptions: true,
137
+ useConfigOptions: true,
138
+ useTestingOptions: true,
139
+ });
140
+ const accountCleanCommand = {
141
+ command,
142
+ describe,
143
+ handler,
144
+ builder,
145
+ };
146
+ exports.default = accountCleanCommand;
@@ -0,0 +1,6 @@
1
+ import { CommonArgs, YargsCommandModule } from '../../types/Yargs';
2
+ type AccountCreateOverrideArgs = CommonArgs & {
3
+ account: string | number;
4
+ };
5
+ declare const accountCreateOverrideCommand: YargsCommandModule<unknown, AccountCreateOverrideArgs>;
6
+ export default accountCreateOverrideCommand;