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

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 (570) hide show
  1. package/api/__tests__/migrate.test.js +29 -27
  2. package/api/migrate.js +22 -14
  3. package/bin/cli.js +101 -92
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +2 -1
  7. package/commands/__tests__/account.test.js +34 -29
  8. package/commands/__tests__/auth.test.js +16 -11
  9. package/commands/__tests__/cms.test.js +20 -15
  10. package/commands/__tests__/config.test.js +19 -14
  11. package/commands/__tests__/create.test.js +15 -10
  12. package/commands/__tests__/customObject.test.js +19 -14
  13. package/commands/__tests__/doctor.test.js +48 -43
  14. package/commands/__tests__/feedback.test.js +45 -7
  15. package/commands/__tests__/fetch.test.js +28 -29
  16. package/commands/__tests__/filemanager.test.js +19 -14
  17. package/commands/__tests__/function.test.js +21 -16
  18. package/commands/__tests__/getStarted.test.js +50 -55
  19. package/commands/__tests__/hubdb.test.js +22 -17
  20. package/commands/__tests__/init.test.js +17 -12
  21. package/commands/__tests__/lint.test.js +18 -13
  22. package/commands/__tests__/list.test.js +23 -18
  23. package/commands/__tests__/logs.test.js +27 -28
  24. package/commands/__tests__/mcp.test.js +19 -14
  25. package/commands/__tests__/mv.test.js +52 -14
  26. package/commands/__tests__/open.test.js +51 -13
  27. package/commands/__tests__/project.test.js +49 -44
  28. package/commands/__tests__/remove.test.js +51 -13
  29. package/commands/__tests__/sandbox.test.js +19 -14
  30. package/commands/__tests__/secret.test.js +21 -16
  31. package/commands/__tests__/testAccount.test.js +21 -16
  32. package/commands/__tests__/theme.test.js +20 -15
  33. package/commands/account/__tests__/auth.test.js +16 -11
  34. package/commands/account/__tests__/clean.test.js +17 -12
  35. package/commands/account/__tests__/createOverride.test.js +15 -10
  36. package/commands/account/__tests__/info.test.js +16 -11
  37. package/commands/account/__tests__/list.test.js +16 -11
  38. package/commands/account/__tests__/remove.test.js +18 -13
  39. package/commands/account/__tests__/removeOverride.js +13 -8
  40. package/commands/account/__tests__/rename.test.js +20 -15
  41. package/commands/account/__tests__/use.test.js +15 -10
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +67 -65
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +60 -55
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +57 -52
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +35 -33
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +45 -43
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +42 -37
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +43 -38
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +20 -18
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +31 -29
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +28 -23
  62. package/commands/app/__tests__/install.test.js +52 -0
  63. package/commands/app/__tests__/migrate.test.js +34 -29
  64. package/commands/app/install.d.ts +8 -0
  65. package/commands/app/install.js +127 -0
  66. package/commands/app/migrate.d.ts +2 -2
  67. package/commands/app/migrate.js +43 -40
  68. package/commands/app/secret/__tests__/add.test.js +11 -6
  69. package/commands/app/secret/__tests__/delete.test.js +11 -6
  70. package/commands/app/secret/__tests__/list.test.js +11 -6
  71. package/commands/app/secret/__tests__/update.test.js +11 -6
  72. package/commands/app/secret/add.d.ts +1 -1
  73. package/commands/app/secret/add.js +30 -28
  74. package/commands/app/secret/delete.d.ts +1 -1
  75. package/commands/app/secret/delete.js +36 -34
  76. package/commands/app/secret/list.d.ts +1 -1
  77. package/commands/app/secret/list.js +27 -25
  78. package/commands/app/secret/update.d.ts +1 -1
  79. package/commands/app/secret/update.js +34 -32
  80. package/commands/app/secret.d.ts +1 -1
  81. package/commands/app/secret.js +17 -12
  82. package/commands/app.d.ts +1 -1
  83. package/commands/app.js +16 -6
  84. package/commands/auth.d.ts +1 -1
  85. package/commands/auth.js +72 -70
  86. package/commands/cms/convertFields.d.ts +1 -1
  87. package/commands/cms/convertFields.js +39 -34
  88. package/commands/cms/getReactModule.d.ts +1 -1
  89. package/commands/cms/getReactModule.js +37 -32
  90. package/commands/cms/lighthouseScore.d.ts +1 -1
  91. package/commands/cms/lighthouseScore.js +72 -67
  92. package/commands/cms.d.ts +1 -1
  93. package/commands/cms.js +16 -11
  94. package/commands/completion.d.ts +1 -1
  95. package/commands/completion.js +15 -10
  96. package/commands/config/migrate.d.ts +1 -1
  97. package/commands/config/migrate.js +32 -27
  98. package/commands/config/set.d.ts +1 -1
  99. package/commands/config/set.js +25 -23
  100. package/commands/config.d.ts +1 -1
  101. package/commands/config.js +13 -8
  102. package/commands/create/api-sample.d.ts +1 -1
  103. package/commands/create/api-sample.js +33 -28
  104. package/commands/create/app.d.ts +1 -1
  105. package/commands/create/app.js +5 -3
  106. package/commands/create/function.d.ts +1 -1
  107. package/commands/create/function.js +11 -9
  108. package/commands/create/index.d.ts +1 -1
  109. package/commands/create/index.js +24 -19
  110. package/commands/create/module.d.ts +1 -1
  111. package/commands/create/module.js +14 -12
  112. package/commands/create/react-app.d.ts +1 -1
  113. package/commands/create/react-app.js +5 -3
  114. package/commands/create/template.d.ts +1 -1
  115. package/commands/create/template.js +14 -12
  116. package/commands/create/vue-app.d.ts +1 -1
  117. package/commands/create/vue-app.js +5 -3
  118. package/commands/create/webpack-serverless.d.ts +1 -1
  119. package/commands/create/webpack-serverless.js +5 -3
  120. package/commands/create/website-theme.d.ts +1 -1
  121. package/commands/create/website-theme.js +7 -5
  122. package/commands/create.d.ts +2 -2
  123. package/commands/create.js +35 -30
  124. package/commands/customObject/__tests__/create.test.js +18 -13
  125. package/commands/customObject/__tests__/schema.test.js +23 -18
  126. package/commands/customObject/create.d.ts +1 -1
  127. package/commands/customObject/create.js +30 -28
  128. package/commands/customObject/schema/__tests__/create.test.js +18 -13
  129. package/commands/customObject/schema/__tests__/delete.test.js +18 -13
  130. package/commands/customObject/schema/__tests__/fetch-all.test.js +18 -13
  131. package/commands/customObject/schema/__tests__/fetch.test.js +18 -13
  132. package/commands/customObject/schema/__tests__/list.test.js +18 -13
  133. package/commands/customObject/schema/__tests__/update.test.js +18 -13
  134. package/commands/customObject/schema/create.d.ts +1 -1
  135. package/commands/customObject/schema/create.js +30 -28
  136. package/commands/customObject/schema/delete.d.ts +1 -1
  137. package/commands/customObject/schema/delete.js +26 -24
  138. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  139. package/commands/customObject/schema/fetch-all.js +24 -22
  140. package/commands/customObject/schema/fetch.d.ts +1 -1
  141. package/commands/customObject/schema/fetch.js +26 -24
  142. package/commands/customObject/schema/list.d.ts +1 -1
  143. package/commands/customObject/schema/list.js +15 -13
  144. package/commands/customObject/schema/update.d.ts +1 -1
  145. package/commands/customObject/schema/update.js +34 -32
  146. package/commands/customObject/schema.d.ts +1 -1
  147. package/commands/customObject/schema.js +22 -17
  148. package/commands/customObject.d.ts +1 -1
  149. package/commands/customObject.js +18 -13
  150. package/commands/doctor.d.ts +1 -1
  151. package/commands/doctor.js +33 -28
  152. package/commands/feedback.d.ts +1 -1
  153. package/commands/feedback.js +24 -19
  154. package/commands/fetch.d.ts +1 -1
  155. package/commands/fetch.js +30 -28
  156. package/commands/filemanager/__tests__/fetch.test.js +22 -17
  157. package/commands/filemanager/__tests__/upload.test.js +20 -15
  158. package/commands/filemanager/fetch.d.ts +1 -1
  159. package/commands/filemanager/fetch.js +25 -23
  160. package/commands/filemanager/upload.d.ts +1 -1
  161. package/commands/filemanager/upload.js +44 -39
  162. package/commands/filemanager.d.ts +1 -1
  163. package/commands/filemanager.js +13 -8
  164. package/commands/function/deploy.d.ts +1 -1
  165. package/commands/function/deploy.js +40 -35
  166. package/commands/function/list.d.ts +1 -1
  167. package/commands/function/list.js +29 -24
  168. package/commands/function/server.d.ts +1 -1
  169. package/commands/function/server.js +17 -15
  170. package/commands/function.d.ts +1 -1
  171. package/commands/function.js +18 -12
  172. package/commands/getStarted.d.ts +1 -1
  173. package/commands/getStarted.js +131 -140
  174. package/commands/hubdb/__tests__/clear.test.js +18 -13
  175. package/commands/hubdb/__tests__/create.test.js +18 -13
  176. package/commands/hubdb/__tests__/delete.test.js +18 -13
  177. package/commands/hubdb/__tests__/fetch.test.js +18 -13
  178. package/commands/hubdb/__tests__/list.test.js +28 -23
  179. package/commands/hubdb/clear.d.ts +1 -1
  180. package/commands/hubdb/clear.js +22 -20
  181. package/commands/hubdb/create.d.ts +1 -1
  182. package/commands/hubdb/create.js +35 -30
  183. package/commands/hubdb/delete.d.ts +1 -1
  184. package/commands/hubdb/delete.js +26 -24
  185. package/commands/hubdb/fetch.d.ts +1 -1
  186. package/commands/hubdb/fetch.js +19 -17
  187. package/commands/hubdb/list.d.ts +1 -1
  188. package/commands/hubdb/list.js +35 -33
  189. package/commands/hubdb.d.ts +1 -1
  190. package/commands/hubdb.js +24 -18
  191. package/commands/init.d.ts +1 -1
  192. package/commands/init.js +88 -83
  193. package/commands/lint.d.ts +1 -1
  194. package/commands/lint.js +26 -24
  195. package/commands/list.d.ts +1 -1
  196. package/commands/list.js +37 -32
  197. package/commands/logs.d.ts +1 -1
  198. package/commands/logs.js +37 -35
  199. package/commands/mcp/__tests__/setup.test.js +12 -7
  200. package/commands/mcp/__tests__/start.test.js +12 -7
  201. package/commands/mcp/setup.d.ts +1 -1
  202. package/commands/mcp/setup.js +20 -17
  203. package/commands/mcp/start.d.ts +5 -2
  204. package/commands/mcp/start.js +41 -31
  205. package/commands/mcp.d.ts +1 -1
  206. package/commands/mcp.js +12 -7
  207. package/commands/module/marketplace-validate.d.ts +1 -1
  208. package/commands/module/marketplace-validate.js +26 -21
  209. package/commands/module.d.ts +1 -1
  210. package/commands/module.js +13 -7
  211. package/commands/mv.d.ts +1 -1
  212. package/commands/mv.js +22 -20
  213. package/commands/open.d.ts +1 -1
  214. package/commands/open.js +21 -19
  215. package/commands/project/__tests__/add.test.js +15 -10
  216. package/commands/project/__tests__/create.test.js +19 -14
  217. package/commands/project/__tests__/deploy.test.js +143 -103
  218. package/commands/project/__tests__/devUnifiedFlow.test.js +157 -148
  219. package/commands/project/__tests__/download.test.js +19 -14
  220. package/commands/project/__tests__/installDeps.test.js +70 -32
  221. package/commands/project/__tests__/listBuilds.test.js +19 -14
  222. package/commands/project/__tests__/logs.test.js +94 -56
  223. package/commands/project/__tests__/migrate.test.js +30 -25
  224. package/commands/project/__tests__/migrateApp.test.js +22 -17
  225. package/commands/project/__tests__/open.test.js +21 -16
  226. package/commands/project/__tests__/profile.test.js +19 -14
  227. package/commands/project/__tests__/upload.test.js +23 -18
  228. package/commands/project/__tests__/watch.test.js +19 -14
  229. package/commands/project/add.d.ts +1 -1
  230. package/commands/project/add.js +36 -34
  231. package/commands/project/cloneApp.d.ts +1 -1
  232. package/commands/project/cloneApp.js +72 -67
  233. package/commands/project/create.d.ts +2 -2
  234. package/commands/project/create.js +68 -63
  235. package/commands/project/deploy.d.ts +3 -2
  236. package/commands/project/deploy.js +102 -91
  237. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  238. package/commands/project/dev/deprecatedFlow.js +58 -52
  239. package/commands/project/dev/index.d.ts +1 -1
  240. package/commands/project/dev/index.js +47 -44
  241. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  242. package/commands/project/dev/unifiedFlow.js +74 -67
  243. package/commands/project/download.d.ts +1 -1
  244. package/commands/project/download.js +40 -35
  245. package/commands/project/installDeps.d.ts +1 -1
  246. package/commands/project/installDeps.js +34 -29
  247. package/commands/project/listBuilds.d.ts +1 -1
  248. package/commands/project/listBuilds.js +45 -40
  249. package/commands/project/logs.d.ts +1 -1
  250. package/commands/project/logs.js +54 -52
  251. package/commands/project/migrate.d.ts +1 -1
  252. package/commands/project/migrate.js +26 -24
  253. package/commands/project/migrateApp.d.ts +2 -2
  254. package/commands/project/migrateApp.js +20 -18
  255. package/commands/project/open.d.ts +1 -1
  256. package/commands/project/open.js +30 -25
  257. package/commands/project/profile/add.d.ts +1 -1
  258. package/commands/project/profile/add.js +73 -68
  259. package/commands/project/profile/delete.d.ts +1 -1
  260. package/commands/project/profile/delete.js +56 -51
  261. package/commands/project/profile.d.ts +1 -1
  262. package/commands/project/profile.js +14 -9
  263. package/commands/project/upload.d.ts +1 -1
  264. package/commands/project/upload.js +55 -50
  265. package/commands/project/validate.d.ts +1 -1
  266. package/commands/project/validate.js +40 -35
  267. package/commands/project/watch.d.ts +1 -1
  268. package/commands/project/watch.js +61 -59
  269. package/commands/project.d.ts +1 -1
  270. package/commands/project.js +43 -38
  271. package/commands/remove.d.ts +1 -1
  272. package/commands/remove.js +17 -15
  273. package/commands/sandbox/__tests__/create.test.js +20 -15
  274. package/commands/sandbox/__tests__/delete.test.js +20 -15
  275. package/commands/sandbox/create.d.ts +1 -1
  276. package/commands/sandbox/create.js +69 -67
  277. package/commands/sandbox/delete.d.ts +1 -1
  278. package/commands/sandbox/delete.js +96 -94
  279. package/commands/sandbox.d.ts +1 -1
  280. package/commands/sandbox.js +14 -9
  281. package/commands/secret/__tests__/addSecret.test.js +18 -13
  282. package/commands/secret/__tests__/deleteSecret.test.js +18 -13
  283. package/commands/secret/__tests__/listSecret.test.js +18 -13
  284. package/commands/secret/__tests__/updateSecret.test.js +18 -13
  285. package/commands/secret/addSecret.d.ts +1 -1
  286. package/commands/secret/addSecret.js +28 -26
  287. package/commands/secret/deleteSecret.d.ts +1 -1
  288. package/commands/secret/deleteSecret.js +29 -27
  289. package/commands/secret/listSecret.d.ts +1 -1
  290. package/commands/secret/listSecret.js +21 -19
  291. package/commands/secret/updateSecret.d.ts +1 -1
  292. package/commands/secret/updateSecret.js +27 -25
  293. package/commands/secret.d.ts +1 -1
  294. package/commands/secret.js +18 -13
  295. package/commands/testAccount/__tests__/create.test.js +22 -17
  296. package/commands/testAccount/__tests__/createConfig.test.js +11 -9
  297. package/commands/testAccount/__tests__/delete.test.js +20 -15
  298. package/commands/testAccount/create.d.ts +1 -1
  299. package/commands/testAccount/create.js +57 -62
  300. package/commands/testAccount/createConfig.d.ts +1 -3
  301. package/commands/testAccount/createConfig.js +47 -43
  302. package/commands/testAccount/delete.d.ts +1 -1
  303. package/commands/testAccount/delete.js +19 -17
  304. package/commands/testAccount.d.ts +1 -1
  305. package/commands/testAccount.js +15 -10
  306. package/commands/theme/__tests__/generate-selectors.test.js +12 -7
  307. package/commands/theme/__tests__/marketplace-validate.test.js +19 -14
  308. package/commands/theme/__tests__/preview.test.js +17 -12
  309. package/commands/theme/generate-selectors.d.ts +1 -1
  310. package/commands/theme/generate-selectors.js +28 -23
  311. package/commands/theme/marketplace-validate.d.ts +1 -1
  312. package/commands/theme/marketplace-validate.js +24 -19
  313. package/commands/theme/preview.d.ts +1 -1
  314. package/commands/theme/preview.js +65 -60
  315. package/commands/theme.d.ts +1 -1
  316. package/commands/theme.js +16 -11
  317. package/commands/upload.d.ts +1 -1
  318. package/commands/upload.js +82 -77
  319. package/commands/watch.d.ts +1 -1
  320. package/commands/watch.js +51 -45
  321. package/lang/en.d.ts +62 -23
  322. package/lang/en.js +434 -389
  323. package/lang/en.lyaml +0 -26
  324. package/lib/__tests__/accountTypes.test.js +22 -20
  325. package/lib/__tests__/buildAccount.test.js +90 -27
  326. package/lib/__tests__/commonOpts.test.js +22 -20
  327. package/lib/__tests__/dependencyManagement.test.js +51 -46
  328. package/lib/__tests__/developerTestAccounts.test.js +62 -27
  329. package/lib/__tests__/hasFeature.test.js +8 -6
  330. package/lib/__tests__/npm.test.js +20 -15
  331. package/lib/__tests__/oauth.test.js +28 -23
  332. package/lib/__tests__/parsing.test.js +20 -18
  333. package/lib/__tests__/polling.test.js +26 -24
  334. package/lib/__tests__/process.test.js +19 -14
  335. package/lib/__tests__/projectProfiles.test.js +39 -34
  336. package/lib/__tests__/sandboxSync.test.js +35 -30
  337. package/lib/__tests__/sandboxes.test.js +31 -29
  338. package/lib/__tests__/serverlessLogs.test.js +13 -8
  339. package/lib/__tests__/usageTracking.test.js +42 -47
  340. package/lib/__tests__/validation.test.js +20 -18
  341. package/lib/__tests__/yargsUtils.test.js +41 -6
  342. package/lib/accountTypes.js +34 -24
  343. package/lib/app/__tests__/migrate.test.js +99 -94
  344. package/lib/app/__tests__/migrate_legacy.test.js +31 -29
  345. package/lib/app/migrate.d.ts +3 -3
  346. package/lib/app/migrate.js +145 -127
  347. package/lib/app/migrate_legacy.d.ts +1 -1
  348. package/lib/app/migrate_legacy.js +78 -72
  349. package/lib/app/urls.js +9 -5
  350. package/lib/buildAccount.d.ts +8 -2
  351. package/lib/buildAccount.js +119 -61
  352. package/lib/commonOpts.d.ts +1 -1
  353. package/lib/commonOpts.js +59 -42
  354. package/lib/configMigrate.js +38 -34
  355. package/lib/configOptions.js +40 -34
  356. package/lib/constants.js +34 -31
  357. package/lib/customObject.js +6 -2
  358. package/lib/dependencyManagement.js +45 -37
  359. package/lib/developerTestAccounts.d.ts +1 -1
  360. package/lib/developerTestAccounts.js +39 -34
  361. package/lib/doctor/Diagnosis.d.ts +1 -1
  362. package/lib/doctor/Diagnosis.js +29 -25
  363. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  364. package/lib/doctor/DiagnosticInfoBuilder.js +37 -30
  365. package/lib/doctor/Doctor.d.ts +1 -1
  366. package/lib/doctor/Doctor.js +101 -94
  367. package/lib/doctor/__tests__/Diagnosis.test.js +14 -9
  368. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +34 -29
  369. package/lib/doctor/__tests__/Doctor.test.js +26 -24
  370. package/lib/enums/exitCodes.js +4 -1
  371. package/lib/errorHandlers/index.js +41 -32
  372. package/lib/errorHandlers/suppressError.d.ts +1 -1
  373. package/lib/errorHandlers/suppressError.js +31 -28
  374. package/lib/filesystem.js +15 -8
  375. package/lib/generateSelectors.js +29 -18
  376. package/lib/hasFeature.d.ts +1 -1
  377. package/lib/hasFeature.js +6 -3
  378. package/lib/interpolation.js +18 -11
  379. package/lib/lang.d.ts +1 -1
  380. package/lib/lang.js +27 -22
  381. package/lib/links.js +24 -16
  382. package/lib/marketplaceValidate.js +39 -29
  383. package/lib/mcp/setup.js +105 -72
  384. package/lib/middleware/__test__/configMiddleware.test.js +55 -20
  385. package/lib/middleware/__test__/gitMiddleware.test.js +42 -7
  386. package/lib/middleware/__test__/notificationsMiddleware.test.js +4 -2
  387. package/lib/middleware/__test__/requestMiddleware.test.js +11 -6
  388. package/lib/middleware/__test__/utils.test.js +11 -9
  389. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +44 -9
  390. package/lib/middleware/autoUpdateMiddleware.js +40 -33
  391. package/lib/middleware/configMiddleware.js +42 -36
  392. package/lib/middleware/fireAlarmMiddleware.js +18 -12
  393. package/lib/middleware/gitMiddleware.js +8 -5
  394. package/lib/middleware/notificationsMiddleware.js +23 -16
  395. package/lib/middleware/requestMiddleware.js +10 -4
  396. package/lib/middleware/utils.js +4 -1
  397. package/lib/middleware/yargsChecksMiddleware.js +13 -10
  398. package/lib/npm.js +23 -14
  399. package/lib/oauth.js +35 -29
  400. package/lib/parsing.js +6 -3
  401. package/lib/polling.js +15 -11
  402. package/lib/process.js +19 -11
  403. package/lib/projectProfiles.d.ts +2 -2
  404. package/lib/projectProfiles.js +42 -32
  405. package/lib/projects/ProjectLogsManager.js +21 -18
  406. package/lib/projects/__tests__/AppDevModeInterface.test.js +145 -140
  407. package/lib/projects/__tests__/LocalDevProcess.test.js +73 -68
  408. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +37 -32
  409. package/lib/projects/__tests__/ProjectLogsManager.test.js +58 -56
  410. package/lib/projects/__tests__/buildAndDeploy.test.js +9 -7
  411. package/lib/projects/__tests__/components.test.js +14 -9
  412. package/lib/projects/__tests__/projects.test.js +40 -35
  413. package/lib/projects/__tests__/structure.test.js +81 -43
  414. package/lib/projects/add/__tests__/legacyAddComponent.test.js +28 -26
  415. package/lib/projects/add/__tests__/v3AddComponent.test.js +30 -25
  416. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  417. package/lib/projects/add/legacyAddComponent.js +30 -24
  418. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  419. package/lib/projects/add/v3AddComponent.js +42 -36
  420. package/lib/projects/buildAndDeploy.d.ts +1 -1
  421. package/lib/projects/buildAndDeploy.js +97 -88
  422. package/lib/projects/components.js +25 -19
  423. package/lib/projects/config.d.ts +1 -1
  424. package/lib/projects/config.js +41 -32
  425. package/lib/projects/create/__tests__/legacy.test.js +57 -22
  426. package/lib/projects/create/__tests__/v3.test.js +7 -5
  427. package/lib/projects/create/index.d.ts +3 -3
  428. package/lib/projects/create/index.js +22 -19
  429. package/lib/projects/create/legacy.d.ts +1 -1
  430. package/lib/projects/create/legacy.js +31 -25
  431. package/lib/projects/create/v3.d.ts +3 -3
  432. package/lib/projects/create/v3.js +59 -49
  433. package/lib/projects/ensureProjectExists.js +37 -31
  434. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  435. package/lib/projects/localDev/AppDevModeInterface.js +60 -58
  436. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  437. package/lib/projects/localDev/DevServerManager.js +24 -24
  438. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  439. package/lib/projects/localDev/DevServerManagerV2.js +20 -17
  440. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  441. package/lib/projects/localDev/LocalDevLogger.js +64 -59
  442. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  443. package/lib/projects/localDev/LocalDevManager.js +111 -106
  444. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  445. package/lib/projects/localDev/LocalDevProcess.js +30 -25
  446. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  447. package/lib/projects/localDev/LocalDevState.js +5 -3
  448. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  449. package/lib/projects/localDev/LocalDevWatcher.js +11 -6
  450. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  451. package/lib/projects/localDev/LocalDevWebsocketServer.js +27 -25
  452. package/lib/projects/localDev/helpers.d.ts +4 -4
  453. package/lib/projects/localDev/helpers.js +174 -156
  454. package/lib/projects/structure.d.ts +4 -4
  455. package/lib/projects/structure.js +78 -32
  456. package/lib/projects/ui.js +13 -10
  457. package/lib/projects/upload.d.ts +3 -2
  458. package/lib/projects/upload.js +65 -55
  459. package/lib/projects/urls.js +24 -14
  460. package/lib/projects/watch.d.ts +1 -1
  461. package/lib/projects/watch.js +54 -48
  462. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +11 -9
  463. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +16 -11
  464. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  465. package/lib/prompts/accountNamePrompt.js +31 -26
  466. package/lib/prompts/accountsPrompt.js +15 -12
  467. package/lib/prompts/cmsFieldPrompt.js +19 -13
  468. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  469. package/lib/prompts/createApiSamplePrompt.js +12 -9
  470. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +11 -10
  471. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +88 -43
  472. package/lib/prompts/createFunctionPrompt.js +20 -17
  473. package/lib/prompts/createModulePrompt.js +15 -12
  474. package/lib/prompts/createTemplatePrompt.js +8 -5
  475. package/lib/prompts/downloadProjectPrompt.js +20 -17
  476. package/lib/prompts/installAppPrompt.js +26 -19
  477. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  478. package/lib/prompts/personalAccessKeyPrompt.js +47 -40
  479. package/lib/prompts/previewPrompt.js +22 -15
  480. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  481. package/lib/prompts/projectAddPrompt.js +18 -14
  482. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  483. package/lib/prompts/projectDevTargetAccountPrompt.js +54 -48
  484. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  485. package/lib/prompts/projectNameAndDestPrompt.js +29 -22
  486. package/lib/prompts/projectNamePrompt.js +14 -11
  487. package/lib/prompts/projectsLogsPrompt.js +8 -5
  488. package/lib/prompts/promptUtils.d.ts +1 -1
  489. package/lib/prompts/promptUtils.js +87 -70
  490. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  491. package/lib/prompts/sandboxesPrompt.js +30 -26
  492. package/lib/prompts/secretPrompt.js +15 -10
  493. package/lib/prompts/selectAppPrompt.js +14 -11
  494. package/lib/prompts/selectHubDBTablePrompt.js +30 -24
  495. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  496. package/lib/prompts/selectProjectTemplatePrompt.js +13 -10
  497. package/lib/prompts/selectPublicAppForMigrationPrompt.js +25 -22
  498. package/lib/prompts/setAsDefaultAccountPrompt.js +16 -13
  499. package/lib/prompts/uploadPrompt.js +17 -11
  500. package/lib/sandboxSync.d.ts +1 -1
  501. package/lib/sandboxSync.js +65 -58
  502. package/lib/sandboxes.d.ts +1 -1
  503. package/lib/sandboxes.js +76 -68
  504. package/lib/schema.js +23 -12
  505. package/lib/serverlessLogs.js +52 -45
  506. package/lib/testUtils.js +8 -4
  507. package/lib/ui/SpinniesManager.d.ts +1 -1
  508. package/lib/ui/SpinniesManager.js +34 -29
  509. package/lib/ui/boxen.js +14 -11
  510. package/lib/ui/git.js +20 -14
  511. package/lib/ui/index.js +74 -56
  512. package/lib/ui/logger.js +13 -10
  513. package/lib/ui/serverlessFunctionLogs.js +20 -14
  514. package/lib/ui/spinniesUtils.js +39 -24
  515. package/lib/ui/supportHyperlinks.js +6 -3
  516. package/lib/ui/supportsColor.js +17 -11
  517. package/lib/ui/table.js +13 -6
  518. package/lib/upload.js +21 -15
  519. package/lib/usageTracking.d.ts +11 -0
  520. package/lib/usageTracking.js +95 -95
  521. package/lib/utils/hasFlag.js +8 -2
  522. package/lib/validation.js +87 -48
  523. package/lib/yargsUtils.d.ts +1 -1
  524. package/lib/yargsUtils.js +16 -13
  525. package/mcp-server/server.js +8 -6
  526. package/mcp-server/tools/index.js +16 -13
  527. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  528. package/mcp-server/tools/project/AddFeatureToProject.js +41 -34
  529. package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
  530. package/mcp-server/tools/project/CreateProjectTool.js +52 -45
  531. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  532. package/mcp-server/tools/project/DeployProject.js +24 -17
  533. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  534. package/mcp-server/tools/project/GuidedWalkthroughTool.js +27 -20
  535. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  536. package/mcp-server/tools/project/UploadProjectTools.js +21 -11
  537. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  538. package/mcp-server/tools/project/ValidateProjectTool.js +19 -12
  539. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +15 -12
  540. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +16 -13
  541. package/mcp-server/tools/project/__tests__/DeployProject.test.js +9 -6
  542. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +7 -4
  543. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +7 -4
  544. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +7 -4
  545. package/mcp-server/tools/project/constants.js +9 -3
  546. package/mcp-server/types.js +5 -1
  547. package/mcp-server/utils/__tests__/command.test.js +11 -9
  548. package/mcp-server/utils/__tests__/project.test.js +26 -18
  549. package/mcp-server/utils/command.d.ts +1 -1
  550. package/mcp-server/utils/command.js +11 -4
  551. package/mcp-server/utils/content.d.ts +1 -1
  552. package/mcp-server/utils/content.js +6 -2
  553. package/mcp-server/utils/project.js +17 -8
  554. package/mcp-server/utils/toolUsageTracking.d.ts +1 -0
  555. package/mcp-server/utils/toolUsageTracking.js +25 -0
  556. package/package.json +13 -17
  557. package/types/{cms.d.ts → Cms.d.ts} +1 -1
  558. package/types/Cms.js +2 -0
  559. package/types/LocalDev.d.ts +4 -4
  560. package/types/LocalDev.js +2 -1
  561. package/types/ProjectComponents.d.ts +2 -2
  562. package/types/ProjectComponents.js +2 -1
  563. package/types/Projects.d.ts +1 -1
  564. package/types/Projects.js +5 -2
  565. package/types/Prompts.js +2 -1
  566. package/types/Sandboxes.js +2 -0
  567. package/types/Yargs.js +2 -1
  568. package/types/sandboxes.js +0 -1
  569. /package/{types/cms.js → commands/app/__tests__/install.test.d.ts} +0 -0
  570. /package/types/{sandboxes.d.ts → Sandboxes.d.ts} +0 -0
