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

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