@hubspot/cli 7.7.21-experimental.1 → 7.7.22-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 (565) 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 +45 -50
  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 -16
  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 +119 -125
  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 +96 -134
  215. package/commands/project/__tests__/devUnifiedFlow.test.js +133 -139
  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 +63 -68
  232. package/commands/project/deploy.d.ts +1 -1
  233. package/commands/project/deploy.js +67 -69
  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 +45 -53
  297. package/commands/testAccount/createConfig.d.ts +1 -1
  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 -22
  319. package/lang/en.js +371 -399
  320. package/lib/__tests__/accountTypes.test.js +20 -22
  321. package/lib/__tests__/buildAccount.test.js +28 -63
  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 +71 -80
  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 +70 -82
  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 +24 -30
  414. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  415. package/lib/projects/add/v3AddComponent.js +36 -42
  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 +22 -24
  434. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  435. package/lib/projects/localDev/DevServerManagerV2.js +15 -20
  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 +4 -4
  451. package/lib/projects/structure.js +32 -78
  452. package/lib/projects/ui.js +10 -13
  453. package/lib/projects/upload.d.ts +2 -3
  454. package/lib/projects/upload.js +55 -65
  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 +23 -26
  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 +17 -24
  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 +13 -20
  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 +35 -44
  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 +35 -39
  524. package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
  525. package/mcp-server/tools/project/CreateProjectTool.js +46 -50
  526. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  527. package/mcp-server/tools/project/DeployProject.js +18 -22
  528. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  529. package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
  530. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  531. package/mcp-server/tools/project/UploadProjectTools.js +12 -19
  532. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  533. package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
  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/mcp-server/utils/toolUsageTracking.js +11 -14
  550. package/package.json +15 -11
  551. package/types/Cms.d.ts +1 -1
  552. package/types/Cms.js +1 -2
  553. package/types/LocalDev.d.ts +4 -4
  554. package/types/LocalDev.js +1 -2
  555. package/types/ProjectComponents.d.ts +2 -2
  556. package/types/ProjectComponents.js +1 -2
  557. package/types/Projects.d.ts +1 -1
  558. package/types/Projects.js +2 -5
  559. package/types/Prompts.js +1 -2
  560. package/types/Sandboxes.js +1 -2
  561. package/types/Yargs.js +1 -2
  562. package/commands/app/__tests__/install.test.d.ts +0 -1
  563. package/commands/app/__tests__/install.test.js +0 -52
  564. package/commands/app/install.d.ts +0 -8
  565. package/commands/app/install.js +0 -127
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,22 +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
103
  let configContent;
116
104
  try {
117
- configContent = fs_extra_1.default.readFileSync(config.configPath, 'utf8');
105
+ configContent = fs.readFileSync(config.configPath, 'utf8');
118
106
  }
