@hubspot/cli 7.6.0-beta.4 → 7.6.0-beta.6

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 (587) hide show
  1. package/api/__tests__/migrate.test.js +27 -29
  2. package/api/migrate.d.ts +7 -0
  3. package/api/migrate.js +22 -22
  4. package/bin/cli.js +92 -97
  5. package/bin/hs +2 -2
  6. package/bin/hscms +2 -2
  7. package/bin/silenceErrors.js +1 -2
  8. package/commands/__tests__/account.test.js +29 -34
  9. package/commands/__tests__/auth.test.js +11 -16
  10. package/commands/__tests__/cms.test.js +15 -20
  11. package/commands/__tests__/config.test.js +14 -19
  12. package/commands/__tests__/create.test.js +10 -15
  13. package/commands/__tests__/customObject.test.js +14 -19
  14. package/commands/__tests__/doctor.test.js +43 -48
  15. package/commands/__tests__/feedback.test.js +7 -45
  16. package/commands/__tests__/fetch.test.js +29 -28
  17. package/commands/__tests__/filemanager.test.js +14 -19
  18. package/commands/__tests__/function.test.js +16 -21
  19. package/commands/__tests__/getStarted.test.js +45 -60
  20. package/commands/__tests__/hubdb.test.js +17 -22
  21. package/commands/__tests__/init.test.js +12 -17
  22. package/commands/__tests__/lint.test.js +13 -18
  23. package/commands/__tests__/list.test.js +18 -23
  24. package/commands/__tests__/logs.test.js +28 -27
  25. package/commands/__tests__/mcp.test.js +14 -19
  26. package/commands/__tests__/mv.test.js +14 -52
  27. package/commands/__tests__/open.test.js +13 -51
  28. package/commands/__tests__/project.test.js +44 -49
  29. package/commands/__tests__/remove.test.js +13 -51
  30. package/commands/__tests__/sandbox.test.js +14 -19
  31. package/commands/__tests__/secret.test.js +16 -21
  32. package/commands/__tests__/testAccount.test.js +16 -21
  33. package/commands/__tests__/theme.test.js +15 -20
  34. package/commands/account/__tests__/auth.test.js +11 -16
  35. package/commands/account/__tests__/clean.test.js +12 -17
  36. package/commands/account/__tests__/createOverride.test.js +10 -15
  37. package/commands/account/__tests__/info.test.js +11 -16
  38. package/commands/account/__tests__/list.test.js +11 -16
  39. package/commands/account/__tests__/remove.test.js +13 -18
  40. package/commands/account/__tests__/removeOverride.js +8 -13
  41. package/commands/account/__tests__/rename.test.js +15 -20
  42. package/commands/account/__tests__/use.test.js +10 -15
  43. package/commands/account/auth.d.ts +1 -1
  44. package/commands/account/auth.js +78 -69
  45. package/commands/account/clean.d.ts +1 -1
  46. package/commands/account/clean.js +55 -60
  47. package/commands/account/createOverride.d.ts +1 -1
  48. package/commands/account/createOverride.js +52 -57
  49. package/commands/account/info.d.ts +1 -1
  50. package/commands/account/info.js +33 -35
  51. package/commands/account/list.d.ts +1 -1
  52. package/commands/account/list.js +43 -45
  53. package/commands/account/remove.d.ts +1 -1
  54. package/commands/account/remove.js +37 -42
  55. package/commands/account/removeOverride.d.ts +1 -1
  56. package/commands/account/removeOverride.js +38 -43
  57. package/commands/account/rename.d.ts +1 -1
  58. package/commands/account/rename.js +18 -20
  59. package/commands/account/use.d.ts +1 -1
  60. package/commands/account/use.js +29 -31
  61. package/commands/account.d.ts +1 -1
  62. package/commands/account.js +23 -28
  63. package/commands/app/__tests__/migrate.test.js +29 -34
  64. package/commands/app/migrate.d.ts +2 -2
  65. package/commands/app/migrate.js +40 -43
  66. package/commands/app/secret/__tests__/add.test.js +6 -11
  67. package/commands/app/secret/__tests__/delete.test.js +6 -11
  68. package/commands/app/secret/__tests__/list.test.js +6 -11
  69. package/commands/app/secret/__tests__/update.test.js +6 -11
  70. package/commands/app/secret/add.d.ts +1 -1
  71. package/commands/app/secret/add.js +28 -30
  72. package/commands/app/secret/delete.d.ts +1 -1
  73. package/commands/app/secret/delete.js +34 -36
  74. package/commands/app/secret/list.d.ts +1 -1
  75. package/commands/app/secret/list.js +25 -27
  76. package/commands/app/secret/update.d.ts +1 -1
  77. package/commands/app/secret/update.js +32 -34
  78. package/commands/app/secret.d.ts +1 -1
  79. package/commands/app/secret.js +12 -17
  80. package/commands/app.d.ts +1 -1
  81. package/commands/app.js +6 -11
  82. package/commands/auth.d.ts +1 -1
  83. package/commands/auth.js +70 -72
  84. package/commands/cms/convertFields.d.ts +1 -1
  85. package/commands/cms/convertFields.js +34 -39
  86. package/commands/cms/getReactModule.d.ts +1 -1
  87. package/commands/cms/getReactModule.js +32 -37
  88. package/commands/cms/lighthouseScore.d.ts +1 -1
  89. package/commands/cms/lighthouseScore.js +67 -72
  90. package/commands/cms.d.ts +1 -1
  91. package/commands/cms.js +11 -16
  92. package/commands/completion.d.ts +1 -1
  93. package/commands/completion.js +10 -15
  94. package/commands/config/migrate.d.ts +1 -1
  95. package/commands/config/migrate.js +27 -32
  96. package/commands/config/set.d.ts +2 -1
  97. package/commands/config/set.js +40 -32
  98. package/commands/config.d.ts +1 -1
  99. package/commands/config.js +8 -13
  100. package/commands/create/api-sample.d.ts +1 -1
  101. package/commands/create/api-sample.js +28 -33
  102. package/commands/create/app.d.ts +1 -1
  103. package/commands/create/app.js +3 -5
  104. package/commands/create/function.d.ts +1 -1
  105. package/commands/create/function.js +9 -11
  106. package/commands/create/index.d.ts +1 -1
  107. package/commands/create/index.js +19 -24
  108. package/commands/create/module.d.ts +1 -1
  109. package/commands/create/module.js +12 -14
  110. package/commands/create/react-app.d.ts +1 -1
  111. package/commands/create/react-app.js +3 -5
  112. package/commands/create/template.d.ts +1 -1
  113. package/commands/create/template.js +12 -14
  114. package/commands/create/vue-app.d.ts +1 -1
  115. package/commands/create/vue-app.js +3 -5
  116. package/commands/create/webpack-serverless.d.ts +1 -1
  117. package/commands/create/webpack-serverless.js +3 -5
  118. package/commands/create/website-theme.d.ts +1 -1
  119. package/commands/create/website-theme.js +5 -7
  120. package/commands/create.d.ts +2 -2
  121. package/commands/create.js +30 -35
  122. package/commands/customObject/__tests__/create.test.js +13 -18
  123. package/commands/customObject/__tests__/schema.test.js +18 -23
  124. package/commands/customObject/create.d.ts +1 -1
  125. package/commands/customObject/create.js +28 -30
  126. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  127. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  131. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  132. package/commands/customObject/schema/create.d.ts +1 -1
  133. package/commands/customObject/schema/create.js +28 -30
  134. package/commands/customObject/schema/delete.d.ts +1 -1
  135. package/commands/customObject/schema/delete.js +24 -26
  136. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  137. package/commands/customObject/schema/fetch-all.js +22 -24
  138. package/commands/customObject/schema/fetch.d.ts +1 -1
  139. package/commands/customObject/schema/fetch.js +24 -26
  140. package/commands/customObject/schema/list.d.ts +1 -1
  141. package/commands/customObject/schema/list.js +13 -15
  142. package/commands/customObject/schema/update.d.ts +1 -1
  143. package/commands/customObject/schema/update.js +32 -34
  144. package/commands/customObject/schema.d.ts +1 -1
  145. package/commands/customObject/schema.js +17 -22
  146. package/commands/customObject.d.ts +1 -1
  147. package/commands/customObject.js +13 -18
  148. package/commands/doctor.d.ts +1 -1
  149. package/commands/doctor.js +28 -33
  150. package/commands/feedback.d.ts +1 -1
  151. package/commands/feedback.js +19 -24
  152. package/commands/fetch.d.ts +1 -1
  153. package/commands/fetch.js +28 -30
  154. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  155. package/commands/filemanager/__tests__/upload.test.js +15 -20
  156. package/commands/filemanager/fetch.d.ts +1 -1
  157. package/commands/filemanager/fetch.js +23 -25
  158. package/commands/filemanager/upload.d.ts +1 -1
  159. package/commands/filemanager/upload.js +39 -44
  160. package/commands/filemanager.d.ts +1 -1
  161. package/commands/filemanager.js +8 -13
  162. package/commands/function/deploy.d.ts +1 -1
  163. package/commands/function/deploy.js +35 -40
  164. package/commands/function/list.d.ts +1 -1
  165. package/commands/function/list.js +24 -29
  166. package/commands/function/server.d.ts +1 -1
  167. package/commands/function/server.js +15 -17
  168. package/commands/function.d.ts +1 -1
  169. package/commands/function.js +12 -18
  170. package/commands/getStarted.d.ts +1 -1
  171. package/commands/getStarted.js +125 -146
  172. package/commands/hubdb/__tests__/clear.test.js +13 -18
  173. package/commands/hubdb/__tests__/create.test.js +13 -18
  174. package/commands/hubdb/__tests__/delete.test.js +13 -18
  175. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  176. package/commands/hubdb/__tests__/list.test.js +23 -28
  177. package/commands/hubdb/clear.d.ts +1 -1
  178. package/commands/hubdb/clear.js +20 -22
  179. package/commands/hubdb/create.d.ts +1 -1
  180. package/commands/hubdb/create.js +30 -35
  181. package/commands/hubdb/delete.d.ts +1 -1
  182. package/commands/hubdb/delete.js +24 -26
  183. package/commands/hubdb/fetch.d.ts +1 -1
  184. package/commands/hubdb/fetch.js +17 -19
  185. package/commands/hubdb/list.d.ts +1 -1
  186. package/commands/hubdb/list.js +33 -35
  187. package/commands/hubdb.d.ts +1 -1
  188. package/commands/hubdb.js +18 -24
  189. package/commands/init.d.ts +1 -1
  190. package/commands/init.js +83 -88
  191. package/commands/lint.d.ts +1 -1
  192. package/commands/lint.js +24 -26
  193. package/commands/list.d.ts +1 -1
  194. package/commands/list.js +32 -37
  195. package/commands/logs.d.ts +1 -1
  196. package/commands/logs.js +35 -37
  197. package/commands/mcp/__tests__/setup.test.js +7 -12
  198. package/commands/mcp/__tests__/start.test.js +7 -12
  199. package/commands/mcp/setup.d.ts +1 -1
  200. package/commands/mcp/setup.js +17 -19
  201. package/commands/mcp/start.d.ts +1 -1
  202. package/commands/mcp/start.js +32 -34
  203. package/commands/mcp.d.ts +1 -1
  204. package/commands/mcp.js +7 -12
  205. package/commands/module/marketplace-validate.d.ts +1 -1
  206. package/commands/module/marketplace-validate.js +21 -26
  207. package/commands/module.d.ts +1 -1
  208. package/commands/module.js +7 -13
  209. package/commands/mv.d.ts +1 -1
  210. package/commands/mv.js +20 -22
  211. package/commands/open.d.ts +1 -1
  212. package/commands/open.js +19 -21
  213. package/commands/project/__tests__/add.test.js +10 -15
  214. package/commands/project/__tests__/create.test.js +14 -19
  215. package/commands/project/__tests__/deploy.test.js +99 -141
  216. package/commands/project/__tests__/devUnifiedFlow.test.js +151 -155
  217. package/commands/project/__tests__/download.test.js +14 -19
  218. package/commands/project/__tests__/installDeps.test.js +32 -70
  219. package/commands/project/__tests__/listBuilds.test.js +14 -19
  220. package/commands/project/__tests__/logs.test.js +56 -94
  221. package/commands/project/__tests__/migrate.test.js +25 -30
  222. package/commands/project/__tests__/migrateApp.test.js +17 -22
  223. package/commands/project/__tests__/open.test.js +16 -21
  224. package/commands/project/__tests__/profile.test.js +14 -19
  225. package/commands/project/__tests__/upload.test.js +18 -23
  226. package/commands/project/__tests__/watch.test.js +14 -19
  227. package/commands/project/add.d.ts +1 -1
  228. package/commands/project/add.js +34 -36
  229. package/commands/project/cloneApp.d.ts +1 -1
  230. package/commands/project/cloneApp.js +67 -72
  231. package/commands/project/create.d.ts +2 -2
  232. package/commands/project/create.js +63 -68
  233. package/commands/project/deploy.d.ts +2 -2
  234. package/commands/project/deploy.js +83 -90
  235. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  236. package/commands/project/dev/deprecatedFlow.js +52 -58
  237. package/commands/project/dev/index.d.ts +1 -1
  238. package/commands/project/dev/index.js +44 -47
  239. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  240. package/commands/project/dev/unifiedFlow.js +69 -76
  241. package/commands/project/download.d.ts +1 -1
  242. package/commands/project/download.js +35 -40
  243. package/commands/project/installDeps.d.ts +1 -1
  244. package/commands/project/installDeps.js +29 -34
  245. package/commands/project/listBuilds.d.ts +1 -1
  246. package/commands/project/listBuilds.js +40 -45
  247. package/commands/project/logs.d.ts +1 -1
  248. package/commands/project/logs.js +52 -54
  249. package/commands/project/migrate.d.ts +1 -1
  250. package/commands/project/migrate.js +24 -26
  251. package/commands/project/migrateApp.d.ts +2 -2
  252. package/commands/project/migrateApp.js +18 -20
  253. package/commands/project/open.d.ts +1 -1
  254. package/commands/project/open.js +25 -30
  255. package/commands/project/profile/add.d.ts +1 -1
  256. package/commands/project/profile/add.js +68 -73
  257. package/commands/project/profile/delete.d.ts +1 -1
  258. package/commands/project/profile/delete.js +68 -61
  259. package/commands/project/profile.d.ts +1 -1
  260. package/commands/project/profile.js +9 -14
  261. package/commands/project/upload.d.ts +1 -1
  262. package/commands/project/upload.js +50 -55
  263. package/commands/project/validate.d.ts +1 -1
  264. package/commands/project/validate.js +36 -40
  265. package/commands/project/watch.d.ts +1 -1
  266. package/commands/project/watch.js +59 -61
  267. package/commands/project.d.ts +1 -1
  268. package/commands/project.js +38 -43
  269. package/commands/remove.d.ts +1 -1
  270. package/commands/remove.js +15 -17
  271. package/commands/sandbox/__tests__/create.test.js +222 -20
  272. package/commands/sandbox/__tests__/delete.test.js +15 -20
  273. package/commands/sandbox/create.d.ts +2 -2
  274. package/commands/sandbox/create.js +92 -79
  275. package/commands/sandbox/delete.d.ts +1 -1
  276. package/commands/sandbox/delete.js +94 -96
  277. package/commands/sandbox.d.ts +1 -1
  278. package/commands/sandbox.js +9 -14
  279. package/commands/secret/__tests__/addSecret.test.js +13 -18
  280. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  281. package/commands/secret/__tests__/listSecret.test.js +13 -18
  282. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  283. package/commands/secret/addSecret.d.ts +1 -1
  284. package/commands/secret/addSecret.js +26 -28
  285. package/commands/secret/deleteSecret.d.ts +1 -1
  286. package/commands/secret/deleteSecret.js +27 -29
  287. package/commands/secret/listSecret.d.ts +1 -1
  288. package/commands/secret/listSecret.js +19 -21
  289. package/commands/secret/updateSecret.d.ts +1 -1
  290. package/commands/secret/updateSecret.js +25 -27
  291. package/commands/secret.d.ts +1 -1
  292. package/commands/secret.js +13 -18
  293. package/commands/testAccount/__tests__/create.test.js +17 -22
  294. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  295. package/commands/testAccount/__tests__/delete.test.js +15 -20
  296. package/commands/testAccount/create.d.ts +1 -1
  297. package/commands/testAccount/create.js +63 -84
  298. package/commands/testAccount/createConfig.d.ts +1 -1
  299. package/commands/testAccount/createConfig.js +36 -41
  300. package/commands/testAccount/delete.d.ts +1 -1
  301. package/commands/testAccount/delete.js +17 -19
  302. package/commands/testAccount.d.ts +1 -1
  303. package/commands/testAccount.js +10 -15
  304. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  305. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  306. package/commands/theme/__tests__/preview.test.js +12 -17
  307. package/commands/theme/generate-selectors.d.ts +1 -1
  308. package/commands/theme/generate-selectors.js +23 -28
  309. package/commands/theme/marketplace-validate.d.ts +1 -1
  310. package/commands/theme/marketplace-validate.js +19 -24
  311. package/commands/theme/preview.d.ts +1 -1
  312. package/commands/theme/preview.js +60 -65
  313. package/commands/theme.d.ts +1 -1
  314. package/commands/theme.js +11 -16
  315. package/commands/upload.d.ts +1 -1
  316. package/commands/upload.js +77 -82
  317. package/commands/watch.d.ts +1 -1
  318. package/commands/watch.js +45 -51
  319. package/lang/en.d.ts +52 -25
  320. package/lang/en.js +421 -397
  321. package/lang/en.lyaml +4 -28
  322. package/lib/__tests__/accountTypes.test.js +20 -22
  323. package/lib/__tests__/buildAccount.test.js +115 -64
  324. package/lib/__tests__/commonOpts.test.js +20 -22
  325. package/lib/__tests__/dependencyManagement.test.js +46 -51
  326. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  327. package/lib/__tests__/hasFeature.test.js +6 -8
  328. package/lib/__tests__/npm.test.js +15 -20
  329. package/lib/__tests__/oauth.test.js +23 -28
  330. package/lib/__tests__/parsing.test.js +18 -20
  331. package/lib/__tests__/polling.test.js +24 -26
  332. package/lib/__tests__/process.test.js +14 -19
  333. package/lib/__tests__/projectProfiles.test.js +34 -39
  334. package/lib/__tests__/sandboxSync.test.js +30 -35
  335. package/lib/__tests__/sandboxes.test.js +29 -31
  336. package/lib/__tests__/serverlessLogs.test.js +8 -13
  337. package/lib/__tests__/usageTracking.test.js +33 -34
  338. package/lib/__tests__/validation.test.js +18 -20
  339. package/lib/__tests__/yargsUtils.test.js +17 -41
  340. package/lib/accountTypes.js +24 -34
  341. package/lib/app/__tests__/migrate.test.js +117 -109
  342. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  343. package/lib/app/migrate.d.ts +18 -4
  344. package/lib/app/migrate.js +152 -148
  345. package/lib/app/migrate_legacy.d.ts +1 -1
  346. package/lib/app/migrate_legacy.js +72 -78
  347. package/lib/app/urls.js +5 -9
  348. package/lib/buildAccount.d.ts +12 -3
  349. package/lib/buildAccount.js +165 -69
  350. package/lib/commonOpts.d.ts +1 -1
  351. package/lib/commonOpts.js +67 -59
  352. package/lib/configMigrate.js +34 -38
  353. package/lib/configOptions.d.ts +5 -0
  354. package/lib/configOptions.js +44 -40
  355. package/lib/constants.d.ts +8 -0
  356. package/lib/constants.js +39 -34
  357. package/lib/customObject.js +2 -6
  358. package/lib/dependencyManagement.js +37 -45
  359. package/lib/developerTestAccounts.d.ts +1 -1
  360. package/lib/developerTestAccounts.js +34 -39
  361. package/lib/doctor/Diagnosis.d.ts +1 -1
  362. package/lib/doctor/Diagnosis.js +25 -29
  363. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  364. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  365. package/lib/doctor/Doctor.d.ts +1 -1
  366. package/lib/doctor/Doctor.js +94 -101
  367. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  368. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  369. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  370. package/lib/enums/exitCodes.js +1 -4
  371. package/lib/errorHandlers/index.js +33 -52
  372. package/lib/errorHandlers/suppressError.d.ts +1 -1
  373. package/lib/errorHandlers/suppressError.js +28 -31
  374. package/lib/errors/ProjectValidationError.d.ts +4 -0
  375. package/lib/errors/ProjectValidationError.js +9 -0
  376. package/lib/filesystem.js +8 -15
  377. package/lib/generateSelectors.js +18 -29
  378. package/lib/hasFeature.d.ts +1 -1
  379. package/lib/hasFeature.js +3 -6
  380. package/lib/interpolation.js +11 -18
  381. package/lib/lang.d.ts +1 -1
  382. package/lib/lang.js +22 -27
  383. package/lib/links.js +16 -24
  384. package/lib/marketplaceValidate.js +29 -39
  385. package/lib/mcp/setup.d.ts +4 -0
  386. package/lib/mcp/setup.js +106 -82
  387. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  388. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  389. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  390. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  391. package/lib/middleware/__test__/utils.test.js +9 -11
  392. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  393. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  394. package/lib/middleware/configMiddleware.js +36 -42
  395. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  396. package/lib/middleware/gitMiddleware.js +5 -8
  397. package/lib/middleware/notificationsMiddleware.js +16 -23
  398. package/lib/middleware/requestMiddleware.js +4 -10
  399. package/lib/middleware/utils.js +1 -4
  400. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  401. package/lib/npm.js +14 -23
  402. package/lib/oauth.js +29 -35
  403. package/lib/parsing.js +3 -6
  404. package/lib/polling.js +11 -15
  405. package/lib/process.js +11 -19
  406. package/lib/projectProfiles.d.ts +2 -2
  407. package/lib/projectProfiles.js +32 -42
  408. package/lib/projects/ProjectLogsManager.js +18 -21
  409. package/lib/projects/__tests__/AppDevModeInterface.test.js +140 -145
  410. package/lib/projects/__tests__/LocalDevProcess.test.js +100 -140
  411. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +201 -37
  412. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  413. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  414. package/lib/projects/__tests__/components.test.js +9 -14
  415. package/lib/projects/__tests__/localDevHelpers.test.js +117 -0
  416. package/lib/projects/__tests__/projects.test.js +35 -40
  417. package/lib/projects/__tests__/structure.test.js +43 -81
  418. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  419. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  420. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  421. package/lib/projects/add/legacyAddComponent.js +24 -30
  422. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  423. package/lib/projects/add/v3AddComponent.js +37 -42
  424. package/lib/projects/buildAndDeploy.d.ts +1 -1
  425. package/lib/projects/buildAndDeploy.js +88 -97
  426. package/lib/projects/components.js +19 -25
  427. package/lib/projects/config.d.ts +1 -1
  428. package/lib/projects/config.js +32 -41
  429. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  430. package/lib/projects/create/__tests__/v3.test.js +5 -7
  431. package/lib/projects/create/index.d.ts +3 -3
  432. package/lib/projects/create/index.js +19 -22
  433. package/lib/projects/create/legacy.d.ts +1 -1
  434. package/lib/projects/create/legacy.js +25 -31
  435. package/lib/projects/create/v3.d.ts +3 -5
  436. package/lib/projects/create/v3.js +47 -59
  437. package/lib/projects/ensureProjectExists.js +31 -37
  438. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  439. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  440. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  441. package/lib/projects/localDev/DevServerManager.js +22 -26
  442. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  443. package/lib/projects/localDev/DevServerManagerV2.js +15 -22
  444. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -2
  445. package/lib/projects/localDev/LocalDevLogger.js +66 -66
  446. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  447. package/lib/projects/localDev/LocalDevManager.js +106 -111
  448. package/lib/projects/localDev/LocalDevProcess.d.ts +6 -5
  449. package/lib/projects/localDev/LocalDevProcess.js +37 -50
  450. package/lib/projects/localDev/LocalDevState.d.ts +5 -7
  451. package/lib/projects/localDev/LocalDevState.js +9 -11
  452. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  453. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  454. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +3 -3
  455. package/lib/projects/localDev/LocalDevWebsocketServer.js +63 -55
  456. package/lib/projects/localDev/helpers.d.ts +11 -4
  457. package/lib/projects/localDev/helpers.js +211 -174
  458. package/lib/projects/structure.d.ts +3 -3
  459. package/lib/projects/structure.js +32 -78
  460. package/lib/projects/ui.js +10 -13
  461. package/lib/projects/upload.d.ts +1 -1
  462. package/lib/projects/upload.js +57 -73
  463. package/lib/projects/urls.d.ts +1 -1
  464. package/lib/projects/urls.js +15 -25
  465. package/lib/projects/watch.d.ts +1 -1
  466. package/lib/projects/watch.js +48 -54
  467. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  468. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  469. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  470. package/lib/prompts/accountNamePrompt.js +26 -31
  471. package/lib/prompts/accountsPrompt.js +12 -15
  472. package/lib/prompts/cmsFieldPrompt.js +13 -19
  473. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  474. package/lib/prompts/createApiSamplePrompt.js +9 -12
  475. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +2 -2
  476. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +27 -31
  477. package/lib/prompts/createFunctionPrompt.js +17 -20
  478. package/lib/prompts/createModulePrompt.js +12 -15
  479. package/lib/prompts/createTemplatePrompt.js +5 -8
  480. package/lib/prompts/downloadProjectPrompt.js +17 -20
  481. package/lib/prompts/installAppPrompt.js +19 -26
  482. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  483. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  484. package/lib/prompts/previewPrompt.js +15 -22
  485. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  486. package/lib/prompts/projectAddPrompt.js +14 -18
  487. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  488. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  489. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  490. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  491. package/lib/prompts/projectNamePrompt.js +11 -14
  492. package/lib/prompts/projectsLogsPrompt.js +5 -8
  493. package/lib/prompts/promptUtils.d.ts +1 -1
  494. package/lib/prompts/promptUtils.js +80 -77
  495. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  496. package/lib/prompts/sandboxesPrompt.js +26 -30
  497. package/lib/prompts/secretPrompt.js +10 -15
  498. package/lib/prompts/selectAppPrompt.js +11 -14
  499. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  500. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  501. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  502. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  503. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  504. package/lib/prompts/uploadPrompt.js +11 -17
  505. package/lib/sandboxSync.d.ts +1 -1
  506. package/lib/sandboxSync.js +58 -65
  507. package/lib/sandboxes.d.ts +5 -1
  508. package/lib/sandboxes.js +72 -76
  509. package/lib/schema.js +13 -20
  510. package/lib/serverlessLogs.js +45 -52
  511. package/lib/testUtils.js +4 -8
  512. package/lib/ui/SpinniesManager.d.ts +1 -1
  513. package/lib/ui/SpinniesManager.js +29 -34
  514. package/lib/ui/boxen.js +11 -14
  515. package/lib/ui/git.js +14 -20
  516. package/lib/ui/index.d.ts +6 -0
  517. package/lib/ui/index.js +56 -76
  518. package/lib/ui/logger.js +10 -13
  519. package/lib/ui/serverlessFunctionLogs.js +14 -20
  520. package/lib/ui/spinniesUtils.js +24 -39
  521. package/lib/ui/supportHyperlinks.js +3 -6
  522. package/lib/ui/supportsColor.js +11 -17
  523. package/lib/ui/table.js +6 -13
  524. package/lib/upload.js +15 -21
  525. package/lib/usageTracking.js +35 -44
  526. package/lib/utils/__tests__/isDeepEqual.test.js +269 -0
  527. package/lib/utils/hasFlag.js +2 -8
  528. package/lib/utils/isDeepEqual.d.ts +1 -0
  529. package/lib/utils/isDeepEqual.js +31 -0
  530. package/lib/validation.js +48 -87
  531. package/lib/yargsUtils.d.ts +2 -1
  532. package/lib/yargsUtils.js +19 -16
  533. package/mcp-server/server.js +6 -8
  534. package/mcp-server/tools/index.js +15 -16
  535. package/mcp-server/tools/project/{AddFeatureToProject.d.ts → AddFeatureToProjectTool.d.ts} +5 -5
  536. package/mcp-server/tools/project/AddFeatureToProjectTool.js +76 -0
  537. package/mcp-server/tools/project/CreateProjectTool.d.ts +4 -4
  538. package/mcp-server/tools/project/CreateProjectTool.js +40 -54
  539. package/mcp-server/tools/project/{DeployProject.d.ts → DeployProjectTool.d.ts} +2 -2
  540. package/mcp-server/tools/project/DeployProjectTool.js +49 -0
  541. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +20 -0
  542. package/mcp-server/tools/project/GetConfigValuesTool.js +51 -0
  543. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  544. package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
  545. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  546. package/mcp-server/tools/project/UploadProjectTools.js +12 -19
  547. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  548. package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
  549. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +1 -0
  550. package/mcp-server/tools/project/__tests__/{AddFeatureToProject.test.js → AddFeatureToProjectTool.test.js} +15 -17
  551. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +12 -15
  552. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +1 -0
  553. package/mcp-server/tools/project/__tests__/{DeployProject.test.js → DeployProjectTool.test.js} +6 -8
  554. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +1 -0
  555. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +198 -0
  556. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  557. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  558. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  559. package/mcp-server/tools/project/constants.d.ts +1 -0
  560. package/mcp-server/tools/project/constants.js +14 -9
  561. package/mcp-server/types.js +1 -5
  562. package/mcp-server/utils/__tests__/command.test.js +9 -11
  563. package/mcp-server/utils/__tests__/project.test.js +12 -17
  564. package/mcp-server/utils/command.d.ts +1 -1
  565. package/mcp-server/utils/command.js +4 -11
  566. package/mcp-server/utils/content.d.ts +1 -1
  567. package/mcp-server/utils/content.js +2 -6
  568. package/mcp-server/utils/project.js +8 -14
  569. package/mcp-server/utils/toolUsageTracking.js +11 -14
  570. package/package.json +22 -15
  571. package/types/Cms.d.ts +1 -1
  572. package/types/Cms.js +1 -2
  573. package/types/LocalDev.d.ts +4 -6
  574. package/types/LocalDev.js +1 -2
  575. package/types/ProjectComponents.d.ts +2 -2
  576. package/types/ProjectComponents.js +1 -2
  577. package/types/Projects.d.ts +1 -1
  578. package/types/Projects.js +2 -5
  579. package/types/Prompts.js +1 -2
  580. package/types/Sandboxes.js +1 -2
  581. package/types/Yargs.js +1 -2
  582. package/ui/index.d.ts +1 -0
  583. package/ui/index.js +6 -0
  584. package/mcp-server/tools/project/AddFeatureToProject.js +0 -88
  585. package/mcp-server/tools/project/DeployProject.js +0 -53
  586. /package/{mcp-server/tools/project/__tests__/AddFeatureToProject.test.d.ts → lib/projects/__tests__/localDevHelpers.test.d.ts} +0 -0
  587. /package/{mcp-server/tools/project/__tests__/DeployProject.test.d.ts → lib/utils/__tests__/isDeepEqual.test.d.ts} +0 -0
