@hubspot/cli 7.7.20-experimental.0 → 7.7.21-experimental.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/api/__tests__/migrate.test.js +27 -29
  2. package/api/migrate.js +14 -22
  3. package/bin/cli.js +92 -97
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +1 -2
  7. package/commands/__tests__/account.test.js +29 -34
  8. package/commands/__tests__/auth.test.js +11 -16
  9. package/commands/__tests__/cms.test.js +15 -20
  10. package/commands/__tests__/config.test.js +14 -19
  11. package/commands/__tests__/create.test.js +10 -15
  12. package/commands/__tests__/customObject.test.js +14 -19
  13. package/commands/__tests__/doctor.test.js +43 -48
  14. package/commands/__tests__/feedback.test.js +7 -45
  15. package/commands/__tests__/fetch.test.js +29 -28
  16. package/commands/__tests__/filemanager.test.js +14 -19
  17. package/commands/__tests__/function.test.js +16 -21
  18. package/commands/__tests__/getStarted.test.js +48 -53
  19. package/commands/__tests__/hubdb.test.js +17 -22
  20. package/commands/__tests__/init.test.js +12 -17
  21. package/commands/__tests__/lint.test.js +13 -18
  22. package/commands/__tests__/list.test.js +18 -23
  23. package/commands/__tests__/logs.test.js +28 -27
  24. package/commands/__tests__/mcp.test.js +14 -19
  25. package/commands/__tests__/mv.test.js +14 -52
  26. package/commands/__tests__/open.test.js +13 -51
  27. package/commands/__tests__/project.test.js +44 -49
  28. package/commands/__tests__/remove.test.js +13 -51
  29. package/commands/__tests__/sandbox.test.js +14 -19
  30. package/commands/__tests__/secret.test.js +16 -21
  31. package/commands/__tests__/testAccount.test.js +16 -21
  32. package/commands/__tests__/theme.test.js +15 -20
  33. package/commands/account/__tests__/auth.test.js +11 -16
  34. package/commands/account/__tests__/clean.test.js +12 -17
  35. package/commands/account/__tests__/createOverride.test.js +10 -15
  36. package/commands/account/__tests__/info.test.js +11 -16
  37. package/commands/account/__tests__/list.test.js +11 -16
  38. package/commands/account/__tests__/remove.test.js +13 -18
  39. package/commands/account/__tests__/removeOverride.js +8 -13
  40. package/commands/account/__tests__/rename.test.js +15 -20
  41. package/commands/account/__tests__/use.test.js +10 -15
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +65 -67
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +55 -60
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +52 -57
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +33 -35
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +43 -45
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +37 -42
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +38 -43
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +18 -20
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +29 -31
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +23 -28
  62. package/commands/app/__tests__/migrate.test.js +29 -34
  63. package/commands/app/migrate.d.ts +2 -2
  64. package/commands/app/migrate.js +40 -43
  65. package/commands/app/secret/__tests__/add.test.js +6 -11
  66. package/commands/app/secret/__tests__/delete.test.js +6 -11
  67. package/commands/app/secret/__tests__/list.test.js +6 -11
  68. package/commands/app/secret/__tests__/update.test.js +6 -11
  69. package/commands/app/secret/add.d.ts +1 -1
  70. package/commands/app/secret/add.js +28 -30
  71. package/commands/app/secret/delete.d.ts +1 -1
  72. package/commands/app/secret/delete.js +34 -36
  73. package/commands/app/secret/list.d.ts +1 -1
  74. package/commands/app/secret/list.js +25 -27
  75. package/commands/app/secret/update.d.ts +1 -1
  76. package/commands/app/secret/update.js +32 -34
  77. package/commands/app/secret.d.ts +1 -1
  78. package/commands/app/secret.js +12 -17
  79. package/commands/app.d.ts +1 -1
  80. package/commands/app.js +6 -11
  81. package/commands/auth.d.ts +1 -1
  82. package/commands/auth.js +70 -72
  83. package/commands/cms/convertFields.d.ts +1 -1
  84. package/commands/cms/convertFields.js +34 -39
  85. package/commands/cms/getReactModule.d.ts +1 -1
  86. package/commands/cms/getReactModule.js +32 -37
  87. package/commands/cms/lighthouseScore.d.ts +1 -1
  88. package/commands/cms/lighthouseScore.js +67 -72
  89. package/commands/cms.d.ts +1 -1
  90. package/commands/cms.js +11 -16
  91. package/commands/completion.d.ts +1 -1
  92. package/commands/completion.js +10 -15
  93. package/commands/config/migrate.d.ts +1 -1
  94. package/commands/config/migrate.js +27 -32
  95. package/commands/config/set.d.ts +1 -1
  96. package/commands/config/set.js +23 -25
  97. package/commands/config.d.ts +1 -1
  98. package/commands/config.js +8 -13
  99. package/commands/create/api-sample.d.ts +1 -1
  100. package/commands/create/api-sample.js +28 -33
  101. package/commands/create/app.d.ts +1 -1
  102. package/commands/create/app.js +3 -5
  103. package/commands/create/function.d.ts +1 -1
  104. package/commands/create/function.js +9 -11
  105. package/commands/create/index.d.ts +1 -1
  106. package/commands/create/index.js +19 -24
  107. package/commands/create/module.d.ts +1 -1
  108. package/commands/create/module.js +12 -14
  109. package/commands/create/react-app.d.ts +1 -1
  110. package/commands/create/react-app.js +3 -5
  111. package/commands/create/template.d.ts +1 -1
  112. package/commands/create/template.js +12 -14
  113. package/commands/create/vue-app.d.ts +1 -1
  114. package/commands/create/vue-app.js +3 -5
  115. package/commands/create/webpack-serverless.d.ts +1 -1
  116. package/commands/create/webpack-serverless.js +3 -5
  117. package/commands/create/website-theme.d.ts +1 -1
  118. package/commands/create/website-theme.js +5 -7
  119. package/commands/create.d.ts +2 -2
  120. package/commands/create.js +30 -35
  121. package/commands/customObject/__tests__/create.test.js +13 -18
  122. package/commands/customObject/__tests__/schema.test.js +18 -23
  123. package/commands/customObject/create.d.ts +1 -1
  124. package/commands/customObject/create.js +28 -30
  125. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  126. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  127. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  131. package/commands/customObject/schema/create.d.ts +1 -1
  132. package/commands/customObject/schema/create.js +28 -30
  133. package/commands/customObject/schema/delete.d.ts +1 -1
  134. package/commands/customObject/schema/delete.js +24 -26
  135. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  136. package/commands/customObject/schema/fetch-all.js +22 -24
  137. package/commands/customObject/schema/fetch.d.ts +1 -1
  138. package/commands/customObject/schema/fetch.js +24 -26
  139. package/commands/customObject/schema/list.d.ts +1 -1
  140. package/commands/customObject/schema/list.js +13 -15
  141. package/commands/customObject/schema/update.d.ts +1 -1
  142. package/commands/customObject/schema/update.js +32 -34
  143. package/commands/customObject/schema.d.ts +1 -1
  144. package/commands/customObject/schema.js +17 -22
  145. package/commands/customObject.d.ts +1 -1
  146. package/commands/customObject.js +13 -18
  147. package/commands/doctor.d.ts +1 -1
  148. package/commands/doctor.js +28 -33
  149. package/commands/feedback.d.ts +1 -1
  150. package/commands/feedback.js +19 -24
  151. package/commands/fetch.d.ts +1 -1
  152. package/commands/fetch.js +28 -30
  153. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  154. package/commands/filemanager/__tests__/upload.test.js +15 -20
  155. package/commands/filemanager/fetch.d.ts +1 -1
  156. package/commands/filemanager/fetch.js +23 -25
  157. package/commands/filemanager/upload.d.ts +1 -1
  158. package/commands/filemanager/upload.js +39 -44
  159. package/commands/filemanager.d.ts +1 -1
  160. package/commands/filemanager.js +8 -13
  161. package/commands/function/deploy.d.ts +1 -1
  162. package/commands/function/deploy.js +35 -40
  163. package/commands/function/list.d.ts +1 -1
  164. package/commands/function/list.js +24 -29
  165. package/commands/function/server.d.ts +1 -1
  166. package/commands/function/server.js +15 -17
  167. package/commands/function.d.ts +1 -1
  168. package/commands/function.js +12 -18
  169. package/commands/getStarted.d.ts +1 -1
  170. package/commands/getStarted.js +124 -130
  171. package/commands/hubdb/__tests__/clear.test.js +13 -18
  172. package/commands/hubdb/__tests__/create.test.js +13 -18
  173. package/commands/hubdb/__tests__/delete.test.js +13 -18
  174. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  175. package/commands/hubdb/__tests__/list.test.js +23 -28
  176. package/commands/hubdb/clear.d.ts +1 -1
  177. package/commands/hubdb/clear.js +20 -22
  178. package/commands/hubdb/create.d.ts +1 -1
  179. package/commands/hubdb/create.js +30 -35
  180. package/commands/hubdb/delete.d.ts +1 -1
  181. package/commands/hubdb/delete.js +24 -26
  182. package/commands/hubdb/fetch.d.ts +1 -1
  183. package/commands/hubdb/fetch.js +17 -19
  184. package/commands/hubdb/list.d.ts +1 -1
  185. package/commands/hubdb/list.js +33 -35
  186. package/commands/hubdb.d.ts +1 -1
  187. package/commands/hubdb.js +18 -24
  188. package/commands/init.d.ts +1 -1
  189. package/commands/init.js +83 -88
  190. package/commands/lint.d.ts +1 -1
  191. package/commands/lint.js +24 -26
  192. package/commands/list.d.ts +1 -1
  193. package/commands/list.js +32 -37
  194. package/commands/logs.d.ts +1 -1
  195. package/commands/logs.js +35 -37
  196. package/commands/mcp/__tests__/setup.test.js +7 -12
  197. package/commands/mcp/__tests__/start.test.js +7 -12
  198. package/commands/mcp/setup.d.ts +1 -1
  199. package/commands/mcp/setup.js +17 -19
  200. package/commands/mcp/start.d.ts +1 -1
  201. package/commands/mcp/start.js +29 -34
  202. package/commands/mcp.d.ts +1 -1
  203. package/commands/mcp.js +7 -12
  204. package/commands/module/marketplace-validate.d.ts +1 -1
  205. package/commands/module/marketplace-validate.js +21 -26
  206. package/commands/module.d.ts +1 -1
  207. package/commands/module.js +7 -13
  208. package/commands/mv.d.ts +1 -1
  209. package/commands/mv.js +20 -22
  210. package/commands/open.d.ts +1 -1
  211. package/commands/open.js +19 -21
  212. package/commands/project/__tests__/add.test.js +10 -15
  213. package/commands/project/__tests__/create.test.js +14 -19
  214. package/commands/project/__tests__/deploy.test.js +93 -131
  215. package/commands/project/__tests__/devUnifiedFlow.test.js +135 -140
  216. package/commands/project/__tests__/download.test.js +14 -19
  217. package/commands/project/__tests__/installDeps.test.js +32 -70
  218. package/commands/project/__tests__/listBuilds.test.js +14 -19
  219. package/commands/project/__tests__/logs.test.js +56 -94
  220. package/commands/project/__tests__/migrate.test.js +25 -30
  221. package/commands/project/__tests__/migrateApp.test.js +17 -22
  222. package/commands/project/__tests__/open.test.js +16 -21
  223. package/commands/project/__tests__/profile.test.js +14 -19
  224. package/commands/project/__tests__/upload.test.js +18 -23
  225. package/commands/project/__tests__/watch.test.js +14 -19
  226. package/commands/project/add.d.ts +1 -1
  227. package/commands/project/add.js +34 -36
  228. package/commands/project/cloneApp.d.ts +1 -1
  229. package/commands/project/cloneApp.js +67 -72
  230. package/commands/project/create.d.ts +2 -2
  231. package/commands/project/create.js +62 -67
  232. package/commands/project/deploy.d.ts +1 -1
  233. package/commands/project/deploy.js +72 -77
  234. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  235. package/commands/project/dev/deprecatedFlow.js +52 -58
  236. package/commands/project/dev/index.d.ts +1 -1
  237. package/commands/project/dev/index.js +44 -47
  238. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  239. package/commands/project/dev/unifiedFlow.js +62 -68
  240. package/commands/project/download.d.ts +1 -1
  241. package/commands/project/download.js +35 -40
  242. package/commands/project/installDeps.d.ts +1 -1
  243. package/commands/project/installDeps.js +29 -34
  244. package/commands/project/listBuilds.d.ts +1 -1
  245. package/commands/project/listBuilds.js +40 -45
  246. package/commands/project/logs.d.ts +1 -1
  247. package/commands/project/logs.js +52 -54
  248. package/commands/project/migrate.d.ts +1 -1
  249. package/commands/project/migrate.js +24 -26
  250. package/commands/project/migrateApp.d.ts +2 -2
  251. package/commands/project/migrateApp.js +18 -20
  252. package/commands/project/open.d.ts +1 -1
  253. package/commands/project/open.js +25 -30
  254. package/commands/project/profile/add.d.ts +1 -1
  255. package/commands/project/profile/add.js +68 -73
  256. package/commands/project/profile/delete.d.ts +1 -1
  257. package/commands/project/profile/delete.js +51 -56
  258. package/commands/project/profile.d.ts +1 -1
  259. package/commands/project/profile.js +9 -14
  260. package/commands/project/upload.d.ts +1 -1
  261. package/commands/project/upload.js +50 -55
  262. package/commands/project/validate.d.ts +1 -1
  263. package/commands/project/validate.js +35 -40
  264. package/commands/project/watch.d.ts +1 -1
  265. package/commands/project/watch.js +59 -61
  266. package/commands/project.d.ts +1 -1
  267. package/commands/project.js +38 -43
  268. package/commands/remove.d.ts +1 -1
  269. package/commands/remove.js +15 -17
  270. package/commands/sandbox/__tests__/create.test.js +15 -20
  271. package/commands/sandbox/__tests__/delete.test.js +15 -20
  272. package/commands/sandbox/create.d.ts +1 -1
  273. package/commands/sandbox/create.js +67 -69
  274. package/commands/sandbox/delete.d.ts +1 -1
  275. package/commands/sandbox/delete.js +94 -96
  276. package/commands/sandbox.d.ts +1 -1
  277. package/commands/sandbox.js +9 -14
  278. package/commands/secret/__tests__/addSecret.test.js +13 -18
  279. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  280. package/commands/secret/__tests__/listSecret.test.js +13 -18
  281. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  282. package/commands/secret/addSecret.d.ts +1 -1
  283. package/commands/secret/addSecret.js +26 -28
  284. package/commands/secret/deleteSecret.d.ts +1 -1
  285. package/commands/secret/deleteSecret.js +27 -29
  286. package/commands/secret/listSecret.d.ts +1 -1
  287. package/commands/secret/listSecret.js +19 -21
  288. package/commands/secret/updateSecret.d.ts +1 -1
  289. package/commands/secret/updateSecret.js +25 -27
  290. package/commands/secret.d.ts +1 -1
  291. package/commands/secret.js +13 -18
  292. package/commands/testAccount/__tests__/create.test.js +17 -22
  293. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  294. package/commands/testAccount/__tests__/delete.test.js +15 -20
  295. package/commands/testAccount/create.d.ts +1 -1
  296. package/commands/testAccount/create.js +50 -55
  297. package/commands/testAccount/createConfig.d.ts +2 -2
  298. package/commands/testAccount/createConfig.js +36 -41
  299. package/commands/testAccount/delete.d.ts +1 -1
  300. package/commands/testAccount/delete.js +17 -19
  301. package/commands/testAccount.d.ts +1 -1
  302. package/commands/testAccount.js +10 -15
  303. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  304. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  305. package/commands/theme/__tests__/preview.test.js +12 -17
  306. package/commands/theme/generate-selectors.d.ts +1 -1
  307. package/commands/theme/generate-selectors.js +23 -28
  308. package/commands/theme/marketplace-validate.d.ts +1 -1
  309. package/commands/theme/marketplace-validate.js +19 -24
  310. package/commands/theme/preview.d.ts +1 -1
  311. package/commands/theme/preview.js +60 -65
  312. package/commands/theme.d.ts +1 -1
  313. package/commands/theme.js +11 -16
  314. package/commands/upload.d.ts +1 -1
  315. package/commands/upload.js +77 -82
  316. package/commands/watch.d.ts +1 -1
  317. package/commands/watch.js +45 -51
  318. package/lang/en.d.ts +0 -1
  319. package/lang/en.js +369 -376
  320. package/lib/__tests__/accountTypes.test.js +20 -22
  321. package/lib/__tests__/buildAccount.test.js +26 -61
  322. package/lib/__tests__/commonOpts.test.js +20 -22
  323. package/lib/__tests__/dependencyManagement.test.js +46 -51
  324. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  325. package/lib/__tests__/hasFeature.test.js +6 -8
  326. package/lib/__tests__/npm.test.js +15 -20
  327. package/lib/__tests__/oauth.test.js +23 -28
  328. package/lib/__tests__/parsing.test.js +18 -20
  329. package/lib/__tests__/polling.test.js +24 -26
  330. package/lib/__tests__/process.test.js +14 -19
  331. package/lib/__tests__/projectProfiles.test.js +34 -39
  332. package/lib/__tests__/sandboxSync.test.js +30 -35
  333. package/lib/__tests__/sandboxes.test.js +29 -31
  334. package/lib/__tests__/serverlessLogs.test.js +8 -13
  335. package/lib/__tests__/usageTracking.test.js +33 -34
  336. package/lib/__tests__/validation.test.js +18 -20
  337. package/lib/__tests__/yargsUtils.test.js +6 -41
  338. package/lib/accountTypes.js +24 -34
  339. package/lib/app/__tests__/migrate.test.js +94 -99
  340. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  341. package/lib/app/migrate.d.ts +3 -3
  342. package/lib/app/migrate.js +127 -145
  343. package/lib/app/migrate_legacy.d.ts +1 -1
  344. package/lib/app/migrate_legacy.js +72 -78
  345. package/lib/app/urls.js +5 -9
  346. package/lib/buildAccount.d.ts +1 -1
  347. package/lib/buildAccount.js +59 -67
  348. package/lib/commonOpts.d.ts +1 -1
  349. package/lib/commonOpts.js +42 -59
  350. package/lib/configMigrate.js +34 -38
  351. package/lib/configOptions.js +34 -40
  352. package/lib/constants.js +31 -34
  353. package/lib/customObject.js +2 -6
  354. package/lib/dependencyManagement.js +37 -45
  355. package/lib/developerTestAccounts.d.ts +1 -1
  356. package/lib/developerTestAccounts.js +34 -39
  357. package/lib/doctor/Diagnosis.d.ts +1 -1
  358. package/lib/doctor/Diagnosis.js +25 -29
  359. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  360. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  361. package/lib/doctor/Doctor.d.ts +1 -1
  362. package/lib/doctor/Doctor.js +94 -101
  363. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  364. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  365. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  366. package/lib/enums/exitCodes.js +1 -4
  367. package/lib/errorHandlers/index.js +32 -41
  368. package/lib/errorHandlers/suppressError.d.ts +1 -1
  369. package/lib/errorHandlers/suppressError.js +28 -31
  370. package/lib/filesystem.js +8 -15
  371. package/lib/generateSelectors.js +18 -29
  372. package/lib/hasFeature.d.ts +1 -1
  373. package/lib/hasFeature.js +3 -6
  374. package/lib/interpolation.js +11 -18
  375. package/lib/lang.d.ts +1 -1
  376. package/lib/lang.js +22 -27
  377. package/lib/links.js +16 -24
  378. package/lib/marketplaceValidate.js +29 -39
  379. package/lib/mcp/setup.js +69 -97
  380. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  381. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  382. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  383. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  384. package/lib/middleware/__test__/utils.test.js +9 -11
  385. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  386. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  387. package/lib/middleware/configMiddleware.js +36 -42
  388. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  389. package/lib/middleware/gitMiddleware.js +5 -8
  390. package/lib/middleware/notificationsMiddleware.js +16 -23
  391. package/lib/middleware/requestMiddleware.js +4 -10
  392. package/lib/middleware/utils.js +1 -4
  393. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  394. package/lib/npm.js +14 -23
  395. package/lib/oauth.js +29 -35
  396. package/lib/parsing.js +3 -6
  397. package/lib/polling.js +11 -15
  398. package/lib/process.js +11 -19
  399. package/lib/projectProfiles.d.ts +2 -2
  400. package/lib/projectProfiles.js +32 -42
  401. package/lib/projects/ProjectLogsManager.js +18 -21
  402. package/lib/projects/__tests__/AppDevModeInterface.test.js +140 -145
  403. package/lib/projects/__tests__/LocalDevProcess.test.js +68 -73
  404. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +32 -37
  405. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  406. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  407. package/lib/projects/__tests__/components.test.js +9 -14
  408. package/lib/projects/__tests__/projects.test.js +35 -40
  409. package/lib/projects/__tests__/structure.test.js +43 -81
  410. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  411. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  412. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  413. package/lib/projects/add/legacyAddComponent.js +23 -29
  414. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  415. package/lib/projects/add/v3AddComponent.js +35 -41
  416. package/lib/projects/buildAndDeploy.d.ts +1 -1
  417. package/lib/projects/buildAndDeploy.js +88 -97
  418. package/lib/projects/components.js +19 -25
  419. package/lib/projects/config.d.ts +1 -1
  420. package/lib/projects/config.js +32 -41
  421. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  422. package/lib/projects/create/__tests__/v3.test.js +5 -7
  423. package/lib/projects/create/index.d.ts +3 -3
  424. package/lib/projects/create/index.js +19 -22
  425. package/lib/projects/create/legacy.d.ts +1 -1
  426. package/lib/projects/create/legacy.js +25 -31
  427. package/lib/projects/create/v3.d.ts +3 -3
  428. package/lib/projects/create/v3.js +49 -59
  429. package/lib/projects/ensureProjectExists.js +31 -37
  430. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  431. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  432. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  433. package/lib/projects/localDev/DevServerManager.js +24 -26
  434. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  435. package/lib/projects/localDev/DevServerManagerV2.js +17 -22
  436. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  437. package/lib/projects/localDev/LocalDevLogger.js +59 -64
  438. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  439. package/lib/projects/localDev/LocalDevManager.js +106 -111
  440. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  441. package/lib/projects/localDev/LocalDevProcess.js +25 -30
  442. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  443. package/lib/projects/localDev/LocalDevState.js +3 -5
  444. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  445. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  446. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  447. package/lib/projects/localDev/LocalDevWebsocketServer.js +25 -27
  448. package/lib/projects/localDev/helpers.d.ts +3 -3
  449. package/lib/projects/localDev/helpers.js +156 -174
  450. package/lib/projects/structure.d.ts +3 -3
  451. package/lib/projects/structure.js +32 -78
  452. package/lib/projects/ui.js +10 -13
  453. package/lib/projects/upload.d.ts +1 -1
  454. package/lib/projects/upload.js +55 -64
  455. package/lib/projects/urls.js +14 -24
  456. package/lib/projects/watch.d.ts +1 -1
  457. package/lib/projects/watch.js +48 -54
  458. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  459. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  460. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  461. package/lib/prompts/accountNamePrompt.js +26 -31
  462. package/lib/prompts/accountsPrompt.js +12 -15
  463. package/lib/prompts/cmsFieldPrompt.js +13 -19
  464. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  465. package/lib/prompts/createApiSamplePrompt.js +9 -12
  466. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +1 -1
  467. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +16 -19
  468. package/lib/prompts/createFunctionPrompt.js +17 -20
  469. package/lib/prompts/createModulePrompt.js +12 -15
  470. package/lib/prompts/createTemplatePrompt.js +5 -8
  471. package/lib/prompts/downloadProjectPrompt.js +17 -20
  472. package/lib/prompts/installAppPrompt.js +19 -26
  473. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  474. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  475. package/lib/prompts/previewPrompt.js +15 -22
  476. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  477. package/lib/prompts/projectAddPrompt.js +14 -18
  478. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  479. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  480. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  481. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  482. package/lib/prompts/projectNamePrompt.js +11 -14
  483. package/lib/prompts/projectsLogsPrompt.js +5 -8
  484. package/lib/prompts/promptUtils.d.ts +1 -1
  485. package/lib/prompts/promptUtils.js +15 -22
  486. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  487. package/lib/prompts/sandboxesPrompt.js +26 -30
  488. package/lib/prompts/secretPrompt.js +10 -15
  489. package/lib/prompts/selectAppPrompt.js +11 -14
  490. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  491. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  492. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  493. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  494. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  495. package/lib/prompts/uploadPrompt.js +11 -17
  496. package/lib/sandboxSync.d.ts +1 -1
  497. package/lib/sandboxSync.js +58 -65
  498. package/lib/sandboxes.d.ts +1 -1
  499. package/lib/sandboxes.js +68 -76
  500. package/lib/schema.js +12 -23
  501. package/lib/serverlessLogs.js +45 -52
  502. package/lib/testUtils.js +4 -8
  503. package/lib/ui/SpinniesManager.d.ts +1 -1
  504. package/lib/ui/SpinniesManager.js +29 -34
  505. package/lib/ui/boxen.js +11 -14
  506. package/lib/ui/git.js +14 -20
  507. package/lib/ui/index.js +55 -73
  508. package/lib/ui/logger.js +10 -13
  509. package/lib/ui/serverlessFunctionLogs.js +14 -20
  510. package/lib/ui/spinniesUtils.js +24 -39
  511. package/lib/ui/supportHyperlinks.js +3 -6
  512. package/lib/ui/supportsColor.js +11 -17
  513. package/lib/ui/table.js +6 -13
  514. package/lib/upload.js +15 -21
  515. package/lib/usageTracking.js +44 -50
  516. package/lib/utils/hasFlag.js +2 -8
  517. package/lib/validation.js +48 -87
  518. package/lib/yargsUtils.d.ts +1 -1
  519. package/lib/yargsUtils.js +13 -16
  520. package/mcp-server/server.js +6 -8
  521. package/mcp-server/tools/index.js +13 -16
  522. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  523. package/mcp-server/tools/project/AddFeatureToProject.js +33 -37
  524. package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
  525. package/mcp-server/tools/project/CreateProjectTool.js +44 -48
  526. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  527. package/mcp-server/tools/project/DeployProject.js +16 -20
  528. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  529. package/mcp-server/tools/project/GuidedWalkthroughTool.js +19 -23
  530. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  531. package/mcp-server/tools/project/UploadProjectTools.js +10 -17
  532. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  533. package/mcp-server/tools/project/ValidateProjectTool.js +11 -15
  534. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +12 -14
  535. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +13 -15
  536. package/mcp-server/tools/project/__tests__/DeployProject.test.js +6 -8
  537. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  538. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  539. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  540. package/mcp-server/tools/project/constants.js +3 -9
  541. package/mcp-server/types.js +1 -5
  542. package/mcp-server/utils/__tests__/command.test.js +9 -11
  543. package/mcp-server/utils/__tests__/project.test.js +12 -17
  544. package/mcp-server/utils/command.d.ts +1 -1
  545. package/mcp-server/utils/command.js +4 -11
  546. package/mcp-server/utils/content.d.ts +1 -1
  547. package/mcp-server/utils/content.js +2 -6
  548. package/mcp-server/utils/project.js +8 -14
  549. package/package.json +15 -11
  550. package/types/LocalDev.d.ts +4 -4
  551. package/types/LocalDev.js +1 -2
  552. package/types/ProjectComponents.d.ts +2 -2
  553. package/types/ProjectComponents.js +1 -2
  554. package/types/Projects.d.ts +1 -1
  555. package/types/Projects.js +2 -5
  556. package/types/Prompts.js +1 -2
  557. package/types/Yargs.js +1 -2
  558. package/types/{Cms.d.ts → cms.d.ts} +1 -1
  559. package/types/cms.js +1 -0
  560. package/types/sandboxes.js +1 -0
  561. package/types/Cms.js +0 -2
  562. package/types/Sandboxes.js +0 -2
  563. /package/types/{Sandboxes.d.ts → sandboxes.d.ts} +0 -0