@@ -1,42 +1,48 @@
1
- import { logger } from '@hubspot/local-dev-lib/logger';
2
- import { getAccountId, getCWDAccountOverride, } from '@hubspot/local-dev-lib/config';
3
- import SpinniesManager from '../ui/SpinniesManager.js';
4
- import { hasMissingPackages } from '../dependencyManagement.js';
5
- import { getLatestCliVersion } from '../npm.js';
6
- import util from 'util';
7
- import fs from 'fs';
8
- import path from 'path';
9
- import { Diagnosis } from './Diagnosis.js';
10
- import { DiagnosticInfoBuilder, } from './DiagnosticInfoBuilder.js';
11
- import { isPortManagerPortAvailable } from '@hubspot/local-dev-lib/portManager';
12
- import { PORT_MANAGER_SERVER_PORT } from '@hubspot/local-dev-lib/constants/ports';
13
- import { accessTokenForPersonalAccessKey, authorizedScopesForPortalAndUser, scopesOnAccessToken, } from '@hubspot/local-dev-lib/personalAccessKey';
14
- import { isSpecifiedError } from '@hubspot/local-dev-lib/errors/index';
15
- import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
16
- import { uiCommandReference } from '../ui/index.js';
17
- import pkg from '../../package.json' with { type: 'json' };
18
- import { i18n } from '../lang.js';
19
- import { uiLink } from '../ui/index.js';
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.Doctor = void 0;
7
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
8
+ const config_1 = require("@hubspot/local-dev-lib/config");
9
+ const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
10
+ const dependencyManagement_1 = require("../dependencyManagement");
11
+ const npm_1 = require("../npm");
12
+ const util_1 = __importDefault(require("util"));
13
+ const fs_1 = __importDefault(require("fs"));
14
+ const path_1 = __importDefault(require("path"));
15
+ const Diagnosis_1 = require("./Diagnosis");
16
+ const DiagnosticInfoBuilder_1 = require("./DiagnosticInfoBuilder");
17
+ const portManager_1 = require("@hubspot/local-dev-lib/portManager");
18
+ const ports_1 = require("@hubspot/local-dev-lib/constants/ports");
19
+ const personalAccessKey_1 = require("@hubspot/local-dev-lib/personalAccessKey");
20
+ const index_1 = require("@hubspot/local-dev-lib/errors/index");
21
+ const urls_1 = require("@hubspot/local-dev-lib/urls");
22
+ const ui_1 = require("../ui");
23
+ const package_json_1 = __importDefault(require("../../package.json"));
24
+ const lang_1 = require("../lang");
25
+ const ui_2 = require("../ui");
20
26
  const minMajorNodeVersion = 18;