119
107
  catch (error) {
120
- SpinniesManager_1.default.fail('spinner', {
108
+ SpinniesManager.fail('spinner', {
121
109
  text: config.failedMessage,
122
110
  });
123
- (0, errorHandlers_1.logError)(error);
111
+ logError(error);
124
112
  return false;
125
113
  }
126
114
  try {
@@ -133,10 +121,10 @@ function setupMcpConfigFile(config) {
133
121
  }
134
122
  }
135
123
  catch (error) {
136
- SpinniesManager_1.default.fail('spinner', {
124
+ SpinniesManager.fail('spinner', {
137
125
  text: config.failedMessage,
138
126
  });
139
- logger_1.uiLogger.error(en_1.commands.mcp.setup.errors.errorParsingJsonFIle(config.configPath, error instanceof Error ? error.message : `${error}`));
127
+ uiLogger.error(commands.mcp.setup.errors.errorParsingJsonFIle(config.configPath, error instanceof Error ? error.message : `${error}`));
140
128
  return false;
141
129
  }
142
130
  // Initialize mcpServers if it doesn't exist
@@ -148,87 +136,87 @@ function setupMcpConfigFile(config) {
148
136
  ...config.mcpCommand,
149
137
  };
150
138
  // Write the updated config
151
- fs_extra_1.default.writeFileSync(config.configPath, JSON.stringify(mcpConfig, null, 2));
152
- SpinniesManager_1.default.succeed('spinner', {
139
+ fs.writeFileSync(config.configPath, JSON.stringify(mcpConfig, null, 2));
140
+ SpinniesManager.succeed('spinner', {
153
141
  text: config.configuredMessage,
154
142
  });
155
143
  return true;
156
144
  }
157
145
  catch (error) {
158
- SpinniesManager_1.default.fail('spinner', {
146
+ SpinniesManager.fail('spinner', {
159
147
  text: config.failedMessage,
160
148
  });
161
- (0, errorHandlers_1.logError)(error);
149
+ logError(error);
162
150
  return false;
163
151
  }
164
152
  }
165
- async function setupClaudeCode(mcpCommand = defaultMcpCommand) {
153
+ export async function setupClaudeCode(mcpCommand = defaultMcpCommand) {
166
154
  try {
167
- SpinniesManager_1.default.add('claudeCode', {
168
- text: en_1.commands.mcp.setup.spinners.configuringClaudeCode,
155
+ SpinniesManager.add('claudeCode', {
156
+ text: commands.mcp.setup.spinners.configuringClaudeCode,
169
157
  });
170
158
  try {
171
159
  // Check if claude command is available
172
- await (0, command_1.execAsync)('claude --version');
160
+ await execAsync('claude --version');
173
161
  // Run claude mcp add command
174
162
  const mcpConfig = JSON.stringify({
175
163
  type: 'stdio',
176
164
  ...buildCommandWithAgentString(mcpCommand, claudeCode),
177
165
  });
178
- const { stdout } = await (0, command_1.execAsync)('claude mcp list');
166
+ const { stdout } = await execAsync('claude mcp list');
179
167
  if (stdout.includes(mcpServerName)) {
180
- SpinniesManager_1.default.update('claudeCode', {
181
- text: en_1.commands.mcp.setup.spinners.alreadyInstalled,
168
+ SpinniesManager.update('claudeCode', {
169
+ text: commands.mcp.setup.spinners.alreadyInstalled,
182
170
  });
183
- await (0, command_1.execAsync)(`claude mcp remove "${mcpServerName}" --scope user`);
171
+ await execAsync(`claude mcp remove "${mcpServerName}" --scope user`);
184
172
  }
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,
173
+ await execAsync(`claude mcp add-json "${mcpServerName}" '${mcpConfig}' --scope user`);
174
+ SpinniesManager.succeed('claudeCode', {
175
+ text: commands.mcp.setup.spinners.configuredClaudeCode,
188
176
  });
189
177
  return true;
190
178
  }
191
179
  catch (error) {
192
180
  if (error instanceof Error &&
193
181
  error.message.includes('claude: command not found')) {
194
- SpinniesManager_1.default.fail('claudeCode', {
195
- text: en_1.commands.mcp.setup.spinners.claudeCodeNotFound,
182
+ SpinniesManager.fail('claudeCode', {
183
+ text: commands.mcp.setup.spinners.claudeCodeNotFound,
196
184
  });
197
185
  }
198
186
  else {
199
- SpinniesManager_1.default.fail('claudeCode', {
200
- text: en_1.commands.mcp.setup.spinners.claudeCodeInstallFailed,
187
+ SpinniesManager.fail('claudeCode', {
188
+ text: commands.mcp.setup.spinners.claudeCodeInstallFailed,
201
189
  });
202
- (0, errorHandlers_1.logError)(error);
190
+ logError(error);
203
191
  }
204
192
  return false;
205
193
  }
206
194
  }
207
195
  catch (error) {
208
- SpinniesManager_1.default.fail('claudeCode', {
209
- text: en_1.commands.mcp.setup.spinners.claudeCodeInstallFailed,
196
+ SpinniesManager.fail('claudeCode', {
197
+ text: commands.mcp.setup.spinners.claudeCodeInstallFailed,
210
198
  });
211
- (0, errorHandlers_1.logError)(error);
199
+ logError(error);
212
200
  return false;
213
201
  }
214
202
  }
215
- function setupCursor(mcpCommand = defaultMcpCommand) {
216
- const cursorConfigPath = path_1.default.join(os_1.default.homedir(), '.cursor', 'mcp.json');
203
+ export function setupCursor(mcpCommand = defaultMcpCommand) {
204
+ const cursorConfigPath = path.join(os.homedir(), '.cursor', 'mcp.json');
217
205
  return setupMcpConfigFile({
218
206
  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,
207
+ configuringMessage: commands.mcp.setup.spinners.configuringCursor,
208
+ configuredMessage: commands.mcp.setup.spinners.configuredCursor,
209
+ failedMessage: commands.mcp.setup.spinners.failedToConfigureCursor,
222
210
  mcpCommand: buildCommandWithAgentString(mcpCommand, cursor),
223
211
  });
224
212
  }
225
- function setupWindsurf(mcpCommand = defaultMcpCommand) {
226
- const windsurfConfigPath = path_1.default.join(os_1.default.homedir(), '.codeium', 'windsurf', 'mcp_config.json');
213
+ export function setupWindsurf(mcpCommand = defaultMcpCommand) {
214
+ const windsurfConfigPath = path.join(os.homedir(), '.codeium', 'windsurf', 'mcp_config.json');
227
215
  return setupMcpConfigFile({
228
216
  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,
217
+ configuringMessage: commands.mcp.setup.spinners.configuringWindsurf,
218
+ configuredMessage: commands.mcp.setup.spinners.configuredWindsurf,
219
+ failedMessage: commands.mcp.setup.spinners.failedToConfigureWindsurf,
232
220
  mcpCommand: buildCommandWithAgentString(mcpCommand, windsurf),
233
221
  });
234
222
  }