package/lib/lang.js CHANGED
@@ -1,18 +1,13 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MISSING_LANGUAGE_DATA_PREFIX = void 0;
7
- exports.i18n = i18n;
8
- exports.setLangData = setLangData;
9
- const util_1 = __importDefault(require("util"));
10
- const path_1 = __importDefault(require("path"));
11
- const fs_extra_1 = __importDefault(require("fs-extra"));
12
- const js_yaml_1 = __importDefault(require("js-yaml"));
13
- const logger_1 = require("@hubspot/local-dev-lib/logger");
14
- const interpolation_1 = require("./interpolation");
15
- exports.MISSING_LANGUAGE_DATA_PREFIX = '[Missing language data]';
1
+ import util from 'util';
2
+ import path, { dirname } from 'path';
3
+ import fs from 'fs-extra';
4
+ import yaml from 'js-yaml';
5
+ import { logger } from '@hubspot/local-dev-lib/logger';
6
+ import { interpolate } from './interpolation.js';
7
+ import { fileURLToPath } from 'url';
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+ export const MISSING_LANGUAGE_DATA_PREFIX = '[Missing language data]';
16
11
  let locale;
17
12
  let languageObj;
18
13
  function loadLanguageFromYaml() {
@@ -22,20 +17,20 @@ function loadLanguageFromYaml() {
22
17
  const nodeLocale = Intl.DateTimeFormat()
23
18
  .resolvedOptions()
24
19
  .locale.split('-')[0];
25
- const languageFilePath = path_1.default.join(__dirname, `../lang/${nodeLocale}.lyaml`);
26
- const languageFileExists = fs_extra_1.default.existsSync(languageFilePath);
20
+ const languageFilePath = path.join(__dirname, `../lang/${nodeLocale}.lyaml`);
21
+ const languageFileExists = fs.existsSync(languageFilePath);
27
22
  // Fall back to using the default language file
28
23
  locale = languageFileExists ? nodeLocale : 'en';
29
- languageObj = js_yaml_1.default.load(fs_extra_1.default.readFileSync(path_1.default.join(__dirname, `../lang/${locale}.lyaml`), 'utf8'));
30
- logger_1.logger.debug('Loaded language data: ', util_1.default.inspect(languageObj, true, 999, true));
24
+ languageObj = yaml.load(fs.readFileSync(path.join(__dirname, `../lang/${locale}.lyaml`), 'utf8'));
25
+ logger.debug('Loaded language data: ', util.inspect(languageObj, true, 999, true));
31
26
  }
32
27
  catch (e) {
33
- logger_1.logger.error('Error loading language data: ', e);
28
+ logger.error('Error loading language data: ', e);
34
29
  }
35
30
  }