package/lib/schema.js CHANGED
@@ -1,34 +1,27 @@
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.logSchemas = logSchemas;
7
- exports.listSchemas = listSchemas;
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const table_1 = require("table");
10
- const logger_1 = require("@hubspot/local-dev-lib/logger");
11
- const customObjects_1 = require("@hubspot/local-dev-lib/api/customObjects");
12
- function logSchemas(schemas) {
1
+ import chalk from 'chalk';
2
+ import { table, getBorderCharacters } from 'table';
3
+ import { logger } from '@hubspot/local-dev-lib/logger';
4
+ import { fetchObjectSchemas } from '@hubspot/local-dev-lib/api/customObjects';
5
+ export function logSchemas(schemas) {
13
6
  const data = schemas
14
7
  .map(r => [r.labels.singular, r.name, r.objectTypeId || ''])
15
8
  .sort((a, b) => (a[1] > b[1] ? 1 : -1));
16
9
  if (data.length === 0) {
17
- logger_1.logger.log('No Schemas were found');
10
+ logger.log('No Schemas were found');
18
11
  return;
19
12
  }
20
13
  data.unshift([
21
- chalk_1.default.bold('Label'),
22
- chalk_1.default.bold('Name'),
23
- chalk_1.default.bold('objectTypeId'),
14
+ chalk.bold('Label'),
15
+ chalk.bold('Name'),
16
+ chalk.bold('objectTypeId'),
24
17
  ]);
25
18
  const tableConfig = {
26
19
  singleLine: true,
27
- border: (0, table_1.getBorderCharacters)('honeywell'),
20
+ border: getBorderCharacters('honeywell'),
28
21
  };
29
- logger_1.logger.log((0, table_1.table)(data, tableConfig));
22
+ logger.log(table(data, tableConfig));
30
23
  }
31
- async function listSchemas(accountId) {
32
- const { data } = await (0, customObjects_1.fetchObjectSchemas)(accountId);
24
+ export async function listSchemas(accountId) {
25
+ const { data } = await fetchObjectSchemas(accountId);
33
26
  logSchemas(data.results);
34
27
  }
@@ -1,23 +1,16 @@
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.tailLogs = tailLogs;
7
- exports.outputBuildLog = outputBuildLog;
8
- const https_1 = __importDefault(require("https"));
9
- const chalk_1 = __importDefault(require("chalk"));
10
- const logger_1 = require("@hubspot/local-dev-lib/logger");
11
- const index_1 = require("@hubspot/local-dev-lib/errors/index");
12
- const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
13
- const config_1 = require("@hubspot/local-dev-lib/config");
14
- const localDevAuth_1 = require("@hubspot/local-dev-lib/api/localDevAuth");
15
- const serverlessFunctionLogs_1 = require("./ui/serverlessFunctionLogs");
16
- const index_2 = require("./errorHandlers/index");
17
- const SpinniesManager_1 = __importDefault(require("./ui/SpinniesManager"));
18
- const process_1 = require("./process");
19
- const exitCodes_1 = require("./enums/exitCodes");
20
- const lang_1 = require("./lang");
1
+ import https from 'https';
2
+ import chalk from 'chalk';
3
+ import { logger } from '@hubspot/local-dev-lib/logger';
4
+ import { isHubSpotHttpError, isMissingScopeError, } from '@hubspot/local-dev-lib/errors/index';
5
+ import { SCOPE_GROUPS, PERSONAL_ACCESS_KEY_AUTH_METHOD, } from '@hubspot/local-dev-lib/constants/auth';
6
+ import { getAccountConfig } from '@hubspot/local-dev-lib/config';
7
+ import { fetchScopeData } from '@hubspot/local-dev-lib/api/localDevAuth';
8
+ import { outputLogs } from './ui/serverlessFunctionLogs.js';
9
+ import { logError, ApiErrorContext } from './errorHandlers/index.js';
10
+ import SpinniesManager from './ui/SpinniesManager.js';
11
+ import { handleExit, handleKeypress } from './process.js';
12
+ import { EXIT_CODES } from './enums/exitCodes.js';
13
+ import { i18n } from './lang.js';
21
14
  const TAIL_DELAY = 5000;
22
15
  function base64EncodeString(valueToEncode) {
23
16
  if (typeof valueToEncode !== 'string') {
@@ -28,51 +21,51 @@ function base64EncodeString(valueToEncode) {
28
21
  }
29
22
  function handleUserInput() {
30
23
  const onTerminate = async () => {
31
- SpinniesManager_1.default.remove('tailLogs');
32
- SpinniesManager_1.default.remove('stopMessage');
33
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
24
+ SpinniesManager.remove('tailLogs');
25
+ SpinniesManager.remove('stopMessage');
26
+ process.exit(EXIT_CODES.SUCCESS);
34
27
  };
35
- (0, process_1.handleExit)(onTerminate);
36
- (0, process_1.handleKeypress)(key => {
28
+ handleExit(onTerminate);
29
+ handleKeypress(key => {
37
30
  if ((key.ctrl && key.name == 'c') || key.name === 'q') {
38
31
  onTerminate();
39
32
  }
40
33
  });
41
34
  }
42
35
  async function verifyAccessKeyAndUserAccess(accountId, scopeGroup) {
43
- const accountConfig = (0, config_1.getAccountConfig)(accountId);
36
+ const accountConfig = getAccountConfig(accountId);
44
37
  if (!accountConfig) {
45
38
  return;
46
39
  }
47
40
  const { authType } = accountConfig;
48
- if (authType !== auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value) {
41
+ if (authType !== PERSONAL_ACCESS_KEY_AUTH_METHOD.value) {
49
42
  return;
50
43
  }
51
44
  let scopesData;
52
45
  try {
53
- const resp = await (0, localDevAuth_1.fetchScopeData)(accountId, scopeGroup);
46
+ const resp = await fetchScopeData(accountId, scopeGroup);
54
47
  scopesData = resp.data;
55
48
  }
56
49
  catch (e) {
57
- logger_1.logger.debug((0, lang_1.i18n)(`lib.serverless.verifyAccessKeyAndUserAccess.fetchScopeDataError`, {
50
+ logger.debug(i18n(`lib.serverless.verifyAccessKeyAndUserAccess.fetchScopeDataError`, {
58
51
  scopeGroup,
59
52
  }));
60
- logger_1.logger.debug(e);
53
+ logger.debug(e);
61
54
  return;
62
55
  }
63
56
  const { portalScopesInGroup, userScopesInGroup } = scopesData;
64
57
  if (!portalScopesInGroup.length) {
65
- logger_1.logger.error((0, lang_1.i18n)(`lib.serverless.verifyAccessKeyAndUserAccess.portalMissingScope`));
58
+ logger.error(i18n(`lib.serverless.verifyAccessKeyAndUserAccess.portalMissingScope`));
66
59
  return;
67
60
  }
68
61
  if (!portalScopesInGroup.every(s => userScopesInGroup.includes(s))) {
69
- logger_1.logger.error((0, lang_1.i18n)(`lib.serverless.verifyAccessKeyAndUserAccess.userMissingScope`));
62
+ logger.error(i18n(`lib.serverless.verifyAccessKeyAndUserAccess.userMissingScope`));
70
63
  }
71
64
  else {
72
- logger_1.logger.error((0, lang_1.i18n)(`lib.serverless.verifyAccessKeyAndUserAccess.genericMissingScope`));
65
+ logger.error(i18n(`lib.serverless.verifyAccessKeyAndUserAccess.genericMissingScope`));
73
66
  }
74
67
  }
75
- async function tailLogs(accountId, name, fetchLatest, tailCall, compact = false) {
68
+ export async function tailLogs(accountId, name, fetchLatest, tailCall, compact = false) {
76
69
  let initialAfter = '';
77
70
  try {
78
71
  const { data: latestLog } = await fetchLatest();
@@ -80,12 +73,12 @@ async function tailLogs(accountId, name, fetchLatest, tailCall, compact = false)
80
73
  }
81
74
  catch (e) {
82
75
  // A 404 means no latest log exists(never executed)
83
- if ((0, index_1.isHubSpotHttpError)(e) && e.status !== 404) {
84
- if ((0, index_1.isMissingScopeError)(e)) {
85
- await verifyAccessKeyAndUserAccess(accountId, auth_1.SCOPE_GROUPS.CMS_FUNCTIONS);
76
+ if (isHubSpotHttpError(e) && e.status !== 404) {
77
+ if (isMissingScopeError(e)) {
78
+ await verifyAccessKeyAndUserAccess(accountId, SCOPE_GROUPS.CMS_FUNCTIONS);
86
79
  }
87
80
  else {
88
- await (0, index_2.logError)(e, new index_2.ApiErrorContext({ accountId }));
81
+ await logError(e, new ApiErrorContext({ accountId }));
89
82
  }
90
83
  }
91
84
  }
@@ -98,15 +91,15 @@ async function tailLogs(accountId, name, fetchLatest, tailCall, compact = false)
98
91
  nextAfter = latestLog.paging.next.after;
99
92
  }
100
93
  catch (e) {
101
- if ((0, index_1.isHubSpotHttpError)(e) && e.status !== 404) {
102
- (0, index_2.logError)(e, new index_2.ApiErrorContext({
94
+ if (isHubSpotHttpError(e) && e.status !== 404) {
95
+ logError(e, new ApiErrorContext({
103
96
  accountId,
104
97
  }));
105
98
  }
106
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
99
+ process.exit(EXIT_CODES.SUCCESS);
107
100
  }
108
101
  if (latestLog && latestLog.results.length) {
109
- (0, serverlessFunctionLogs_1.outputLogs)(latestLog, {
102
+ outputLogs(latestLog, {
110
103
  compact,
111
104
  });
112
105
  }
@@ -114,25 +107,25 @@ async function tailLogs(accountId, name, fetchLatest, tailCall, compact = false)
114
107
  await tail(nextAfter);
115
108
  }, TAIL_DELAY);
116
109
  }
117
- SpinniesManager_1.default.init();
118
- SpinniesManager_1.default.add('tailLogs', {
110
+ SpinniesManager.init();
111
+ SpinniesManager.add('tailLogs', {
119
112
  text: `Following logs for ${name}`,
120
113
  });
121
- SpinniesManager_1.default.add('stopMessage', {
122
- text: `> Press ${chalk_1.default.bold('q')} to stop following`,
114
+ SpinniesManager.add('stopMessage', {
115
+ text: `> Press ${chalk.bold('q')} to stop following`,
123
116
  status: 'non-spinnable',
124
117
  });
125
118
  handleUserInput();
126
119
  await tail(initialAfter);
127
120
  }
128
- async function outputBuildLog(buildLogUrl) {
121
+ export async function outputBuildLog(buildLogUrl) {
129
122
  if (!buildLogUrl) {
130
- logger_1.logger.debug('Unable to display build output. No build log URL was provided.');
123
+ logger.debug('Unable to display build output. No build log URL was provided.');
131
124
  return '';
132
125
  }
133
126
  return new Promise(resolve => {
134
127
  try {
135
- https_1.default
128
+ https
136
129
  .get(buildLogUrl, response => {
137
130
  if (response.statusCode === 404) {
138
131
  resolve('');
@@ -142,16 +135,16 @@ async function outputBuildLog(buildLogUrl) {
142
135
  data += chunk;
143
136
  });
144
137
  response.on('end', () => {
145
- logger_1.logger.log(data);
138
+ logger.log(data);
146
139
  resolve(data);
147
140
  });
148
141
  })
149
142
  .on('error', () => {
150
- logger_1.logger.error('The build log could not be retrieved.');
143
+ logger.error('The build log could not be retrieved.');
151
144
  });
152
145
  }
153
146
  catch (e) {
154
- logger_1.logger.error('The build log could not be retrieved.');
147
+ logger.error('The build log could not be retrieved.');
155
148
  resolve('');
156
149
  }
157
150
  });
package/lib/testUtils.js CHANGED
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockHubSpotHttpResponse = mockHubSpotHttpResponse;
4
- exports.mockHubSpotHttpError = mockHubSpotHttpError;
5
- const HubSpotHttpError_1 = require("@hubspot/local-dev-lib/models/HubSpotHttpError");
1
+ import { HubSpotHttpError } from '@hubspot/local-dev-lib/models/HubSpotHttpError';
6
2
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- function mockHubSpotHttpResponse(data) {
3
+ export function mockHubSpotHttpResponse(data) {
8
4
  return Promise.resolve({
9
5
  data,
10
6
  status: 200,
@@ -15,8 +11,8 @@ function mockHubSpotHttpResponse(data) {
15
11
  },
16
12
  });
17
13
  }
18
- function mockHubSpotHttpError(message, response) {
19
- return new HubSpotHttpError_1.HubSpotHttpError(message, {
14
+ export function mockHubSpotHttpError(message, response) {
15
+ return new HubSpotHttpError(message, {
20
16
  cause: { isAxiosError: true, response },
21
17
  });
22
18
  }
@@ -1,4 +1,4 @@
1
- import { SpinnerOptions as BaseSpinnerOptions, VALID_STATUSES } from './spinniesUtils';
1
+ import { SpinnerOptions as BaseSpinnerOptions, VALID_STATUSES } from './spinniesUtils.js';
2
2
  interface SpinnerState extends BaseSpinnerOptions {
3
3
  name?: string;
4
4
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  https://github.com/jbcarpanelli/spinnies
4
3
 
@@ -8,16 +7,12 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
8
7
 
9
8
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10
9
  **/
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const readline_1 = __importDefault(require("readline"));
16
- const chalk_1 = __importDefault(require("chalk"));
17
- const cli_cursor_1 = __importDefault(require("cli-cursor"));
18
- const spinniesUtils_1 = require("./spinniesUtils");
10
+ import readline from 'readline';
11
+ import chalk from 'chalk';
12
+ import cliCursor from 'cli-cursor';
13
+ import { breakText, cleanStream, colorOptions, getLinesLength, purgeSpinnerOptions, purgeSpinnersOptions, SPINNERS, terminalSupportsUnicode, writeStream, prefixOptions, } from './spinniesUtils.js';
19
14
  function safeColor(text, color) {
20
- const chalkFn = chalk_1.default[color];
15
+ const chalkFn = chalk[color];
21
16
  if (typeof chalkFn === 'function') {
22
17
  return chalkFn(text);
23
18
  }
@@ -40,9 +35,9 @@ class SpinniesManager {
40
35
  spinnerColor: 'greenBright',
41
36
  succeedColor: 'green',
42
37
  failColor: 'red',
43
- spinner: (0, spinniesUtils_1.terminalSupportsUnicode)() ? spinniesUtils_1.SPINNERS.dots : spinniesUtils_1.SPINNERS.dashes,
38
+ spinner: terminalSupportsUnicode() ? SPINNERS.dots : SPINNERS.dashes,
44
39
  disableSpins: false,
45
- ...(0, spinniesUtils_1.purgeSpinnersOptions)(options),
40
+ ...purgeSpinnersOptions(options),
46
41
  };
47
42
  this.spin =
48
43
  !this.options.disableSpins &&
@@ -76,11 +71,11 @@ class SpinniesManager {
76
71
  options.text = resolvedName;
77
72
  }
78
73
  const spinnerProperties = {
79
- ...(0, spinniesUtils_1.colorOptions)(this.options),
74
+ ...colorOptions(this.options),
80
75
  succeedPrefix: this.options.succeedPrefix,
81
76
  failPrefix: this.options.failPrefix,
82
77
  status: 'spinning',
83
- ...(0, spinniesUtils_1.purgeSpinnerOptions)(options),
78
+ ...purgeSpinnerOptions(options),
84
79
  };
85
80
  this.spinners[resolvedName] = spinnerProperties;
86
81
  this.updateSpinnerState();
@@ -142,7 +137,7 @@ class SpinniesManager {
142
137
  if (!this.spinners[name]) {
143
138
  throw Error(`No spinner initialized with name ${name}`);
144
139
  }
145
- options = (0, spinniesUtils_1.purgeSpinnerOptions)(options);
140
+ options = purgeSpinnerOptions(options);
146
141
  status = status || 'spinning';
147
142
  this.spinners[name] = { ...this.spinners[name], ...options, status };
148
143
  }
@@ -153,7 +148,7 @@ class SpinniesManager {
153
148
  }
154
149
  this.currentInterval = this.loopStream();
155
150
  if (!this.isCursorHidden) {
156
- cli_cursor_1.default.hide();
151
+ cliCursor.hide();
157
152
  }
158
153
  this.isCursorHidden = true;
159
154
  this.checkIfActiveSpinners();
@@ -163,8 +158,8 @@ class SpinniesManager {
163
158
  }
164
159
  }
165
160
  loopStream() {
166
- const frames = this.options.spinner?.frames || spinniesUtils_1.SPINNERS.dots.frames;
167
- const interval = this.options.spinner?.interval || spinniesUtils_1.SPINNERS.dots.interval;
161
+ const frames = this.options.spinner?.frames || SPINNERS.dots.frames;
162
+ const interval = this.options.spinner?.interval || SPINNERS.dots.interval;
168
163
  return setInterval(() => {
169
164
  this.setStreamOutput(frames[this.currentFrameIndex]);
170
165
  this.currentFrameIndex =
@@ -179,13 +174,13 @@ class SpinniesManager {
179
174
  const hasActiveSpinners = this.hasActiveSpinners();
180
175
  Object.values(this.spinners).forEach(spinner => {
181
176
  let { text } = spinner;
182
- const { status, color, spinnerColor, succeedColor, failColor, indent = 0, succeedPrefix = (0, spinniesUtils_1.prefixOptions)(this.options).succeedPrefix, failPrefix = (0, spinniesUtils_1.prefixOptions)(this.options).failPrefix, } = spinner;
177
+ const { status, color, spinnerColor, succeedColor, failColor, indent = 0, succeedPrefix = prefixOptions(this.options).succeedPrefix, failPrefix = prefixOptions(this.options).failPrefix, } = spinner;
183
178
  let line;
184
179
  let prefixLength = indent;
185
180
  text = text ?? '';
186
181
  if (status === 'spinning') {
187
182
  prefixLength += frame.length + 1;
188
- text = (0, spinniesUtils_1.breakText)(text, prefixLength);
183
+ text = breakText(text, prefixLength);
189
184
  const colorizedFrame = safeColor(frame, spinnerColor);
190
185
  const colorizedText = safeColor(text, color);
191
186
  line = `${colorizedFrame} ${colorizedText}`;
@@ -194,35 +189,35 @@ class SpinniesManager {
194
189
  if (status === 'succeed') {
195
190
  prefixLength += succeedPrefix.length + 1;
196
191
  if (hasActiveSpinners) {
197
- text = (0, spinniesUtils_1.breakText)(text, prefixLength);
192
+ text = breakText(text, prefixLength);
198
193
  }
199
194
  const colorizedText = safeColor(text, succeedColor);
200
- line = `${chalk_1.default.green(succeedPrefix)} ${colorizedText}`;
195
+ line = `${chalk.green(succeedPrefix)} ${colorizedText}`;
201
196
  }
202
197
  else if (status === 'fail') {
203
198
  prefixLength += failPrefix.length + 1;
204
199
  if (hasActiveSpinners) {
205
- text = (0, spinniesUtils_1.breakText)(text, prefixLength);
200
+ text = breakText(text, prefixLength);
206
201
  }
207
202
  const colorizedText = safeColor(text, failColor);
208
- line = `${chalk_1.default.red(failPrefix)} ${colorizedText}`;
203
+ line = `${chalk.red(failPrefix)} ${colorizedText}`;
209
204
  }
210
205
  else {
211
206
  if (hasActiveSpinners) {
212
- text = (0, spinniesUtils_1.breakText)(text, prefixLength);
207
+ text = breakText(text, prefixLength);
213
208
  }
214
209
  line = safeColor(text, color);
215
210
  }
216
211
  }
217
- linesLength.push(...(0, spinniesUtils_1.getLinesLength)(text, prefixLength));
212
+ linesLength.push(...getLinesLength(text, prefixLength));
218
213
  output += indent ? `${' '.repeat(indent)}${line}\n` : `${line}\n`;
219
214
  });
220
215
  if (!hasActiveSpinners) {
221
- readline_1.default.clearScreenDown(this.stream);
216
+ readline.clearScreenDown(this.stream);
222
217
  }
223
- (0, spinniesUtils_1.writeStream)(this.stream, output, linesLength);
218
+ writeStream(this.stream, output, linesLength);
224
219
  if (hasActiveSpinners) {
225
- (0, spinniesUtils_1.cleanStream)(this.stream, linesLength);
220
+ cleanStream(this.stream, linesLength);
226
221
  }
227
222
  this.lineCount = linesLength.length;
228
223
  }
@@ -235,12 +230,12 @@ class SpinniesManager {
235
230
  if (!this.hasActiveSpinners()) {
236
231
  if (this.spin) {
237
232
  this.setStreamOutput();
238
- readline_1.default.moveCursor(this.stream, 0, this.lineCount);
233
+ readline.moveCursor(this.stream, 0, this.lineCount);
239
234
  if (this.currentInterval) {
240
235
  clearInterval(this.currentInterval);
241
236
  }
242
237
  this.isCursorHidden = false;
243
- cli_cursor_1.default.show();
238
+ cliCursor.show();
244
239
  }
245
240
  this.spinners = {};
246
241
  }
@@ -248,11 +243,11 @@ class SpinniesManager {
248
243
  bindSigint() {
249
244
  process.removeAllListeners('SIGINT');
250
245
  process.on('SIGINT', () => {
251
- cli_cursor_1.default.show();
252
- readline_1.default.moveCursor(process.stderr, 0, this.lineCount);
246
+ cliCursor.show();
247
+ readline.moveCursor(process.stderr, 0, this.lineCount);
253
248
  process.exit(0);
254
249
  });
255
250
  }
256
251
  }
257
252
  const toExport = new SpinniesManager();
258
- exports.default = toExport;
253
+ export default toExport;
package/lib/ui/boxen.js CHANGED
@@ -1,30 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logInBox = logInBox;
4
- const logger_1 = require("./logger");
5
- const index_1 = require("./index");
6
- const logger_2 = require("@hubspot/local-dev-lib/logger");
7
- const en_1 = require("../../lang/en");
1
+ import { uiLogger } from './logger.js';
2
+ import { UI_COLORS } from './index.js';
3
+ import { logger } from '@hubspot/local-dev-lib/logger';
4
+ import { lib } from '../../lang/en.js';
8
5
  const defaultOptions = {
9
6
  titleAlignment: 'left',
10
- borderColor: index_1.UI_COLORS.MARIGOLD,
7
+ borderColor: UI_COLORS.MARIGOLD,
11
8
  margin: 1,
12
9
  padding: 1,
13
10
  textAlignment: 'left',
14
11
  borderStyle: 'round',
15
12
  };
16
- async function logInBox({ contents, options, }) {
13
+ export async function logInBox({ contents, options, }) {
17
14
  try {
18
15
  const boxen = (await import('boxen')).default;
19
- logger_1.uiLogger.log(boxen(contents, { ...defaultOptions, ...options }));
16
+ uiLogger.log(boxen(contents, { ...defaultOptions, ...options }));
20
17
  return;
21
18
  }
22
19
  catch (error) {
23
- logger_2.logger.debug(en_1.lib.boxen.failedToLoad);
20
+ logger.debug(lib.boxen.failedToLoad);
24
21
  if (options?.title) {
25
- logger_1.uiLogger.log(options.title);
26
- logger_1.uiLogger.log('');
22
+ uiLogger.log(options.title);
23
+ uiLogger.log('');
27
24
  }
28
- logger_1.uiLogger.log(contents);
25
+ uiLogger.log(contents);
29
26
  }
30
27
  }
package/lib/ui/git.js CHANGED
@@ -1,28 +1,22 @@
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.checkAndWarnGitInclusion = checkAndWarnGitInclusion;
7
- const os_1 = __importDefault(require("os"));
8
- const gitignore_1 = require("@hubspot/local-dev-lib/gitignore");
9
- const logger_1 = require("@hubspot/local-dev-lib/logger");
10
- const lang_1 = require("../lang");
11
- function checkAndWarnGitInclusion(configPath) {
1
+ import os from 'os';
2
+ import { checkGitInclusion } from '@hubspot/local-dev-lib/gitignore';
3
+ import { logger } from '@hubspot/local-dev-lib/logger';
4
+ import { i18n } from '../lang.js';
5
+ export function checkAndWarnGitInclusion(configPath) {
12
6
  try {
13
- const { inGit, configIgnored } = (0, gitignore_1.checkGitInclusion)(configPath);
7
+ const { inGit, configIgnored } = checkGitInclusion(configPath);
14
8
  if (!inGit || configIgnored)
15
9
  return;
16
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.securityIssue`));
17
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.configFileTracked`));
18
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.fileName`, { configPath }));
19
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.remediate`));
20
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.moveConfig`, { homeDir: os_1.default.homedir() }));
21
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.addGitignore`, { configPath }));
22
- logger_1.logger.warn((0, lang_1.i18n)(`lib.ui.git.noRemote`));
10
+ logger.warn(i18n(`lib.ui.git.securityIssue`));
11
+ logger.warn(i18n(`lib.ui.git.configFileTracked`));
12
+ logger.warn(i18n(`lib.ui.git.fileName`, { configPath }));
13
+ logger.warn(i18n(`lib.ui.git.remediate`));
14
+ logger.warn(i18n(`lib.ui.git.moveConfig`, { homeDir: os.homedir() }));
15
+ logger.warn(i18n(`lib.ui.git.addGitignore`, { configPath }));
16
+ logger.warn(i18n(`lib.ui.git.noRemote`));
23
17
  }
24
18
  catch (e) {
25
19
  // fail silently
26
- logger_1.logger.debug((0, lang_1.i18n)(`lib.ui.git.checkFailed`));
20
+ logger.debug(i18n(`lib.ui.git.checkFailed`));
27
21
  }
28
22
  }
package/lib/ui/index.d.ts CHANGED
@@ -1,9 +1,14 @@
1
+ type TerminalSupport = {
2
+ hyperlinks: boolean;
3
+ color: boolean;
4
+ };
1
5
  export declare const UI_COLORS: {
2
6
  SORBET: string;
3
7
  MARIGOLD: string;
4
8
  MARIGOLD_DARK: string;
5
9
  };
6
10
  export declare function uiLine(): void;
11
+ export declare function getTerminalUISupport(): TerminalSupport;
7
12
  export declare function uiLink(linkText: string, url: string): string;
8
13
  export declare function uiAccountDescription(accountId?: number | null, bold?: boolean): string;
9
14
  export declare function uiInfoSection(title: string, logContent: () => void): void;
@@ -17,3 +22,4 @@ export declare function uiCommandDisabledBanner(command: string, url?: string, m
17
22
  export declare function uiDeprecatedDescription(message: string, command: string, url?: string): undefined;
18
23
  export declare function uiDeprecatedMessage(command: string, url?: string, message?: string): void;
19
24
  export declare function indent(level: number): string;
25
+ export {};