21
- export class Doctor {
27
+ class Doctor {
22
28
  accountId;
23
29
  diagnosis;
24
30
  projectConfig;
25
31
  diagnosticInfo;
26
32
  diagnosticInfoBuilder;
27
- constructor(diagnosticInfoBuilder = new DiagnosticInfoBuilder(process)) {
28
- SpinniesManager.init();
29
- this.accountId = getAccountId();
33
+ constructor(diagnosticInfoBuilder = new DiagnosticInfoBuilder_1.DiagnosticInfoBuilder(process)) {
34
+ SpinniesManager_1.default.init();
35
+ this.accountId = (0, config_1.getAccountId)();
30
36
  this.diagnosticInfoBuilder = diagnosticInfoBuilder;
31
37
  }
32
38
  async diagnose() {
33
- SpinniesManager.add('runningDiagnostics', {
34
- text: i18n(`lib.doctor.runningDiagnostics`),
39
+ SpinniesManager_1.default.add('runningDiagnostics', {
40
+ text: (0, lang_1.i18n)(`lib.doctor.runningDiagnostics`),
35
41
  });
36
42
  this.diagnosticInfo =
37
43
  await this.diagnosticInfoBuilder.generateDiagnosticInfo();
38
44
  this.projectConfig = this.diagnosticInfo?.project.config;
39
- this.diagnosis = new Diagnosis({
45
+ this.diagnosis = new Diagnosis_1.Diagnosis({
40
46
  diagnosticInfo: this.diagnosticInfo,
41
47
  accountId: this.accountId,
42
48
  });
@@ -47,8 +53,8 @@ export class Doctor {
47
53
  ]);
48
54
  this.performDefaultAccountOverrideFileChecks();
49
55
  this.performCliConfigSettingsChecks();
50
- SpinniesManager.succeed('runningDiagnostics', {
51
- text: i18n(`lib.doctor.diagnosticsComplete`),
56
+ SpinniesManager_1.default.succeed('runningDiagnostics', {
57
+ text: (0, lang_1.i18n)(`lib.doctor.diagnosticsComplete`),
52
58
  succeedColor: 'white',
53
59
  });
54
60
  this.diagnosticInfo.diagnosis = this.diagnosis.toString();
@@ -74,9 +80,9 @@ export class Doctor {
74
80
  if (!this.diagnosticInfo?.config) {
75
81
  this.diagnosis?.addCLIConfigSection({
76
82
  type: 'error',
77
- message: i18n(`lib.doctor.diagnosis.cliConfig.noConfigFile`),
78
- secondaryMessaging: i18n(`lib.doctor.diagnosis.cliConfig.noConfigFileSecondary`, {
79
- command: uiCommandReference('hs init'),
83
+ message: (0, lang_1.i18n)(`lib.doctor.diagnosis.cliConfig.noConfigFile`),
84
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.diagnosis.cliConfig.noConfigFileSecondary`, {
85
+ command: (0, ui_1.uiCommandReference)('hs init'),
80
86
  }),
81
87
  });
82
88
  return [];
@@ -87,14 +93,14 @@ export class Doctor {
87
93
  if (this.diagnosticInfo?.defaultAccountOverrideFile) {
88
94
  this.diagnosis?.addDefaultAccountOverrideFileSection({
89
95
  type: 'warning',
90
- message: i18n(`lib.doctor.defaultAccountOverrideFileChecks.overrideActive`, {
96
+ message: (0, lang_1.i18n)(`lib.doctor.defaultAccountOverrideFileChecks.overrideActive`, {
91
97
  defaultAccountOverrideFile: this.diagnosticInfo.defaultAccountOverrideFile,
92
98
  }),
93
99
  });
94
100
  this.diagnosis?.addDefaultAccountOverrideFileSection({
95
101
  type: 'warning',
96
- message: i18n(`lib.doctor.defaultAccountOverrideFileChecks.overrideAccountId`, {
97
- overrideAccountId: getCWDAccountOverride(),
102
+ message: (0, lang_1.i18n)(`lib.doctor.defaultAccountOverrideFileChecks.overrideAccountId`, {
103
+ overrideAccountId: (0, config_1.getCWDAccountOverride)(),
98
104
  }),
99
105
  });
100
106
  }
@@ -103,27 +109,27 @@ export class Doctor {
103
109
  if (this.diagnosticInfo?.configSettings.httpUseLocalhost) {
104
110
  this.diagnosis?.addCLIConfigSection({
105
111
  type: 'warning',
106
- message: i18n(`lib.doctor.diagnosis.cliConfig.settings.httpUseLocalhost`),
107
- secondaryMessaging: i18n(`lib.doctor.diagnosis.cliConfig.settings.httpUseLocalhostSecondary`),
112
+ message: (0, lang_1.i18n)(`lib.doctor.diagnosis.cliConfig.settings.httpUseLocalhost`),
113
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.diagnosis.cliConfig.settings.httpUseLocalhostSecondary`),
108
114
  });
109
115
  }
110
116
  }
111
117
  async checkIfAccessTokenValid() {
112
118
  try {
113
- await accessTokenForPersonalAccessKey(this.accountId, true);
114
- const pakScopes = new Set(await scopesOnAccessToken(this.accountId));
115
- const missingScopes = (await authorizedScopesForPortalAndUser(this.accountId)).filter((data) => data.userAuthorized && !pakScopes.has(data.scopeGroup.name));
119
+ await (0, personalAccessKey_1.accessTokenForPersonalAccessKey)(this.accountId, true);
120
+ const pakScopes = new Set(await (0, personalAccessKey_1.scopesOnAccessToken)(this.accountId));
121
+ const missingScopes = (await (0, personalAccessKey_1.authorizedScopesForPortalAndUser)(this.accountId)).filter((data) => data.userAuthorized && !pakScopes.has(data.scopeGroup.name));
116
122
  this.diagnosis?.addCLIConfigSection({
117
123
  type: 'success',
118
- message: i18n(`lib.doctor.accountChecks.active`),
124
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.active`),
119
125
  });
120
- const linkToPakUI = uiLink(i18n(`lib.doctor.accountChecks.pak.viewScopes`), `${getHubSpotWebsiteOrigin(this.diagnosticInfoBuilder?.env || 'PROD')}/personal-access-key/${this.diagnosticInfo?.account.accountId}`);
126
+ const linkToPakUI = (0, ui_2.uiLink)((0, lang_1.i18n)(`lib.doctor.accountChecks.pak.viewScopes`), `${(0, urls_1.getHubSpotWebsiteOrigin)(this.diagnosticInfoBuilder?.env || 'PROD')}/personal-access-key/${this.diagnosticInfo?.account.accountId}`);
121
127
  if (missingScopes.length > 0) {
122
128
  this.diagnosis?.addCLIConfigSection({
123
129
  type: 'warning',
124
- message: i18n(`lib.doctor.accountChecks.pak.incomplete`),
125
- secondaryMessaging: i18n(`lib.doctor.accountChecks.pak.incompleteSecondary`, {
126
- command: uiCommandReference(`hs auth`),
130
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.pak.incomplete`),
131
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.accountChecks.pak.incompleteSecondary`, {
132
+ command: (0, ui_1.uiCommandReference)(`hs auth`),
127
133
  link: linkToPakUI,
128
134
  }),
129
135
  });
@@ -131,19 +137,19 @@ export class Doctor {
131
137
  else {
132
138
  this.diagnosis?.addCLIConfigSection({
133
139
  type: 'success',
134
- message: i18n(`lib.doctor.accountChecks.pak.valid`, {
140
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.pak.valid`, {
135
141
  link: linkToPakUI,
136
142
  }),
137
143
  });
138
144
  }
139
145
  }
140
146
  catch (error) {
141
- const portalNotActive = isSpecifiedError(error, {
147
+ const portalNotActive = (0, index_1.isSpecifiedError)(error, {
142
148
  statusCode: 401,
143
149
  category: 'INVALID_AUTHENTICATION',
144
150
  subCategory: 'LocalDevAuthErrorType.PORTAL_NOT_ACTIVE',
145
151
  }) ||
146
- isSpecifiedError(error, {
152
+ (0, index_1.isSpecifiedError)(error, {
147
153
  statusCode: 404,
148
154
  category: 'INVALID_AUTHENTICATION',
149
155
  subCategory: 'LocalDevAuthErrorType.INVALID_PORTAL_ID',
@@ -151,33 +157,33 @@ export class Doctor {
151
157
  if (portalNotActive) {
152
158
  this.diagnosis?.addCLIConfigSection({
153
159
  type: 'error',
154
- message: i18n(`lib.doctor.accountChecks.inactive`),
155
- secondaryMessaging: i18n(`lib.doctor.accountChecks.inactiveSecondary`, {
156
- command: uiCommandReference(`hs accounts clean`),
160
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.inactive`),
161
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.accountChecks.inactiveSecondary`, {
162
+ command: (0, ui_1.uiCommandReference)(`hs accounts clean`),
157
163
  }),
158
164
  });
159
165
  }
160
- else if (isSpecifiedError(error, {
166
+ else if ((0, index_1.isSpecifiedError)(error, {
161
167
  statusCode: 401,
162
168
  category: 'INVALID_AUTHENTICATION',
163
169
  subCategory: 'LocalDevAuthErrorType.FAILED_TO_SIGN_REFRESH_TOKEN_DECODE',
164
170
  })) {
165
171
  this.diagnosis?.addCLIConfigSection({
166
172
  type: 'success',
167
- message: i18n(`lib.doctor.accountChecks.active`),
173
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.active`),
168
174
  });
169
175
  this.diagnosis?.addCLIConfigSection({
170
176
  type: 'error',
171
- message: i18n(`lib.doctor.accountChecks.pak.invalid`),
172
- secondaryMessaging: i18n(`lib.doctor.accountChecks.pak.invalidSecondary`, {
173
- command: uiCommandReference(`hs auth`),
177
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.pak.invalid`),
178
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.accountChecks.pak.invalidSecondary`, {
179
+ command: (0, ui_1.uiCommandReference)(`hs auth`),
174
180
  }),
175
181
  });
176
182
  }
177
183
  else {
178
184
  this.diagnosis?.addCLIConfigSection({
179
185
  type: 'error',
180
- message: i18n(`lib.doctor.accountChecks.unableToDetermine`),
186
+ message: (0, lang_1.i18n)(`lib.doctor.accountChecks.unableToDetermine`),
181
187
  });
182
188
  }
183
189
  }
@@ -186,7 +192,7 @@ export class Doctor {
186
192
  if (!this.diagnosticInfo?.versions.node) {
187
193
  return this.diagnosis?.addCliSection({
188
194
  type: 'error',
189
- message: i18n(`lib.doctor.nodeChecks.unableToDetermine`),
195
+ message: (0, lang_1.i18n)(`lib.doctor.nodeChecks.unableToDetermine`),
190
196
  });
191
197
  }
192
198
  const nodeVersion = this.diagnosticInfo?.versions.node?.split('.');
@@ -194,14 +200,14 @@ export class Doctor {
194
200
  if (!currentNodeMajor || parseInt(currentNodeMajor) < minMajorNodeVersion) {
195
201
  return this.diagnosis?.addCliSection({
196
202
  type: 'warning',
197
- message: i18n(`lib.doctor.nodeChecks.minimumNotMet`, {
203
+ message: (0, lang_1.i18n)(`lib.doctor.nodeChecks.minimumNotMet`, {
198
204
  nodeVersion: this.diagnosticInfo?.versions.node,
199
205
  }),
200
206
  });
201
207
  }
202
208
  this.diagnosis?.addCliSection({
203
209
  type: 'success',
204
- message: i18n(`lib.doctor.nodeChecks.success`, {
210
+ message: (0, lang_1.i18n)(`lib.doctor.nodeChecks.success`, {
205
211
  nodeVersion: this.diagnosticInfo?.versions.node,
206
212
  }),
207
213
  });
@@ -211,12 +217,12 @@ export class Doctor {
211
217
  if (!npmVersion) {
212
218
  return this.diagnosis?.addCliSection({
213
219
  type: 'error',
214
- message: i18n(`lib.doctor.npmChecks.notInstalled`),
220
+ message: (0, lang_1.i18n)(`lib.doctor.npmChecks.notInstalled`),
215
221
  });
216
222
  }
217
223
  this.diagnosis?.addCliSection({
218
224
  type: 'success',
219
- message: i18n(`lib.doctor.npmChecks.installed`, {
225
+ message: (0, lang_1.i18n)(`lib.doctor.npmChecks.installed`, {
220
226
  npmVersion,
221
227
  }),
222
228
  });
@@ -225,38 +231,38 @@ export class Doctor {
225
231
  let latestCLIVersion;
226
232
  let nextCliVersion;
227
233
  try {
228
- const { latest, next } = await getLatestCliVersion();
234
+ const { latest, next } = await (0, npm_1.getLatestCliVersion)();
229
235
  latestCLIVersion = latest;
230
236
  nextCliVersion = next;
231
237
  }
232
238
  catch (e) {
233
239
  return this.diagnosis?.addCliSection({
234
240
  type: 'error',
235
- message: i18n(`lib.doctor.hsChecks.unableToDetermine`),
236
- secondaryMessaging: i18n(`lib.doctor.hsChecks.unableToDetermineSecondary`, {
237
- command: uiCommandReference(`hs --version`),
238
- link: uiLink(i18n(`lib.doctor.hsChecks.unableToDetermineSecondaryLink`), `https://www.npmjs.com/package/${pkg.name}?activeTab=versions`),
241
+ message: (0, lang_1.i18n)(`lib.doctor.hsChecks.unableToDetermine`),
242
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.hsChecks.unableToDetermineSecondary`, {
243
+ command: (0, ui_1.uiCommandReference)(`hs --version`),
244
+ link: (0, ui_2.uiLink)((0, lang_1.i18n)(`lib.doctor.hsChecks.unableToDetermineSecondaryLink`), `https://www.npmjs.com/package/${package_json_1.default.name}?activeTab=versions`),
239
245
  }),
240
246
  });
241
247
  }
242
- if (latestCLIVersion !== pkg.version && nextCliVersion !== pkg.version) {
243
- const onNextTag = pkg.version.includes('beta');
248
+ if (latestCLIVersion !== package_json_1.default.version && nextCliVersion !== package_json_1.default.version) {
249
+ const onNextTag = package_json_1.default.version.includes('beta');
244
250
  this.diagnosis?.addCliSection({
245
251
  type: 'warning',
246
- message: i18n(`lib.doctor.hsChecks.notLatest`, {
247
- hsVersion: pkg.version,
252
+ message: (0, lang_1.i18n)(`lib.doctor.hsChecks.notLatest`, {
253
+ hsVersion: package_json_1.default.version,
248
254
  }),
249
- secondaryMessaging: i18n(`lib.doctor.hsChecks.notLatestSecondary`, {
255
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.hsChecks.notLatestSecondary`, {
250
256
  hsVersion: onNextTag ? nextCliVersion : latestCLIVersion,
251
- command: uiCommandReference(`npm install -g ${pkg.name}`),
257
+ command: (0, ui_1.uiCommandReference)(`npm install -g ${package_json_1.default.name}`),
252
258
  }),
253
259
  });
254
260
  }
255
261
  else {
256
262
  this.diagnosis?.addCliSection({
257
263
  type: 'success',
258
- message: i18n(`lib.doctor.hsChecks.latest`, {
259
- hsVersion: pkg.version,
264
+ message: (0, lang_1.i18n)(`lib.doctor.hsChecks.latest`, {
265
+ hsVersion: package_json_1.default.version,
260
266
  }),
261
267
  });
262
268
  }
@@ -264,18 +270,18 @@ export class Doctor {
264
270
  async checkIfNpmInstallRequired() {
265
271
  let foundError = false;
266
272
  for (const packageFile of this.diagnosticInfo?.packageFiles || []) {
267
- const packageDirName = path.dirname(packageFile);
273
+ const packageDirName = path_1.default.dirname(packageFile);
268
274
  try {
269
- const needsInstall = await hasMissingPackages(path.join(this.projectConfig?.projectDir || '', packageDirName));
275
+ const needsInstall = await (0, dependencyManagement_1.hasMissingPackages)(path_1.default.join(this.projectConfig?.projectDir || '', packageDirName));
270
276
  if (needsInstall) {
271
277
  foundError = true;
272
278
  this.diagnosis?.addProjectSection({
273
279
  type: 'warning',
274
- message: i18n(`lib.doctor.projectDependenciesChecks.missingDependencies`, {
280
+ message: (0, lang_1.i18n)(`lib.doctor.projectDependenciesChecks.missingDependencies`, {
275
281
  dir: packageDirName,
276
282
  }),
277
- secondaryMessaging: i18n(`lib.doctor.projectDependenciesChecks.missingDependenciesSecondary`, {
278
- command: uiCommandReference('hs project install-deps'),
283
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.projectDependenciesChecks.missingDependenciesSecondary`, {
284
+ command: (0, ui_1.uiCommandReference)('hs project install-deps'),
279
285
  }),
280
286
  });
281
287
  }
@@ -285,7 +291,7 @@ export class Doctor {
285
291
  if (!(await this.isValidJsonFile(packageFile))) {
286
292
  this.diagnosis?.addProjectSection({
287
293
  type: 'error',
288
- message: i18n(`lib.doctor.files.invalidJson`, {
294
+ message: (0, lang_1.i18n)(`lib.doctor.files.invalidJson`, {
289
295
  filename: packageFile,
290
296
  }),
291
297
  });
@@ -293,24 +299,24 @@ export class Doctor {
293
299
  else {
294
300
  this.diagnosis?.addProjectSection({
295
301
  type: 'error',
296
- message: i18n(`lib.doctor.projectDependenciesChecks.unableToDetermine`, {
302
+ message: (0, lang_1.i18n)(`lib.doctor.projectDependenciesChecks.unableToDetermine`, {
297
303
  dir: packageDirName,
298
304
  }),
299
305
  });
300
306
  }
301
- logger.debug(e);
307
+ logger_1.logger.debug(e);
302
308
  }
303
309
  }
304
310
  if (!foundError) {
305
311
  this.diagnosis?.addProjectSection({
306
312
  type: 'success',
307
- message: i18n(`lib.doctor.projectDependenciesChecks.success`),
313
+ message: (0, lang_1.i18n)(`lib.doctor.projectDependenciesChecks.success`),
308
314
  });
309
315
  }
310
316
  }
311
317
  async isValidJsonFile(filename) {
312
318
  try {
313
- const readFile = util.promisify(fs.readFile);
319
+ const readFile = util_1.default.promisify(fs_1.default.readFile);
314
320
  const fileContents = await readFile(filename);
315
321
  JSON.parse(fileContents.toString());
316
322
  }
@@ -322,12 +328,12 @@ export class Doctor {
322
328
  async checkProjectConfigJsonFiles() {
323
329
  let foundError = false;
324
330
  for (const jsonFile of this.diagnosticInfo?.jsonFiles || []) {
325
- const fileToCheck = path.join(this.projectConfig?.projectDir || '', jsonFile);
331
+ const fileToCheck = path_1.default.join(this.projectConfig?.projectDir || '', jsonFile);
326
332
  if (!(await this.isValidJsonFile(fileToCheck))) {
327
333
  foundError = true;
328
334
  this.diagnosis?.addProjectSection({
329
335
  type: 'error',
330
- message: i18n(`lib.doctor.files.invalidJson`, {
336
+ message: (0, lang_1.i18n)(`lib.doctor.files.invalidJson`, {
331
337
  filename: jsonFile,
332
338
  }),
333
339
  });
@@ -336,28 +342,29 @@ export class Doctor {
336
342
  if (!foundError) {
337
343
  this.diagnosis?.addProjectSection({
338
344
  type: 'success',
339
- message: i18n(`lib.doctor.files.validJson`),
345
+ message: (0, lang_1.i18n)(`lib.doctor.files.validJson`),
340
346
  });
341
347
  }
342
348
  }
343
349
  async checkIfPortsAreAvailable() {
344
- if (await isPortManagerPortAvailable()) {
350
+ if (await (0, portManager_1.isPortManagerPortAvailable)()) {
345
351
  this.diagnosis?.addProjectSection({
346
352
  type: 'success',
347
- message: i18n(`lib.doctor.port.available`, {
348
- port: PORT_MANAGER_SERVER_PORT,
353
+ message: (0, lang_1.i18n)(`lib.doctor.port.available`, {
354
+ port: ports_1.PORT_MANAGER_SERVER_PORT,
349
355
  }),
350
356
  });
351
357
  return;
352
358
  }
353
359
  this.diagnosis?.addProjectSection({
354
360
  type: 'warning',
355
- message: i18n(`lib.doctor.port.inUse`, {
356
- port: PORT_MANAGER_SERVER_PORT,
361
+ message: (0, lang_1.i18n)(`lib.doctor.port.inUse`, {
362
+ port: ports_1.PORT_MANAGER_SERVER_PORT,
357
363
  }),
358
- secondaryMessaging: i18n(`lib.doctor.port.inUseSecondary`, {
359
- command: uiCommandReference('hs project dev'),
364
+ secondaryMessaging: (0, lang_1.i18n)(`lib.doctor.port.inUseSecondary`, {
365
+ command: (0, ui_1.uiCommandReference)('hs project dev'),
360
366
  }),
361
367
  });
362
368
  }
363
369
  }
370
+ exports.Doctor = Doctor;
@@ -1,8 +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 });
1
6
  vi.mock('@hubspot/local-dev-lib/config');
2
- import { Diagnosis } from '../Diagnosis.js';
3
- import { getAccountConfig as __getAccountConfig } from '@hubspot/local-dev-lib/config';
4
- import stripAnsi from 'strip-ansi';
5
- const getAccountConfig = __getAccountConfig;
7
+ const Diagnosis_1 = require("../Diagnosis");
8
+ const config_1 = require("@hubspot/local-dev-lib/config");
9
+ const strip_ansi_1 = __importDefault(require("strip-ansi"));
10
+ const getAccountConfig = config_1.getAccountConfig;
6
11
  describe('lib/doctor/Diagnosis', () => {
7
12
  const diagnosticInfo = {
8
13
  account: {},
@@ -38,12 +43,12 @@ describe('lib/doctor/Diagnosis', () => {
38
43
  });
39
44
  describe('toString', () => {
40
45
  it('should return an empty diagnosis when no sections have been added', () => {
41
- const diagnosis = new Diagnosis({ diagnosticInfo, accountId });
46
+ const diagnosis = new Diagnosis_1.Diagnosis({ diagnosticInfo, accountId });
42
47
  const output = diagnosis.toString();
43
48
  expect(output).toEqual('');
44
49
  });
45
50
  it('should generate the diagnosis output', () => {
46
- const diagnosis = new Diagnosis({ diagnosticInfo, accountId });
51
+ const diagnosis = new Diagnosis_1.Diagnosis({ diagnosticInfo, accountId });
47
52
  const cliMessage = 'Important CLI Message';
48
53
  const cliSecondaryMessage = 'The CLI Section is Showing';
49
54
  diagnosis.addCliSection({
@@ -65,10 +70,10 @@ describe('lib/doctor/Diagnosis', () => {
65
70
  message: projectMessage,
66
71
  secondaryMessaging: projectSecondaryMessage,
67
72
  });
68
- expect(stripAnsi(diagnosis.toString())).toMatchSnapshot();
73
+ expect((0, strip_ansi_1.default)(diagnosis.toString())).toMatchSnapshot();
69
74
  });
70
75
  it('should generate categories that have sections', () => {
71
- const diagnosis = new Diagnosis({ diagnosticInfo, accountId });
76
+ const diagnosis = new Diagnosis_1.Diagnosis({ diagnosticInfo, accountId });
72
77
  const cliMessage = 'Important CLI Message';
73
78
  const cliSecondaryMessage = 'The CLI Section is Showing';
74
79
  diagnosis.addCliSection({
@@ -76,7 +81,7 @@ describe('lib/doctor/Diagnosis', () => {
76
81
  message: cliMessage,
77
82
  secondaryMessaging: cliSecondaryMessage,
78
83
  });
79
- expect(stripAnsi(diagnosis.toString())).toMatchSnapshot();
84
+ expect((0, strip_ansi_1.default)(diagnosis.toString())).toMatchSnapshot();
80
85
  });
81
86
  });
82
87
  });
@@ -1,36 +1,41 @@
1
- import util from 'util';
2
- import { vi } from 'vitest';
3
- vi.mock('@hubspot/local-dev-lib/fs');
4
- vi.mock('@hubspot/local-dev-lib/config');
5
- vi.mock('@hubspot/local-dev-lib/personalAccessKey');
6
- vi.mock('../../projects/config');
7
- vi.mock('@hubspot/local-dev-lib/api/projects');
8
- vi.mock('util');
9
- vi.mock('../../../package.json', () => {
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
+ const util_1 = __importDefault(require("util"));
7
+ const vitest_1 = require("vitest");
8
+ vitest_1.vi.mock('@hubspot/local-dev-lib/fs');
9
+ vitest_1.vi.mock('@hubspot/local-dev-lib/config');
10
+ vitest_1.vi.mock('@hubspot/local-dev-lib/personalAccessKey');
11
+ vitest_1.vi.mock('../../projects/config');
12
+ vitest_1.vi.mock('@hubspot/local-dev-lib/api/projects');
13
+ vitest_1.vi.mock('util');
14
+ vitest_1.vi.mock('../../../package.json', () => {
10
15
  return {
11
16
  default: {
12
17
  version: '1.0.0',
13
18
  },
14
19
  };
15
20
  });
16
- import { DiagnosticInfoBuilder, } from '../DiagnosticInfoBuilder.js';
17
- import { getAccountId as _getAccountId, getAccountConfig as _getAccountConfig, getConfigPath as _getConfigPath, getDefaultAccountOverrideFilePath as _getDefaultAccountOverrideFilePath, isConfigFlagEnabled as _isConfigFlagEnabled, } from '@hubspot/local-dev-lib/config';
18
- import { getAccessToken as _getAccessToken } from '@hubspot/local-dev-lib/personalAccessKey';
19
- import { walk as _walk } from '@hubspot/local-dev-lib/fs';
20
- import { getProjectConfig as _getProjectConfig } from '../../projects/config.js';
21
- import { fetchProject as _fetchProject } from '@hubspot/local-dev-lib/api/projects';
22
- const walk = _walk;
23
- const getAccessToken = _getAccessToken;
24
- const getAccountConfig = _getAccountConfig;
25
- const getConfigPath = _getConfigPath;
26
- const getDefaultAccountOverrideFilePath = _getDefaultAccountOverrideFilePath;
27
- const getAccountId = _getAccountId;
28
- const getProjectConfig = _getProjectConfig;
29
- const isConfigFlagEnabled = _isConfigFlagEnabled;
30
- const fetchProject = _fetchProject;
31
- const mockPromisifyImpl = vi.fn();
32
- const utilPromisify = vi.fn(() => mockPromisifyImpl);
33
- util.promisify = utilPromisify;
21
+ const DiagnosticInfoBuilder_1 = require("../DiagnosticInfoBuilder");
22
+ const config_1 = require("@hubspot/local-dev-lib/config");
23
+ const personalAccessKey_1 = require("@hubspot/local-dev-lib/personalAccessKey");
24
+ const fs_1 = require("@hubspot/local-dev-lib/fs");
25
+ const config_2 = require("../../projects/config");
26
+ const projects_1 = require("@hubspot/local-dev-lib/api/projects");
27
+ const walk = fs_1.walk;
28
+ const getAccessToken = personalAccessKey_1.getAccessToken;
29
+ const getAccountConfig = config_1.getAccountConfig;
30
+ const getConfigPath = config_1.getConfigPath;
31
+ const getDefaultAccountOverrideFilePath = config_1.getDefaultAccountOverrideFilePath;
32
+ const getAccountId = config_1.getAccountId;
33
+ const getProjectConfig = config_2.getProjectConfig;
34
+ const isConfigFlagEnabled = config_1.isConfigFlagEnabled;
35
+ const fetchProject = projects_1.fetchProject;
36
+ const mockPromisifyImpl = vitest_1.vi.fn();
37
+ const utilPromisify = vitest_1.vi.fn(() => mockPromisifyImpl);
38
+ util_1.default.promisify = utilPromisify;
34
39
  describe('lib/doctor/DiagnosticInfo', () => {
35
40
  const accountId = 898989;
36
41
  const accountConfig = {
@@ -78,7 +83,7 @@ describe('lib/doctor/DiagnosticInfo', () => {
78
83
  mockPromisifyImpl.mockResolvedValue(npmVersion);
79
84
  });
80
85
  it('should initialize the required state on creation', () => {
81
- const builder = new DiagnosticInfoBuilder(processInfo);
86
+ const builder = new DiagnosticInfoBuilder_1.DiagnosticInfoBuilder(processInfo);
82
87
  expect(getAccountId).toHaveBeenCalledTimes(1);
83
88
  expect(getAccountConfig).toHaveBeenCalledTimes(1);
84
89
  expect(builder.accountId).toEqual(accountId);
@@ -94,7 +99,7 @@ describe('lib/doctor/DiagnosticInfo', () => {
94
99
  let projectDetails;
95
100
  let accessToken;
96
101
  beforeEach(() => {
97
- builder = new DiagnosticInfoBuilder(processInfo);
102
+ builder = new DiagnosticInfoBuilder_1.DiagnosticInfoBuilder(processInfo);
98
103
  projectConfig = {
99
104
  projectDir,
100
105
  projectConfig: {