36
31
  function getTextValue(lookupDotNotation) {
37
32
  const lookupProps = [locale, ...lookupDotNotation.split('.')];
38
- const missingTextData = `${exports.MISSING_LANGUAGE_DATA_PREFIX}: ${lookupProps.join('.')}`;
33
+ const missingTextData = `${MISSING_LANGUAGE_DATA_PREFIX}: ${lookupProps.join('.')}`;
39
34
  let textValue = languageObj;
40
35
  let previouslyCheckedProp = lookupProps[0];
41
36
  try {
@@ -47,8 +42,8 @@ function getTextValue(lookupDotNotation) {
47
42
  });
48
43
  }
49
44
  catch (e) {
50
- logger_1.logger.debug(`Unable to access language property: ${lookupProps.join('.')}. Failed to access prop "${previouslyCheckedProp}".`);
51
- logger_1.logger.error('Unable to access language property.');
45
+ logger.debug(`Unable to access language property: ${lookupProps.join('.')}. Failed to access prop "${previouslyCheckedProp}".`);
46
+ logger.error('Unable to access language property.');
52
47
  return missingTextData;
53
48
  }
54
49
  if (!textValue) {
@@ -59,7 +54,7 @@ function getTextValue(lookupDotNotation) {
59
54
  }
60
55
  return textValue;
61
56
  }
62
- function i18n(lookupDotNotation, options = {}) {
57
+ export function i18n(lookupDotNotation, options = {}) {
63
58
  if (!languageObj) {
64
59
  loadLanguageFromYaml();
65
60
  }
@@ -67,10 +62,10 @@ function i18n(lookupDotNotation, options = {}) {
67
62
  throw new Error(`i18n must be passed a string value for lookupDotNotation, received ${typeof lookupDotNotation}`);
68
63
  }
69
64
  const textValue = getTextValue(lookupDotNotation);
70
- const shouldInterpolate = !textValue.startsWith(exports.MISSING_LANGUAGE_DATA_PREFIX);
71
- return shouldInterpolate ? (0, interpolation_1.interpolate)(textValue, options) : textValue;
65
+ const shouldInterpolate = !textValue.startsWith(MISSING_LANGUAGE_DATA_PREFIX);
66
+ return shouldInterpolate ? interpolate(textValue, options) : textValue;
72
67
  }
73
- function setLangData(newLocale, newLangObj) {
68
+ export function setLangData(newLocale, newLangObj) {
74
69
  locale = newLocale;
75
70
  languageObj = newLangObj;
76
71
  }
package/lib/links.js CHANGED
@@ -1,17 +1,9 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSiteLinksAsArray = getSiteLinksAsArray;
7
- exports.logSiteLinks = logSiteLinks;
8
- exports.openLink = openLink;
9
- const open_1 = __importDefault(require("open"));
10
- const config_1 = require("@hubspot/local-dev-lib/config");
11
- const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
12
- const urls_1 = require("@hubspot/local-dev-lib/urls");
13
- const logger_1 = require("@hubspot/local-dev-lib/logger");
14
- const table_1 = require("./ui/table");
1
+ import open from 'open';
2
+ import { getEnv } from '@hubspot/local-dev-lib/config';
3
+ import { ENVIRONMENTS } from '@hubspot/local-dev-lib/constants/environments';
4
+ import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
5
+ import { logger } from '@hubspot/local-dev-lib/logger';
6
+ import { getTableContents, getTableHeader } from './ui/table.js';
15
7
  const SITE_LINKS = {
16
8
  APPS_MARKETPLACE: {
17
9
  shortcut: 'apps-marketplace',
@@ -82,28 +74,28 @@ const SITE_LINKS = {
82
74
  getUrl: (accountId, baseUrl) => `${baseUrl}/website/${accountId}/pages/site`,
83
75
  },
84
76
  };
85
- function getSiteLinksAsArray(accountId) {
86
- const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)() === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
77
+ export function getSiteLinksAsArray(accountId) {
78
+ const baseUrl = getHubSpotWebsiteOrigin(getEnv() === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
87
79
  return Object.values(SITE_LINKS)
88
80
  .sort((a, b) => (a.shortcut < b.shortcut ? -1 : 1))
89
81
  .map(l => ({ ...l, url: l.getUrl(accountId, baseUrl) }));
90
82
  }
91
- function logSiteLinks(accountId) {
83
+ export function logSiteLinks(accountId) {
92
84
  const linksAsArray = getSiteLinksAsArray(accountId).map(l => [
93
85
  `${l.shortcut}${l.alias ? ` [alias: ${l.alias}]` : ''}`,
94
86
  '=>',
95
87
  l.url,
96
88
  ]);
97
- linksAsArray.unshift((0, table_1.getTableHeader)(['Shortcut', '', 'Url']));
98
- logger_1.logger.log((0, table_1.getTableContents)(linksAsArray));
89
+ linksAsArray.unshift(getTableHeader(['Shortcut', '', 'Url']));
90
+ logger.log(getTableContents(linksAsArray));
99
91
  }
100
- function openLink(accountId, shortcut) {
92
+ export function openLink(accountId, shortcut) {
101
93
  const match = Object.values(SITE_LINKS).find(l => l.shortcut === shortcut || (l.alias && l.alias === shortcut));
102
94
  if (!match) {
103
- logger_1.logger.error(`We couldn't find a shortcut matching ${shortcut}. Type 'hs open list' to see a list of available shortcuts`);
95
+ logger.error(`We couldn't find a shortcut matching ${shortcut}. Type 'hs open list' to see a list of available shortcuts`);
104
96
  return;
105
97
  }
106
- const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)() === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
107
- (0, open_1.default)(match.getUrl(accountId, baseUrl), { url: true });
108
- logger_1.logger.success(`We opened ${match.getUrl(accountId, baseUrl)} in your browser`);
98
+ const baseUrl = getHubSpotWebsiteOrigin(getEnv() === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
99
+ open(match.getUrl(accountId, baseUrl), { url: true });
100
+ logger.success(`We opened ${match.getUrl(accountId, baseUrl)} in your browser`);
109
101
  }
@@ -1,22 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.kickOffValidation = kickOffValidation;
7
- exports.pollForValidationFinish = pollForValidationFinish;
8
- exports.fetchValidationResults = fetchValidationResults;
9
- exports.processValidationErrors = processValidationErrors;
10
- exports.displayValidationResults = displayValidationResults;
11
- const chalk_1 = __importDefault(require("chalk"));
12
- const marketplaceValidation_1 = require("@hubspot/local-dev-lib/api/marketplaceValidation");
13
- const logger_1 = require("./ui/logger");
14
- const exitCodes_1 = require("./enums/exitCodes");
1
+ import chalk from 'chalk';
2
+ import { requestValidation, getValidationStatus, getValidationResults, } from '@hubspot/local-dev-lib/api/marketplaceValidation';
3
+ import { uiLogger } from './ui/logger.js';
4
+ import { EXIT_CODES } from './enums/exitCodes.js';
15
5
  const SLEEP_TIME = 2000;
16
- async function kickOffValidation(accountId, assetType, src) {
6
+ export async function kickOffValidation(accountId, assetType, src) {
17
7
  const requestGroup = 'EXTERNAL_DEVELOPER';
18
8
  try {
19
- const { data: requestResult } = await (0, marketplaceValidation_1.requestValidation)(accountId, {
9
+ const { data: requestResult } = await requestValidation(accountId, {
20
10
  path: src,
21
11
  assetType,
22
12
  requestGroup,
@@ -24,14 +14,14 @@ async function kickOffValidation(accountId, assetType, src) {
24
14
  return requestResult;
25
15
  }
26
16
  catch (err) {
27
- logger_1.uiLogger.debug(err);
28
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
17
+ uiLogger.debug(err);
18
+ process.exit(EXIT_CODES.ERROR);
29
19
  }
30
20
  }
31
- async function pollForValidationFinish(accountId, validationId) {
21
+ export async function pollForValidationFinish(accountId, validationId) {
32
22
  try {
33
23
  const checkValidationStatus = async () => {
34
- const { data: validationStatus } = await (0, marketplaceValidation_1.getValidationStatus)(accountId, {
24
+ const { data: validationStatus } = await getValidationStatus(accountId, {
35
25
  validationId,
36
26
  });
37
27
  if (validationStatus === 'REQUESTED') {
@@ -42,42 +32,42 @@ async function pollForValidationFinish(accountId, validationId) {
42
32
  await checkValidationStatus();
43
33
  }
44
34
  catch (err) {
45
- logger_1.uiLogger.debug(err);
46
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
35
+ uiLogger.debug(err);
36
+ process.exit(EXIT_CODES.ERROR);
47
37
  }
48
38
  }
49
- async function fetchValidationResults(accountId, validationId) {
39
+ export async function fetchValidationResults(accountId, validationId) {
50
40
  try {
51
- const { data: validationResults } = await (0, marketplaceValidation_1.getValidationResults)(accountId, {
41
+ const { data: validationResults } = await getValidationResults(accountId, {
52
42
  validationId,
53
43
  });
54
44
  return validationResults;
55
45
  }
56
46
  catch (err) {
57
- logger_1.uiLogger.debug(err);
58
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
47
+ uiLogger.debug(err);
48
+ process.exit(EXIT_CODES.ERROR);
59
49
  }
60
50
  }
61
- function processValidationErrors(invalidPathError, validationResults) {
51
+ export function processValidationErrors(invalidPathError, validationResults) {
62
52
  if (validationResults.errors.length) {
63
53
  const { assetPath, errors } = validationResults;
64
54
  errors.forEach(err => {
65
55
  if (err.failureReasonType === 'DOWNLOAD_EMPTY') {
66
- logger_1.uiLogger.error(invalidPathError(assetPath));
56
+ uiLogger.error(invalidPathError(assetPath));
67
57
  }
68
58
  else {
69
- logger_1.uiLogger.error(`${err.context}`);
59
+ uiLogger.error(`${err.context}`);
70
60
  }
71
61
  });
72
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
62
+ process.exit(EXIT_CODES.ERROR);
73
63
  }
74
64
  }
75
65
  function displayFileInfo(file, line, resultsCopy) {
76
66
  if (file) {
77
- logger_1.uiLogger.log(resultsCopy.warnings.file(file));
67
+ uiLogger.log(resultsCopy.warnings.file(file));
78
68
  }
79
69
  if (line) {
80
- logger_1.uiLogger.log(resultsCopy.warnings.lineNumber(line.toString()));
70
+ uiLogger.log(resultsCopy.warnings.lineNumber(line.toString()));
81
71
  }
82
72
  }
83
73
  function displayResults(checks, resultsCopy) {
@@ -87,19 +77,19 @@ function displayResults(checks, resultsCopy) {
87
77
  const failedValidations = results.filter(test => test.status === 'FAIL');
88
78
  const warningValidations = results.filter(test => test.status === 'WARN');
89
79
  failedValidations.forEach(val => {
90
- logger_1.uiLogger.error(`${val.message}`);
80
+ uiLogger.error(`${val.message}`);
91
81
  displayFileInfo(val.file, val.line, resultsCopy);
92
82
  });
93
83
  warningValidations.forEach(val => {
94
- logger_1.uiLogger.warn(`${val.message}`);
84
+ uiLogger.warn(`${val.message}`);
95
85
  displayFileInfo(val.file, val.line, resultsCopy);
96
86
  });
97
87
  }
98
88
  if (status === 'PASS') {
99
- logger_1.uiLogger.success(resultsCopy.noErrors);
89
+ uiLogger.success(resultsCopy.noErrors);
100
90
  results.forEach(test => {
101
91
  if (test.status === 'WARN') {
102
- logger_1.uiLogger.warn(`${test.message}`);
92
+ uiLogger.warn(`${test.message}`);
103
93
  displayFileInfo(test.file, test.line, resultsCopy);
104
94
  }
105
95
  });
@@ -107,10 +97,10 @@ function displayResults(checks, resultsCopy) {
107
97
  }
108
98
  return;
109
99
  }
110
- function displayValidationResults(resultsCopy, validationResults) {
100
+ export function displayValidationResults(resultsCopy, validationResults) {
111
101
  Object.keys(validationResults.results).forEach(type => {
112
- logger_1.uiLogger.log(chalk_1.default.bold(resultsCopy[type.toLowerCase()]));
102
+ uiLogger.log(chalk.bold(resultsCopy[type.toLowerCase()]));
113
103
  displayResults(validationResults.results[type], resultsCopy);
114
- logger_1.uiLogger.log('');
104
+ uiLogger.log('');
115
105
  });
116
106
  }
package/lib/mcp/setup.js CHANGED
@@ -1,50 +1,38 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.supportedTools = void 0;
7
- exports.addMintlifyMcpServer = addMintlifyMcpServer;
8
- exports.setupMintlify = setupMintlify;
9
- exports.addMcpServerToConfig = addMcpServerToConfig;
10
- exports.setupClaudeCode = setupClaudeCode;
11
- exports.setupCursor = setupCursor;
12
- exports.setupWindsurf = setupWindsurf;
13
- const logger_1 = require("../ui/logger");
14
- const en_1 = require("../../lang/en");
15
- const promptUtils_1 = require("../prompts/promptUtils");
16
- const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
17
- const errorHandlers_1 = require("../errorHandlers");
18
- const command_1 = require("../../mcp-server/utils/command");
19
- const child_process_1 = require("child_process");
20
- const path_1 = __importDefault(require("path"));
21
- const os_1 = __importDefault(require("os"));
22
- const fs_extra_1 = __importDefault(require("fs-extra"));
23
- const fs_1 = require("fs");
1
+ import { uiLogger } from '../ui/logger.js';
2
+ import { commands } from '../../lang/en.js';
3
+ import { promptUser } from '../prompts/promptUtils.js';
4
+ import SpinniesManager from '../ui/SpinniesManager.js';
5
+ import { logError } from '../errorHandlers/index.js';
6
+ import { execAsync } from '../../mcp-server/utils/command.js';
7
+ import { spawn } from 'node:child_process';
8
+ import path from 'path';
9
+ import os from 'os';
10
+ import fs from 'fs-extra';
11
+ import { existsSync } from 'fs';
24
12
  const mcpServerName = 'hubspot-cli-mcp';
25
13
  const claudeCode = 'claude';
26
14
  const windsurf = 'windsurf';
27
15
  const cursor = 'cursor';
28
16
  const supportedMintlifyClients = [windsurf, cursor];
29
- exports.supportedTools = [
30
- { name: en_1.commands.mcp.setup.claudeCode, value: claudeCode },
31
- { name: en_1.commands.mcp.setup.cursor, value: cursor },
32
- { name: en_1.commands.mcp.setup.windsurf, value: windsurf },
17
+ export const supportedTools = [
18
+ { name: commands.mcp.setup.claudeCode, value: claudeCode },
19
+ { name: commands.mcp.setup.cursor, value: cursor },
20
+ { name: commands.mcp.setup.windsurf, value: windsurf },
33
21
  ];
34
22
  const defaultMcpCommand = {
35
23
  command: 'hs',
36
24
  args: ['mcp', 'start'],
37
25
  };
38
- async function addMintlifyMcpServer(installTargets) {
26
+ export async function addMintlifyMcpServer(installTargets) {
39
27
  await runSetupFunction(() => setupMintlify(installTargets));
40
28
  }
41
- async function setupMintlify(derivedTargets = supportedMintlifyClients) {
42
- logger_1.uiLogger.info(en_1.commands.mcp.setup.installingDocSearch);
43
- logger_1.uiLogger.log('');
29
+ export async function setupMintlify(derivedTargets = supportedMintlifyClients) {
30
+ uiLogger.info(commands.mcp.setup.installingDocSearch);
31
+ uiLogger.log('');
44
32
  return new Promise(resolve => {
45
33
  const subcommands = ['mint-mcp', 'add', 'hubspot-migration'];
46
34
  const docsSearchClients = derivedTargets.filter(target => supportedMintlifyClients.includes(target));
47
- const childProcess = (0, child_process_1.spawn)(`npx`, docsSearchClients && docsSearchClients.length
35
+ const childProcess = spawn(`npx`, docsSearchClients && docsSearchClients.length
48
36
  ? [...subcommands, '--client', ...docsSearchClients]
49
37
  : subcommands, {
50
38
  stdio: 'inherit',
@@ -57,18 +45,18 @@ async function setupMintlify(derivedTargets = supportedMintlifyClients) {
57
45
  });
58
46
  });
59
47
  }
60
- async function addMcpServerToConfig(targets) {
48
+ export async function addMcpServerToConfig(targets) {
61
49
  try {
62
50
  let derivedTargets = [];
63
51
  if (!targets || targets.length === 0) {
64
- const { selectedTargets } = await (0, promptUtils_1.promptUser)({
52
+ const { selectedTargets } = await promptUser({
65
53
  name: 'selectedTargets',
66
54
  type: 'checkbox',
67
- message: en_1.commands.mcp.setup.prompts.targets,
68
- choices: exports.supportedTools,
55
+ message: commands.mcp.setup.prompts.targets,
56
+ choices: supportedTools,
69
57
  validate: (choices) => {
70
58
  return choices.length === 0
71
- ? en_1.commands.mcp.setup.prompts.targetsRequired
59
+ ? commands.mcp.setup.prompts.targetsRequired
72
60
  : true;
73
61
  },
74
62
  });
@@ -77,7 +65,7 @@ async function addMcpServerToConfig(targets) {
77
65
  else {
78
66
  derivedTargets = targets;
79
67
  }
80
- SpinniesManager_1.default.init();
68
+ SpinniesManager.init();
81
69
  if (derivedTargets.includes(claudeCode)) {
82
70
  await runSetupFunction(setupClaudeCode);
83
71
  }
@@ -87,12 +75,12 @@ async function addMcpServerToConfig(targets) {
87
75
  if (derivedTargets.includes(windsurf)) {
88
76
  await runSetupFunction(setupWindsurf);
89
77
  }
90
- logger_1.uiLogger.info(en_1.commands.mcp.setup.success(derivedTargets));
78
+ uiLogger.info(commands.mcp.setup.success(derivedTargets));
91
79
  return derivedTargets;
92
80
  }
93
81
  catch (error) {
94
- SpinniesManager_1.default.fail('mcpSetup', {
95
- text: en_1.commands.mcp.setup.spinners.failedToConfigure,
82
+ SpinniesManager.fail('mcpSetup', {
83
+ text: commands.mcp.setup.spinners.failedToConfigure,
96
84
  });
97
85
  throw error;
98
86
  }
@@ -105,38 +93,22 @@ async function runSetupFunction(func) {
105
93
  }
106
94
  function setupMcpConfigFile(config) {
107
95
  try {
108
- SpinniesManager_1.default.add('spinner', {
96
+ SpinniesManager.add('spinner', {
109
97
  text: config.configuringMessage,
110
98
  });
111
- if (!(0, fs_1.existsSync)(config.configPath)) {
112
- fs_extra_1.default.writeFileSync(config.configPath, JSON.stringify({}, null, 2));
99
+ if (!existsSync(config.configPath)) {
100
+ fs.writeFileSync(config.configPath, JSON.stringify({}, null, 2));
113
101
  }
114
102
  let mcpConfig = {};
115
- let configContent;
116
103
  try {
117
- configContent = fs_extra_1.default.readFileSync(config.configPath, 'utf8');
118
- }
119
- catch (error) {
120
- SpinniesManager_1.default.fail('spinner', {
121
- text: config.failedMessage,
122
- });
123
- (0, errorHandlers_1.logError)(error);
124
- return false;
125
- }
126
- try {
127
- // In the event the file exists, but is empty, initialize it to and empty object
128
- if (configContent.trim() === '') {
129
- mcpConfig = {};
130
- }
131
- else {
132
- mcpConfig = JSON.parse(configContent);
133
- }
104
+ const configContent = fs.readFileSync(config.configPath, 'utf8');
105
+ mcpConfig = JSON.parse(configContent);
134
106
  }
135
107
  catch (error) {
136
- SpinniesManager_1.default.fail('spinner', {
108
+ SpinniesManager.fail('spinner', {
137
109
  text: config.failedMessage,
138
110
  });
139
- logger_1.uiLogger.error(en_1.commands.mcp.setup.errors.errorParsingJsonFIle(config.configPath, error instanceof Error ? error.message : `${error}`));
111
+ logError(error);
140
112
  return false;
141
113
  }
142
114
  // Initialize mcpServers if it doesn't exist
@@ -148,87 +120,87 @@ function setupMcpConfigFile(config) {
148
120
  ...config.mcpCommand,
149
121
  };
150
122
  // Write the updated config
151
- fs_extra_1.default.writeFileSync(config.configPath, JSON.stringify(mcpConfig, null, 2));
152
- SpinniesManager_1.default.succeed('spinner', {
123
+ fs.writeFileSync(config.configPath, JSON.stringify(mcpConfig, null, 2));
124
+ SpinniesManager.succeed('spinner', {
153
125
  text: config.configuredMessage,
154
126
  });
155
127
  return true;
156
128
  }
157
129
  catch (error) {
158
- SpinniesManager_1.default.fail('spinner', {
130
+ SpinniesManager.fail('spinner', {
159
131
  text: config.failedMessage,
160
132
  });
161
- (0, errorHandlers_1.logError)(error);
133
+ logError(error);
162
134
  return false;
163
135
  }
164
136
  }
165
- async function setupClaudeCode(mcpCommand = defaultMcpCommand) {
137
+ export async function setupClaudeCode(mcpCommand = defaultMcpCommand) {
166
138
  try {
167
- SpinniesManager_1.default.add('claudeCode', {
168
- text: en_1.commands.mcp.setup.spinners.configuringClaudeCode,
139
+ SpinniesManager.add('claudeCode', {
140
+ text: commands.mcp.setup.spinners.configuringClaudeCode,
169
141
  });
170
142
  try {
171
143
  // Check if claude command is available
172
- await (0, command_1.execAsync)('claude --version');
144
+ await execAsync('claude --version');
173
145
  // Run claude mcp add command
174
146
  const mcpConfig = JSON.stringify({
175
147
  type: 'stdio',
176
148
  ...mcpCommand,
177
149
  });
178
- const { stdout } = await (0, command_1.execAsync)('claude mcp list');
150
+ const { stdout } = await execAsync('claude mcp list');
179
151
  if (stdout.includes(mcpServerName)) {
180
- SpinniesManager_1.default.update('claudeCode', {
181
- text: en_1.commands.mcp.setup.spinners.alreadyInstalled,
152
+ SpinniesManager.update('claudeCode', {
153
+ text: commands.mcp.setup.spinners.alreadyInstalled,
182
154
  });
183
- await (0, command_1.execAsync)(`claude mcp remove "${mcpServerName}" --scope user`);
155
+ await execAsync(`claude mcp remove "${mcpServerName}" --scope user`);
184
156
  }
185
- await (0, command_1.execAsync)(`claude mcp add-json "${mcpServerName}" '${mcpConfig}' --scope user`);
186
- SpinniesManager_1.default.succeed('claudeCode', {
187
- text: en_1.commands.mcp.setup.spinners.configuredClaudeCode,
157
+ await execAsync(`claude mcp add-json "${mcpServerName}" '${mcpConfig}' --scope user`);
158
+ SpinniesManager.succeed('claudeCode', {
159
+ text: commands.mcp.setup.spinners.configuredClaudeCode,
188
160
  });
189
161
  return true;
190
162
  }
191
163
  catch (error) {
192
164
  if (error instanceof Error &&
193
165
  error.message.includes('claude: command not found')) {
194
- SpinniesManager_1.default.fail('claudeCode', {
195
- text: en_1.commands.mcp.setup.spinners.claudeCodeNotFound,
166
+ SpinniesManager.fail('claudeCode', {
167
+ text: commands.mcp.setup.spinners.claudeCodeNotFound,
196
168
  });
197
169
  }
198
170
  else {
199
- SpinniesManager_1.default.fail('claudeCode', {
200
- text: en_1.commands.mcp.setup.spinners.claudeCodeInstallFailed,
171
+ SpinniesManager.fail('claudeCode', {
172
+ text: commands.mcp.setup.spinners.claudeCodeInstallFailed,
201
173
  });
202
- (0, errorHandlers_1.logError)(error);
174
+ logError(error);
203
175
  }
204
176
  return false;
205
177
  }
206
178
  }
207
179
  catch (error) {
208
- SpinniesManager_1.default.fail('claudeCode', {
209
- text: en_1.commands.mcp.setup.spinners.claudeCodeInstallFailed,
180
+ SpinniesManager.fail('claudeCode', {
181
+ text: commands.mcp.setup.spinners.claudeCodeInstallFailed,
210
182
  });
211
- (0, errorHandlers_1.logError)(error);
183
+ logError(error);
212
184
  return false;
213
185
  }
214
186
  }
215
- function setupCursor(mcpCommand = defaultMcpCommand) {
216
- const cursorConfigPath = path_1.default.join(os_1.default.homedir(), '.cursor', 'mcp.json');
187
+ export function setupCursor(mcpCommand = defaultMcpCommand) {
188
+ const cursorConfigPath = path.join(os.homedir(), '.cursor', 'mcp.json');
217
189
  return setupMcpConfigFile({
218
190
  configPath: cursorConfigPath,
219
- configuringMessage: en_1.commands.mcp.setup.spinners.configuringCursor,
220
- configuredMessage: en_1.commands.mcp.setup.spinners.configuredCursor,
221
- failedMessage: en_1.commands.mcp.setup.spinners.failedToConfigureCursor,
191
+ configuringMessage: commands.mcp.setup.spinners.configuringCursor,
192
+ configuredMessage: commands.mcp.setup.spinners.configuredCursor,
193
+ failedMessage: commands.mcp.setup.spinners.failedToConfigureCursor,
222
194
  mcpCommand,
223
195
  });
224
196
  }
225
- function setupWindsurf(mcpCommand = defaultMcpCommand) {
226
- const windsurfConfigPath = path_1.default.join(os_1.default.homedir(), '.codeium', 'windsurf', 'mcp_config.json');
197
+ export function setupWindsurf(mcpCommand = defaultMcpCommand) {
198
+ const windsurfConfigPath = path.join(os.homedir(), '.codeium', 'windsurf', 'mcp_config.json');
227
199
  return setupMcpConfigFile({
228
200
  configPath: windsurfConfigPath,
229
- configuringMessage: en_1.commands.mcp.setup.spinners.configuringWindsurf,
230
- configuredMessage: en_1.commands.mcp.setup.spinners.configuredWindsurf,
231
- failedMessage: en_1.commands.mcp.setup.spinners.failedToConfigureWindsurf,
201
+ configuringMessage: commands.mcp.setup.spinners.configuringWindsurf,
202
+ configuredMessage: commands.mcp.setup.spinners.configuredWindsurf,
203
+ failedMessage: commands.mcp.setup.spinners.failedToConfigureWindsurf,
232
204
  mcpCommand,
233
205
  });
234
206
  }