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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/api/__tests__/migrate.test.js +29 -27
  2. package/api/migrate.js +22 -14
  3. package/bin/cli.js +101 -92
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +2 -1
  7. package/commands/__tests__/account.test.js +34 -29
  8. package/commands/__tests__/auth.test.js +16 -11
  9. package/commands/__tests__/cms.test.js +20 -15
  10. package/commands/__tests__/config.test.js +19 -14
  11. package/commands/__tests__/create.test.js +15 -10
  12. package/commands/__tests__/customObject.test.js +19 -14
  13. package/commands/__tests__/doctor.test.js +48 -43
  14. package/commands/__tests__/feedback.test.js +45 -7
  15. package/commands/__tests__/fetch.test.js +28 -29
  16. package/commands/__tests__/filemanager.test.js +19 -14
  17. package/commands/__tests__/function.test.js +21 -16
  18. package/commands/__tests__/getStarted.test.js +50 -55
  19. package/commands/__tests__/hubdb.test.js +22 -17
  20. package/commands/__tests__/init.test.js +17 -12
  21. package/commands/__tests__/lint.test.js +18 -13
  22. package/commands/__tests__/list.test.js +23 -18
  23. package/commands/__tests__/logs.test.js +27 -28
  24. package/commands/__tests__/mcp.test.js +19 -14
  25. package/commands/__tests__/mv.test.js +52 -14
  26. package/commands/__tests__/open.test.js +51 -13
  27. package/commands/__tests__/project.test.js +49 -44
  28. package/commands/__tests__/remove.test.js +51 -13
  29. package/commands/__tests__/sandbox.test.js +19 -14
  30. package/commands/__tests__/secret.test.js +21 -16
  31. package/commands/__tests__/testAccount.test.js +21 -16
  32. package/commands/__tests__/theme.test.js +20 -15
  33. package/commands/account/__tests__/auth.test.js +16 -11
  34. package/commands/account/__tests__/clean.test.js +17 -12
  35. package/commands/account/__tests__/createOverride.test.js +15 -10
  36. package/commands/account/__tests__/info.test.js +16 -11
  37. package/commands/account/__tests__/list.test.js +16 -11
  38. package/commands/account/__tests__/remove.test.js +18 -13
  39. package/commands/account/__tests__/removeOverride.js +13 -8
  40. package/commands/account/__tests__/rename.test.js +20 -15
  41. package/commands/account/__tests__/use.test.js +15 -10
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +67 -65
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +60 -55
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +57 -52
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +35 -33
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +45 -43
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +42 -37
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +43 -38
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +20 -18
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +31 -29
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +28 -23
  62. package/commands/app/__tests__/install.test.js +52 -0
  63. package/commands/app/__tests__/migrate.test.js +34 -29
  64. package/commands/app/install.d.ts +8 -0
  65. package/commands/app/install.js +127 -0
  66. package/commands/app/migrate.d.ts +2 -2
  67. package/commands/app/migrate.js +43 -40
  68. package/commands/app/secret/__tests__/add.test.js +11 -6
  69. package/commands/app/secret/__tests__/delete.test.js +11 -6
  70. package/commands/app/secret/__tests__/list.test.js +11 -6
  71. package/commands/app/secret/__tests__/update.test.js +11 -6
  72. package/commands/app/secret/add.d.ts +1 -1
  73. package/commands/app/secret/add.js +30 -28
  74. package/commands/app/secret/delete.d.ts +1 -1
  75. package/commands/app/secret/delete.js +36 -34
  76. package/commands/app/secret/list.d.ts +1 -1
  77. package/commands/app/secret/list.js +27 -25
  78. package/commands/app/secret/update.d.ts +1 -1
  79. package/commands/app/secret/update.js +34 -32
  80. package/commands/app/secret.d.ts +1 -1
  81. package/commands/app/secret.js +17 -12
  82. package/commands/app.d.ts +1 -1
  83. package/commands/app.js +16 -6
  84. package/commands/auth.d.ts +1 -1
  85. package/commands/auth.js +72 -70
  86. package/commands/cms/convertFields.d.ts +1 -1
  87. package/commands/cms/convertFields.js +39 -34
  88. package/commands/cms/getReactModule.d.ts +1 -1
  89. package/commands/cms/getReactModule.js +37 -32
  90. package/commands/cms/lighthouseScore.d.ts +1 -1
  91. package/commands/cms/lighthouseScore.js +72 -67
  92. package/commands/cms.d.ts +1 -1
  93. package/commands/cms.js +16 -11
  94. package/commands/completion.d.ts +1 -1
  95. package/commands/completion.js +15 -10
  96. package/commands/config/migrate.d.ts +1 -1
  97. package/commands/config/migrate.js +32 -27
  98. package/commands/config/set.d.ts +1 -1
  99. package/commands/config/set.js +25 -23
  100. package/commands/config.d.ts +1 -1
  101. package/commands/config.js +13 -8
  102. package/commands/create/api-sample.d.ts +1 -1
  103. package/commands/create/api-sample.js +33 -28
  104. package/commands/create/app.d.ts +1 -1
  105. package/commands/create/app.js +5 -3
  106. package/commands/create/function.d.ts +1 -1
  107. package/commands/create/function.js +11 -9
  108. package/commands/create/index.d.ts +1 -1
  109. package/commands/create/index.js +24 -19
  110. package/commands/create/module.d.ts +1 -1
  111. package/commands/create/module.js +14 -12
  112. package/commands/create/react-app.d.ts +1 -1
  113. package/commands/create/react-app.js +5 -3
  114. package/commands/create/template.d.ts +1 -1
  115. package/commands/create/template.js +14 -12
  116. package/commands/create/vue-app.d.ts +1 -1
  117. package/commands/create/vue-app.js +5 -3
  118. package/commands/create/webpack-serverless.d.ts +1 -1
  119. package/commands/create/webpack-serverless.js +5 -3
  120. package/commands/create/website-theme.d.ts +1 -1
  121. package/commands/create/website-theme.js +7 -5
  122. package/commands/create.d.ts +2 -2
  123. package/commands/create.js +35 -30
  124. package/commands/customObject/__tests__/create.test.js +18 -13
  125. package/commands/customObject/__tests__/schema.test.js +23 -18
  126. package/commands/customObject/create.d.ts +1 -1
  127. package/commands/customObject/create.js +30 -28
  128. package/commands/customObject/schema/__tests__/create.test.js +18 -13
  129. package/commands/customObject/schema/__tests__/delete.test.js +18 -13
  130. package/commands/customObject/schema/__tests__/fetch-all.test.js +18 -13
  131. package/commands/customObject/schema/__tests__/fetch.test.js +18 -13
  132. package/commands/customObject/schema/__tests__/list.test.js +18 -13
  133. package/commands/customObject/schema/__tests__/update.test.js +18 -13
  134. package/commands/customObject/schema/create.d.ts +1 -1
  135. package/commands/customObject/schema/create.js +30 -28
  136. package/commands/customObject/schema/delete.d.ts +1 -1
  137. package/commands/customObject/schema/delete.js +26 -24
  138. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  139. package/commands/customObject/schema/fetch-all.js +24 -22
  140. package/commands/customObject/schema/fetch.d.ts +1 -1
  141. package/commands/customObject/schema/fetch.js +26 -24
  142. package/commands/customObject/schema/list.d.ts +1 -1
  143. package/commands/customObject/schema/list.js +15 -13
  144. package/commands/customObject/schema/update.d.ts +1 -1
  145. package/commands/customObject/schema/update.js +34 -32
  146. package/commands/customObject/schema.d.ts +1 -1
  147. package/commands/customObject/schema.js +22 -17
  148. package/commands/customObject.d.ts +1 -1
  149. package/commands/customObject.js +18 -13
  150. package/commands/doctor.d.ts +1 -1
  151. package/commands/doctor.js +33 -28
  152. package/commands/feedback.d.ts +1 -1
  153. package/commands/feedback.js +24 -19
  154. package/commands/fetch.d.ts +1 -1
  155. package/commands/fetch.js +30 -28
  156. package/commands/filemanager/__tests__/fetch.test.js +22 -17
  157. package/commands/filemanager/__tests__/upload.test.js +20 -15
  158. package/commands/filemanager/fetch.d.ts +1 -1
  159. package/commands/filemanager/fetch.js +25 -23
  160. package/commands/filemanager/upload.d.ts +1 -1
  161. package/commands/filemanager/upload.js +44 -39
  162. package/commands/filemanager.d.ts +1 -1
  163. package/commands/filemanager.js +13 -8
  164. package/commands/function/deploy.d.ts +1 -1
  165. package/commands/function/deploy.js +40 -35
  166. package/commands/function/list.d.ts +1 -1
  167. package/commands/function/list.js +29 -24
  168. package/commands/function/server.d.ts +1 -1
  169. package/commands/function/server.js +17 -15
  170. package/commands/function.d.ts +1 -1
  171. package/commands/function.js +18 -12
  172. package/commands/getStarted.d.ts +1 -1
  173. package/commands/getStarted.js +131 -140
  174. package/commands/hubdb/__tests__/clear.test.js +18 -13
  175. package/commands/hubdb/__tests__/create.test.js +18 -13
  176. package/commands/hubdb/__tests__/delete.test.js +18 -13
  177. package/commands/hubdb/__tests__/fetch.test.js +18 -13
  178. package/commands/hubdb/__tests__/list.test.js +28 -23
  179. package/commands/hubdb/clear.d.ts +1 -1
  180. package/commands/hubdb/clear.js +22 -20
  181. package/commands/hubdb/create.d.ts +1 -1
  182. package/commands/hubdb/create.js +35 -30
  183. package/commands/hubdb/delete.d.ts +1 -1
  184. package/commands/hubdb/delete.js +26 -24
  185. package/commands/hubdb/fetch.d.ts +1 -1
  186. package/commands/hubdb/fetch.js +19 -17
  187. package/commands/hubdb/list.d.ts +1 -1
  188. package/commands/hubdb/list.js +35 -33
  189. package/commands/hubdb.d.ts +1 -1
  190. package/commands/hubdb.js +24 -18
  191. package/commands/init.d.ts +1 -1
  192. package/commands/init.js +88 -83
  193. package/commands/lint.d.ts +1 -1
  194. package/commands/lint.js +26 -24
  195. package/commands/list.d.ts +1 -1
  196. package/commands/list.js +37 -32
  197. package/commands/logs.d.ts +1 -1
  198. package/commands/logs.js +37 -35
  199. package/commands/mcp/__tests__/setup.test.js +12 -7
  200. package/commands/mcp/__tests__/start.test.js +12 -7
  201. package/commands/mcp/setup.d.ts +1 -1
  202. package/commands/mcp/setup.js +20 -17
  203. package/commands/mcp/start.d.ts +5 -2
  204. package/commands/mcp/start.js +41 -31
  205. package/commands/mcp.d.ts +1 -1
  206. package/commands/mcp.js +12 -7
  207. package/commands/module/marketplace-validate.d.ts +1 -1
  208. package/commands/module/marketplace-validate.js +26 -21
  209. package/commands/module.d.ts +1 -1
  210. package/commands/module.js +13 -7
  211. package/commands/mv.d.ts +1 -1
  212. package/commands/mv.js +22 -20
  213. package/commands/open.d.ts +1 -1
  214. package/commands/open.js +21 -19
  215. package/commands/project/__tests__/add.test.js +15 -10
  216. package/commands/project/__tests__/create.test.js +19 -14
  217. package/commands/project/__tests__/deploy.test.js +143 -103
  218. package/commands/project/__tests__/devUnifiedFlow.test.js +157 -148
  219. package/commands/project/__tests__/download.test.js +19 -14
  220. package/commands/project/__tests__/installDeps.test.js +70 -32
  221. package/commands/project/__tests__/listBuilds.test.js +19 -14
  222. package/commands/project/__tests__/logs.test.js +94 -56
  223. package/commands/project/__tests__/migrate.test.js +30 -25
  224. package/commands/project/__tests__/migrateApp.test.js +22 -17
  225. package/commands/project/__tests__/open.test.js +21 -16
  226. package/commands/project/__tests__/profile.test.js +19 -14
  227. package/commands/project/__tests__/upload.test.js +23 -18
  228. package/commands/project/__tests__/watch.test.js +19 -14
  229. package/commands/project/add.d.ts +1 -1
  230. package/commands/project/add.js +36 -34
  231. package/commands/project/cloneApp.d.ts +1 -1
  232. package/commands/project/cloneApp.js +72 -67
  233. package/commands/project/create.d.ts +2 -2
  234. package/commands/project/create.js +68 -63
  235. package/commands/project/deploy.d.ts +3 -2
  236. package/commands/project/deploy.js +102 -91
  237. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  238. package/commands/project/dev/deprecatedFlow.js +58 -52
  239. package/commands/project/dev/index.d.ts +1 -1
  240. package/commands/project/dev/index.js +47 -44
  241. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  242. package/commands/project/dev/unifiedFlow.js +74 -67
  243. package/commands/project/download.d.ts +1 -1
  244. package/commands/project/download.js +40 -35
  245. package/commands/project/installDeps.d.ts +1 -1
  246. package/commands/project/installDeps.js +34 -29
  247. package/commands/project/listBuilds.d.ts +1 -1
  248. package/commands/project/listBuilds.js +45 -40
  249. package/commands/project/logs.d.ts +1 -1
  250. package/commands/project/logs.js +54 -52
  251. package/commands/project/migrate.d.ts +1 -1
  252. package/commands/project/migrate.js +26 -24
  253. package/commands/project/migrateApp.d.ts +2 -2
  254. package/commands/project/migrateApp.js +20 -18
  255. package/commands/project/open.d.ts +1 -1
  256. package/commands/project/open.js +30 -25
  257. package/commands/project/profile/add.d.ts +1 -1
  258. package/commands/project/profile/add.js +73 -68
  259. package/commands/project/profile/delete.d.ts +1 -1
  260. package/commands/project/profile/delete.js +56 -51
  261. package/commands/project/profile.d.ts +1 -1
  262. package/commands/project/profile.js +14 -9
  263. package/commands/project/upload.d.ts +1 -1
  264. package/commands/project/upload.js +55 -50
  265. package/commands/project/validate.d.ts +1 -1
  266. package/commands/project/validate.js +40 -35
  267. package/commands/project/watch.d.ts +1 -1
  268. package/commands/project/watch.js +61 -59
  269. package/commands/project.d.ts +1 -1
  270. package/commands/project.js +43 -38
  271. package/commands/remove.d.ts +1 -1
  272. package/commands/remove.js +17 -15
  273. package/commands/sandbox/__tests__/create.test.js +20 -15
  274. package/commands/sandbox/__tests__/delete.test.js +20 -15
  275. package/commands/sandbox/create.d.ts +1 -1
  276. package/commands/sandbox/create.js +69 -67
  277. package/commands/sandbox/delete.d.ts +1 -1
  278. package/commands/sandbox/delete.js +96 -94
  279. package/commands/sandbox.d.ts +1 -1
  280. package/commands/sandbox.js +14 -9
  281. package/commands/secret/__tests__/addSecret.test.js +18 -13
  282. package/commands/secret/__tests__/deleteSecret.test.js +18 -13
  283. package/commands/secret/__tests__/listSecret.test.js +18 -13
  284. package/commands/secret/__tests__/updateSecret.test.js +18 -13
  285. package/commands/secret/addSecret.d.ts +1 -1
  286. package/commands/secret/addSecret.js +28 -26
  287. package/commands/secret/deleteSecret.d.ts +1 -1
  288. package/commands/secret/deleteSecret.js +29 -27
  289. package/commands/secret/listSecret.d.ts +1 -1
  290. package/commands/secret/listSecret.js +21 -19
  291. package/commands/secret/updateSecret.d.ts +1 -1
  292. package/commands/secret/updateSecret.js +27 -25
  293. package/commands/secret.d.ts +1 -1
  294. package/commands/secret.js +18 -13
  295. package/commands/testAccount/__tests__/create.test.js +22 -17
  296. package/commands/testAccount/__tests__/createConfig.test.js +11 -9
  297. package/commands/testAccount/__tests__/delete.test.js +20 -15
  298. package/commands/testAccount/create.d.ts +1 -1
  299. package/commands/testAccount/create.js +57 -62
  300. package/commands/testAccount/createConfig.d.ts +1 -3
  301. package/commands/testAccount/createConfig.js +47 -43
  302. package/commands/testAccount/delete.d.ts +1 -1
  303. package/commands/testAccount/delete.js +19 -17
  304. package/commands/testAccount.d.ts +1 -1
  305. package/commands/testAccount.js +15 -10
  306. package/commands/theme/__tests__/generate-selectors.test.js +12 -7
  307. package/commands/theme/__tests__/marketplace-validate.test.js +19 -14
  308. package/commands/theme/__tests__/preview.test.js +17 -12
  309. package/commands/theme/generate-selectors.d.ts +1 -1
  310. package/commands/theme/generate-selectors.js +28 -23
  311. package/commands/theme/marketplace-validate.d.ts +1 -1
  312. package/commands/theme/marketplace-validate.js +24 -19
  313. package/commands/theme/preview.d.ts +1 -1
  314. package/commands/theme/preview.js +65 -60
  315. package/commands/theme.d.ts +1 -1
  316. package/commands/theme.js +16 -11
  317. package/commands/upload.d.ts +1 -1
  318. package/commands/upload.js +82 -77
  319. package/commands/watch.d.ts +1 -1
  320. package/commands/watch.js +51 -45
  321. package/lang/en.d.ts +62 -23
  322. package/lang/en.js +434 -389
  323. package/lang/en.lyaml +0 -26
  324. package/lib/__tests__/accountTypes.test.js +22 -20
  325. package/lib/__tests__/buildAccount.test.js +90 -27
  326. package/lib/__tests__/commonOpts.test.js +22 -20
  327. package/lib/__tests__/dependencyManagement.test.js +51 -46
  328. package/lib/__tests__/developerTestAccounts.test.js +62 -27
  329. package/lib/__tests__/hasFeature.test.js +8 -6
  330. package/lib/__tests__/npm.test.js +20 -15
  331. package/lib/__tests__/oauth.test.js +28 -23
  332. package/lib/__tests__/parsing.test.js +20 -18
  333. package/lib/__tests__/polling.test.js +26 -24
  334. package/lib/__tests__/process.test.js +19 -14
  335. package/lib/__tests__/projectProfiles.test.js +39 -34
  336. package/lib/__tests__/sandboxSync.test.js +35 -30
  337. package/lib/__tests__/sandboxes.test.js +31 -29
  338. package/lib/__tests__/serverlessLogs.test.js +13 -8
  339. package/lib/__tests__/usageTracking.test.js +42 -47
  340. package/lib/__tests__/validation.test.js +20 -18
  341. package/lib/__tests__/yargsUtils.test.js +41 -6
  342. package/lib/accountTypes.js +34 -24
  343. package/lib/app/__tests__/migrate.test.js +99 -94
  344. package/lib/app/__tests__/migrate_legacy.test.js +31 -29
  345. package/lib/app/migrate.d.ts +3 -3
  346. package/lib/app/migrate.js +145 -127
  347. package/lib/app/migrate_legacy.d.ts +1 -1
  348. package/lib/app/migrate_legacy.js +78 -72
  349. package/lib/app/urls.js +9 -5
  350. package/lib/buildAccount.d.ts +8 -2
  351. package/lib/buildAccount.js +119 -61
  352. package/lib/commonOpts.d.ts +1 -1
  353. package/lib/commonOpts.js +59 -42
  354. package/lib/configMigrate.js +38 -34
  355. package/lib/configOptions.js +40 -34
  356. package/lib/constants.js +34 -31
  357. package/lib/customObject.js +6 -2
  358. package/lib/dependencyManagement.js +45 -37
  359. package/lib/developerTestAccounts.d.ts +1 -1
  360. package/lib/developerTestAccounts.js +39 -34
  361. package/lib/doctor/Diagnosis.d.ts +1 -1
  362. package/lib/doctor/Diagnosis.js +29 -25
  363. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  364. package/lib/doctor/DiagnosticInfoBuilder.js +37 -30
  365. package/lib/doctor/Doctor.d.ts +1 -1
  366. package/lib/doctor/Doctor.js +101 -94
  367. package/lib/doctor/__tests__/Diagnosis.test.js +14 -9
  368. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +34 -29
  369. package/lib/doctor/__tests__/Doctor.test.js +26 -24
  370. package/lib/enums/exitCodes.js +4 -1
  371. package/lib/errorHandlers/index.js +41 -32
  372. package/lib/errorHandlers/suppressError.d.ts +1 -1
  373. package/lib/errorHandlers/suppressError.js +31 -28
  374. package/lib/filesystem.js +15 -8
  375. package/lib/generateSelectors.js +29 -18
  376. package/lib/hasFeature.d.ts +1 -1
  377. package/lib/hasFeature.js +6 -3
  378. package/lib/interpolation.js +18 -11
  379. package/lib/lang.d.ts +1 -1
  380. package/lib/lang.js +27 -22
  381. package/lib/links.js +24 -16
  382. package/lib/marketplaceValidate.js +39 -29
  383. package/lib/mcp/setup.js +105 -72
  384. package/lib/middleware/__test__/configMiddleware.test.js +55 -20
  385. package/lib/middleware/__test__/gitMiddleware.test.js +42 -7
  386. package/lib/middleware/__test__/notificationsMiddleware.test.js +4 -2
  387. package/lib/middleware/__test__/requestMiddleware.test.js +11 -6
  388. package/lib/middleware/__test__/utils.test.js +11 -9
  389. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +44 -9
  390. package/lib/middleware/autoUpdateMiddleware.js +40 -33
  391. package/lib/middleware/configMiddleware.js +42 -36
  392. package/lib/middleware/fireAlarmMiddleware.js +18 -12
  393. package/lib/middleware/gitMiddleware.js +8 -5
  394. package/lib/middleware/notificationsMiddleware.js +23 -16
  395. package/lib/middleware/requestMiddleware.js +10 -4
  396. package/lib/middleware/utils.js +4 -1
  397. package/lib/middleware/yargsChecksMiddleware.js +13 -10
  398. package/lib/npm.js +23 -14
  399. package/lib/oauth.js +35 -29
  400. package/lib/parsing.js +6 -3
  401. package/lib/polling.js +15 -11
  402. package/lib/process.js +19 -11
  403. package/lib/projectProfiles.d.ts +2 -2
  404. package/lib/projectProfiles.js +42 -32
  405. package/lib/projects/ProjectLogsManager.js +21 -18
  406. package/lib/projects/__tests__/AppDevModeInterface.test.js +145 -140
  407. package/lib/projects/__tests__/LocalDevProcess.test.js +73 -68
  408. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +37 -32
  409. package/lib/projects/__tests__/ProjectLogsManager.test.js +58 -56
  410. package/lib/projects/__tests__/buildAndDeploy.test.js +9 -7
  411. package/lib/projects/__tests__/components.test.js +14 -9
  412. package/lib/projects/__tests__/projects.test.js +40 -35
  413. package/lib/projects/__tests__/structure.test.js +81 -43
  414. package/lib/projects/add/__tests__/legacyAddComponent.test.js +28 -26
  415. package/lib/projects/add/__tests__/v3AddComponent.test.js +30 -25
  416. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  417. package/lib/projects/add/legacyAddComponent.js +30 -24
  418. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  419. package/lib/projects/add/v3AddComponent.js +42 -36
  420. package/lib/projects/buildAndDeploy.d.ts +1 -1
  421. package/lib/projects/buildAndDeploy.js +97 -88
  422. package/lib/projects/components.js +25 -19
  423. package/lib/projects/config.d.ts +1 -1
  424. package/lib/projects/config.js +41 -32
  425. package/lib/projects/create/__tests__/legacy.test.js +57 -22
  426. package/lib/projects/create/__tests__/v3.test.js +7 -5
  427. package/lib/projects/create/index.d.ts +3 -3
  428. package/lib/projects/create/index.js +22 -19
  429. package/lib/projects/create/legacy.d.ts +1 -1
  430. package/lib/projects/create/legacy.js +31 -25
  431. package/lib/projects/create/v3.d.ts +3 -3
  432. package/lib/projects/create/v3.js +59 -49
  433. package/lib/projects/ensureProjectExists.js +37 -31
  434. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  435. package/lib/projects/localDev/AppDevModeInterface.js +60 -58
  436. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  437. package/lib/projects/localDev/DevServerManager.js +24 -24
  438. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  439. package/lib/projects/localDev/DevServerManagerV2.js +20 -17
  440. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  441. package/lib/projects/localDev/LocalDevLogger.js +64 -59
  442. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  443. package/lib/projects/localDev/LocalDevManager.js +111 -106
  444. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  445. package/lib/projects/localDev/LocalDevProcess.js +30 -25
  446. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  447. package/lib/projects/localDev/LocalDevState.js +5 -3
  448. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  449. package/lib/projects/localDev/LocalDevWatcher.js +11 -6
  450. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  451. package/lib/projects/localDev/LocalDevWebsocketServer.js +27 -25
  452. package/lib/projects/localDev/helpers.d.ts +4 -4
  453. package/lib/projects/localDev/helpers.js +174 -156
  454. package/lib/projects/structure.d.ts +4 -4
  455. package/lib/projects/structure.js +78 -32
  456. package/lib/projects/ui.js +13 -10
  457. package/lib/projects/upload.d.ts +3 -2
  458. package/lib/projects/upload.js +65 -55
  459. package/lib/projects/urls.js +24 -14
  460. package/lib/projects/watch.d.ts +1 -1
  461. package/lib/projects/watch.js +54 -48
  462. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +11 -9
  463. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +16 -11
  464. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  465. package/lib/prompts/accountNamePrompt.js +31 -26
  466. package/lib/prompts/accountsPrompt.js +15 -12
  467. package/lib/prompts/cmsFieldPrompt.js +19 -13
  468. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  469. package/lib/prompts/createApiSamplePrompt.js +12 -9
  470. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +11 -10
  471. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +88 -43
  472. package/lib/prompts/createFunctionPrompt.js +20 -17
  473. package/lib/prompts/createModulePrompt.js +15 -12
  474. package/lib/prompts/createTemplatePrompt.js +8 -5
  475. package/lib/prompts/downloadProjectPrompt.js +20 -17
  476. package/lib/prompts/installAppPrompt.js +26 -19
  477. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  478. package/lib/prompts/personalAccessKeyPrompt.js +47 -40
  479. package/lib/prompts/previewPrompt.js +22 -15
  480. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  481. package/lib/prompts/projectAddPrompt.js +18 -14
  482. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  483. package/lib/prompts/projectDevTargetAccountPrompt.js +54 -48
  484. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  485. package/lib/prompts/projectNameAndDestPrompt.js +29 -22
  486. package/lib/prompts/projectNamePrompt.js +14 -11
  487. package/lib/prompts/projectsLogsPrompt.js +8 -5
  488. package/lib/prompts/promptUtils.d.ts +1 -1
  489. package/lib/prompts/promptUtils.js +87 -70
  490. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  491. package/lib/prompts/sandboxesPrompt.js +30 -26
  492. package/lib/prompts/secretPrompt.js +15 -10
  493. package/lib/prompts/selectAppPrompt.js +14 -11
  494. package/lib/prompts/selectHubDBTablePrompt.js +30 -24
  495. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  496. package/lib/prompts/selectProjectTemplatePrompt.js +13 -10
  497. package/lib/prompts/selectPublicAppForMigrationPrompt.js +25 -22
  498. package/lib/prompts/setAsDefaultAccountPrompt.js +16 -13
  499. package/lib/prompts/uploadPrompt.js +17 -11
  500. package/lib/sandboxSync.d.ts +1 -1
  501. package/lib/sandboxSync.js +65 -58
  502. package/lib/sandboxes.d.ts +1 -1
  503. package/lib/sandboxes.js +76 -68
  504. package/lib/schema.js +23 -12
  505. package/lib/serverlessLogs.js +52 -45
  506. package/lib/testUtils.js +8 -4
  507. package/lib/ui/SpinniesManager.d.ts +1 -1
  508. package/lib/ui/SpinniesManager.js +34 -29
  509. package/lib/ui/boxen.js +14 -11
  510. package/lib/ui/git.js +20 -14
  511. package/lib/ui/index.js +74 -56
  512. package/lib/ui/logger.js +13 -10
  513. package/lib/ui/serverlessFunctionLogs.js +20 -14
  514. package/lib/ui/spinniesUtils.js +39 -24
  515. package/lib/ui/supportHyperlinks.js +6 -3
  516. package/lib/ui/supportsColor.js +17 -11
  517. package/lib/ui/table.js +13 -6
  518. package/lib/upload.js +21 -15
  519. package/lib/usageTracking.d.ts +11 -0
  520. package/lib/usageTracking.js +95 -95
  521. package/lib/utils/hasFlag.js +8 -2
  522. package/lib/validation.js +87 -48
  523. package/lib/yargsUtils.d.ts +1 -1
  524. package/lib/yargsUtils.js +16 -13
  525. package/mcp-server/server.js +8 -6
  526. package/mcp-server/tools/index.js +16 -13
  527. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  528. package/mcp-server/tools/project/AddFeatureToProject.js +41 -34
  529. package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
  530. package/mcp-server/tools/project/CreateProjectTool.js +52 -45
  531. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  532. package/mcp-server/tools/project/DeployProject.js +24 -17
  533. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  534. package/mcp-server/tools/project/GuidedWalkthroughTool.js +27 -20
  535. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  536. package/mcp-server/tools/project/UploadProjectTools.js +21 -11
  537. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  538. package/mcp-server/tools/project/ValidateProjectTool.js +19 -12
  539. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +15 -12
  540. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +16 -13
  541. package/mcp-server/tools/project/__tests__/DeployProject.test.js +9 -6
  542. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +7 -4
  543. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +7 -4
  544. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +7 -4
  545. package/mcp-server/tools/project/constants.js +9 -3
  546. package/mcp-server/types.js +5 -1
  547. package/mcp-server/utils/__tests__/command.test.js +11 -9
  548. package/mcp-server/utils/__tests__/project.test.js +26 -18
  549. package/mcp-server/utils/command.d.ts +1 -1
  550. package/mcp-server/utils/command.js +11 -4
  551. package/mcp-server/utils/content.d.ts +1 -1
  552. package/mcp-server/utils/content.js +6 -2
  553. package/mcp-server/utils/project.js +17 -8
  554. package/mcp-server/utils/toolUsageTracking.d.ts +1 -0
  555. package/mcp-server/utils/toolUsageTracking.js +25 -0
  556. package/package.json +13 -17
  557. package/types/{cms.d.ts → Cms.d.ts} +1 -1
  558. package/types/Cms.js +2 -0
  559. package/types/LocalDev.d.ts +4 -4
  560. package/types/LocalDev.js +2 -1
  561. package/types/ProjectComponents.d.ts +2 -2
  562. package/types/ProjectComponents.js +2 -1
  563. package/types/Projects.d.ts +1 -1
  564. package/types/Projects.js +5 -2
  565. package/types/Prompts.js +2 -1
  566. package/types/Sandboxes.js +2 -0
  567. package/types/Yargs.js +2 -1
  568. package/types/sandboxes.js +0 -1
  569. /package/{types/cms.js → commands/app/__tests__/install.test.d.ts} +0 -0
  570. /package/types/{sandboxes.d.ts → Sandboxes.d.ts} +0 -0
@@ -1,27 +1,62 @@
1
- import { getAccountId, getConfigAccounts } from '@hubspot/local-dev-lib/config';
2
- import { logger } from '@hubspot/local-dev-lib/logger';
3
- import { HUBSPOT_ACCOUNT_TYPES } from '@hubspot/local-dev-lib/constants/config';
4
- import { fetchDeveloperTestAccounts } from '@hubspot/local-dev-lib/api/developerTestAccounts';
5
- import { mockHubSpotHttpError } from '../testUtils.js';
6
- import * as errorHandlers from '../errorHandlers/index.js';
7
- import { getHasDevTestAccounts, handleDeveloperTestAccountCreateError, validateDevTestAccountUsageLimits, } from '../developerTestAccounts.js';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const config_1 = require("@hubspot/local-dev-lib/config");
37
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
38
+ const config_2 = require("@hubspot/local-dev-lib/constants/config");
39
+ const developerTestAccounts_1 = require("@hubspot/local-dev-lib/api/developerTestAccounts");
40
+ const testUtils_1 = require("../testUtils");
41
+ const errorHandlers = __importStar(require("../errorHandlers"));
42
+ const developerTestAccounts_2 = require("../developerTestAccounts");
8
43
  vi.mock('@hubspot/local-dev-lib/config');
9
44
  vi.mock('@hubspot/local-dev-lib/logger');
10
45
  vi.mock('@hubspot/local-dev-lib/api/developerTestAccounts');
11
46
  vi.mock('../errorHandlers');
12
- const mockedGetAccountId = getAccountId;
13
- const mockedGetConfigAccounts = getConfigAccounts;
14
- const mockedFetchDeveloperTestAccounts = fetchDeveloperTestAccounts;
47
+ const mockedGetAccountId = config_1.getAccountId;
48
+ const mockedGetConfigAccounts = config_1.getConfigAccounts;
49
+ const mockedFetchDeveloperTestAccounts = developerTestAccounts_1.fetchDeveloperTestAccounts;
15
50
  const APP_DEVELOPER_ACCOUNT_1 = {
16
51
  name: 'app-developer-1',
17
52
  accountId: 123,
18
- accountType: HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
53
+ accountType: config_2.HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
19
54
  env: 'prod',
20
55
  };
21
56
  const APP_DEVELOPER_ACCOUNT_2 = {
22
57
  name: 'app-developer-2',
23
58
  accountId: 456,
24
- accountType: HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
59
+ accountType: config_2.HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
25
60
  env: 'prod',
26
61
  };
27
62
  const accounts = [
@@ -31,7 +66,7 @@ const accounts = [
31
66
  name: 'test-account',
32
67
  accountId: 789,
33
68
  parentAccountId: APP_DEVELOPER_ACCOUNT_1.accountId,
34
- accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
69
+ accountType: config_2.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
35
70
  env: 'prod',
36
71
  },
37
72
  ];
@@ -40,19 +75,19 @@ describe('lib/developerTestAccounts', () => {
40
75
  it('should return true if there are developer test accounts associated with the account', () => {
41
76
  mockedGetAccountId.mockReturnValueOnce(APP_DEVELOPER_ACCOUNT_1.accountId);
42
77
  mockedGetConfigAccounts.mockReturnValueOnce(accounts);
43
- const result = getHasDevTestAccounts(APP_DEVELOPER_ACCOUNT_1);
78
+ const result = (0, developerTestAccounts_2.getHasDevTestAccounts)(APP_DEVELOPER_ACCOUNT_1);
44
79
  expect(result).toBe(true);
45
80
  });
46
81
  it('should return false if there are no developer test accounts associated with the account', () => {
47
82
  mockedGetAccountId.mockReturnValueOnce(APP_DEVELOPER_ACCOUNT_2.accountId);
48
83
  mockedGetConfigAccounts.mockReturnValueOnce(accounts);
49
- const result = getHasDevTestAccounts(APP_DEVELOPER_ACCOUNT_2);
84
+ const result = (0, developerTestAccounts_2.getHasDevTestAccounts)(APP_DEVELOPER_ACCOUNT_2);
50
85
  expect(result).toBe(false);
51
86
  });
52
87
  it('should return false if there are no accounts configured', () => {
53
88
  mockedGetAccountId.mockReturnValueOnce(APP_DEVELOPER_ACCOUNT_1.accountId);
54
89
  mockedGetConfigAccounts.mockReturnValueOnce(undefined);
55
- const result = getHasDevTestAccounts(APP_DEVELOPER_ACCOUNT_1);
90
+ const result = (0, developerTestAccounts_2.getHasDevTestAccounts)(APP_DEVELOPER_ACCOUNT_1);
56
91
  expect(result).toBe(false);
57
92
  });
58
93
  });
@@ -63,7 +98,7 @@ describe('lib/developerTestAccounts', () => {
63
98
  });
64
99
  it('should return null if the account id is not found', async () => {
65
100
  mockedGetAccountId.mockReturnValueOnce(undefined);
66
- const result = await validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1);
101
+ const result = await (0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1);
67
102
  expect(result).toBe(null);
68
103
  });
69
104
  it('should return null if there is no developer test account data', async () => {
@@ -71,7 +106,7 @@ describe('lib/developerTestAccounts', () => {
71
106
  mockedFetchDeveloperTestAccounts.mockResolvedValueOnce({
72
107
  data: null,
73
108
  });
74
- const result = await validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1);
109
+ const result = await (0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1);
75
110
  expect(result).toBe(null);
76
111
  });
77
112
  it('should return the test account data if the account has not reached the limit', async () => {
@@ -83,7 +118,7 @@ describe('lib/developerTestAccounts', () => {
83
118
  mockedFetchDeveloperTestAccounts.mockResolvedValueOnce({
84
119
  data: testAccountData,
85
120
  });
86
- const result = await validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1);
121
+ const result = await (0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1);
87
122
  expect(result).toEqual(expect.objectContaining(testAccountData));
88
123
  });
89
124
  it('should throw an error if the account has reached the limit', async () => {
@@ -94,14 +129,14 @@ describe('lib/developerTestAccounts', () => {
94
129
  results: [{}],
95
130
  },
96
131
  });
97
- await expect(validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1)).rejects.toThrow();
132
+ await expect((0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1)).rejects.toThrow();
98
133
  });
99
134
  });
100
135
  describe('handleDeveloperTestAccountCreateError()', () => {
101
136
  let loggerErrorSpy;
102
137
  let logErrorSpy;
103
138
  beforeEach(() => {
104
- loggerErrorSpy = vi.spyOn(logger, 'error');
139
+ loggerErrorSpy = vi.spyOn(logger_1.logger, 'error');
105
140
  logErrorSpy = vi.spyOn(errorHandlers, 'logError');
106
141
  });
107
142
  afterEach(() => {
@@ -109,36 +144,36 @@ describe('lib/developerTestAccounts', () => {
109
144
  logErrorSpy.mockRestore();
110
145
  });
111
146
  it('should log and throw an error if the account is missing the required scopes', () => {
112
- const missingScopesError = mockHubSpotHttpError('Missing scopes error', {
147
+ const missingScopesError = (0, testUtils_1.mockHubSpotHttpError)('Missing scopes error', {
113
148
  status: 403,
114
149
  data: {
115
150
  message: 'Missing scopes error',
116
151
  category: 'MISSING_SCOPES',
117
152
  },
118
153
  });
119
- expect(() => handleDeveloperTestAccountCreateError(missingScopesError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Missing scopes error');
154
+ expect(() => (0, developerTestAccounts_2.handleDeveloperTestAccountCreateError)(missingScopesError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Missing scopes error');
120
155
  expect(loggerErrorSpy).toHaveBeenCalled();
121
156
  });
122
157
  it('should log and throw an error if the account is missing the required scopes', () => {
123
- const portalLimitReachedError = mockHubSpotHttpError('Portal limit reached error', {
158
+ const portalLimitReachedError = (0, testUtils_1.mockHubSpotHttpError)('Portal limit reached error', {
124
159
  status: 400,
125
160
  data: {
126
161
  message: 'Portal limit reached error',
127
162
  errorType: 'TEST_PORTAL_LIMIT_REACHED',
128
163
  },
129
164
  });
130
- expect(() => handleDeveloperTestAccountCreateError(portalLimitReachedError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Portal limit reached error');
165
+ expect(() => (0, developerTestAccounts_2.handleDeveloperTestAccountCreateError)(portalLimitReachedError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Portal limit reached error');
131
166
  expect(loggerErrorSpy).toHaveBeenCalled();
132
167
  });
133
168
  it('should log a generic error message for an unknown error type', () => {
134
- const someUnknownError = mockHubSpotHttpError('Some unknown error', {
169
+ const someUnknownError = (0, testUtils_1.mockHubSpotHttpError)('Some unknown error', {
135
170
  status: 400,
136
171
  data: {
137
172
  message: 'Some unknown error',
138
173
  category: 'SOME_UNKNOWN_ERROR',
139
174
  },
140
175
  });
141
- expect(() => handleDeveloperTestAccountCreateError(someUnknownError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Some unknown error');
176
+ expect(() => (0, developerTestAccounts_2.handleDeveloperTestAccountCreateError)(someUnknownError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Some unknown error');
142
177
  expect(logErrorSpy).toHaveBeenCalled();
143
178
  });
144
179
  });
@@ -1,7 +1,9 @@
1
- import { fetchEnabledFeatures } from '@hubspot/local-dev-lib/api/localDevAuth';
2
- import { hasFeature } from '../hasFeature.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const localDevAuth_1 = require("@hubspot/local-dev-lib/api/localDevAuth");
4
+ const hasFeature_1 = require("../hasFeature");
3
5
  vi.mock('@hubspot/local-dev-lib/api/localDevAuth');
4
- const mockedFetchEnabledFeatures = fetchEnabledFeatures;
6
+ const mockedFetchEnabledFeatures = localDevAuth_1.fetchEnabledFeatures;
5
7
  describe('lib/hasFeature', () => {
6
8
  describe('hasFeature()', () => {
7
9
  const accountId = 123;
@@ -18,17 +20,17 @@ describe('lib/hasFeature', () => {
18
20
  });
19
21
  it('should return true if the feature is enabled', async () => {
20
22
  // @ts-expect-error test data
21
- const result = await hasFeature(accountId, 'feature-1');
23
+ const result = await (0, hasFeature_1.hasFeature)(accountId, 'feature-1');
22
24
  expect(result).toBe(true);
23
25
  });
24
26
  it('should return false if the feature is not enabled', async () => {
25
27
  // @ts-expect-error test data
26
- const result = await hasFeature(accountId, 'feature-2');
28
+ const result = await (0, hasFeature_1.hasFeature)(accountId, 'feature-2');
27
29
  expect(result).toBe(false);
28
30
  });
29
31
  it('should return false if the feature is not present', async () => {
30
32
  // @ts-expect-error test data
31
- const result = await hasFeature(accountId, 'feature-4');
33
+ const result = await (0, hasFeature_1.hasFeature)(accountId, 'feature-4');
32
34
  expect(result).toBe(false);
33
35
  });
34
36
  });
@@ -1,6 +1,11 @@
1
- import util from 'util';
2
- import { isGloballyInstalled, getLatestCliVersion, DEFAULT_PACKAGE_MANAGER, } from '../npm.js';
3
- import pkg from '../../package.json' with { type: 'json' };
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const util_1 = __importDefault(require("util"));
7
+ const npm_1 = require("../npm");
8
+ const package_json_1 = __importDefault(require("../../package.json"));
4
9
  vi.mock('@hubspot/local-dev-lib/logger');
5
10
  vi.mock('../ui/SpinniesManager');
6
11
  describe('lib/npm', () => {
@@ -12,24 +17,24 @@ describe('lib/npm', () => {
12
17
  }
13
18
  beforeEach(() => {
14
19
  execMock = vi.fn();
15
- util.promisify = mockedPromisify(execMock);
20
+ util_1.default.promisify = mockedPromisify(execMock);
16
21
  });
17
22
  describe('isGloballyInstalled()', () => {
18
23
  it('should return true when exec is successful', async () => {
19
- const actual = await isGloballyInstalled(DEFAULT_PACKAGE_MANAGER);
24
+ const actual = await (0, npm_1.isGloballyInstalled)(npm_1.DEFAULT_PACKAGE_MANAGER);
20
25
  expect(actual).toBe(true);
21
26
  expect(execMock).toHaveBeenCalledTimes(1);
22
- expect(execMock).toHaveBeenCalledWith(`${DEFAULT_PACKAGE_MANAGER} --version`);
27
+ expect(execMock).toHaveBeenCalledWith(`${npm_1.DEFAULT_PACKAGE_MANAGER} --version`);
23
28
  });
24
29
  it('should return false when exec is unsuccessful', async () => {
25
30
  execMock.mockImplementationOnce(() => {
26
31
  throw new Error('unsuccessful');
27
32
  });
28
- util.promisify = mockedPromisify(execMock);
29
- const actual = await isGloballyInstalled(DEFAULT_PACKAGE_MANAGER);
33
+ util_1.default.promisify = mockedPromisify(execMock);
34
+ const actual = await (0, npm_1.isGloballyInstalled)(npm_1.DEFAULT_PACKAGE_MANAGER);
30
35
  expect(actual).toBe(false);
31
36
  expect(execMock).toHaveBeenCalledTimes(1);
32
- expect(execMock).toHaveBeenCalledWith(`${DEFAULT_PACKAGE_MANAGER} --version`);
37
+ expect(execMock).toHaveBeenCalledWith(`${npm_1.DEFAULT_PACKAGE_MANAGER} --version`);
33
38
  });
34
39
  });
35
40
  describe('getLatestCliVersion()', () => {
@@ -39,19 +44,19 @@ describe('lib/npm', () => {
39
44
  execMock.mockResolvedValueOnce({
40
45
  stdout: JSON.stringify({ latest, next }),
41
46
  });
42
- util.promisify = mockedPromisify(execMock);
43
- const actual = await getLatestCliVersion();
47
+ util_1.default.promisify = mockedPromisify(execMock);
48
+ const actual = await (0, npm_1.getLatestCliVersion)();
44
49
  expect(actual).toEqual({ latest, next });
45
- expect(execMock).toHaveBeenCalledWith(`npm info ${pkg.name} dist-tags --json`);
50
+ expect(execMock).toHaveBeenCalledWith(`npm info ${package_json_1.default.name} dist-tags --json`);
46
51
  });
47
52
  it('should throw any errors that encounter with the check', async () => {
48
53
  const errorMessage = 'unsuccessful';
49
54
  execMock.mockImplementationOnce(() => {
50
55
  throw new Error(errorMessage);
51
56
  });
52
- util.promisify = mockedPromisify(execMock);
53
- await expect(() => getLatestCliVersion()).rejects.toThrow(errorMessage);
54
- expect(execMock).toHaveBeenCalledWith(`npm info ${pkg.name} dist-tags --json`);
57
+ util_1.default.promisify = mockedPromisify(execMock);
58
+ await expect(() => (0, npm_1.getLatestCliVersion)()).rejects.toThrow(errorMessage);
59
+ expect(execMock).toHaveBeenCalledWith(`npm info ${package_json_1.default.name} dist-tags --json`);
55
60
  });
56
61
  });
57
62
  });
@@ -1,21 +1,26 @@
1
- import express from 'express';
2
- import open from 'open';
3
- import { OAuth2Manager } from '@hubspot/local-dev-lib/models/OAuth2Manager';
4
- import { getAccountConfig } from '@hubspot/local-dev-lib/config';
5
- import { addOauthToAccountConfig } from '@hubspot/local-dev-lib/oauth';
6
- import { logger } from '@hubspot/local-dev-lib/logger';
7
- import { ENVIRONMENTS } from '@hubspot/local-dev-lib/constants/environments';
8
- import { DEFAULT_OAUTH_SCOPES } from '@hubspot/local-dev-lib/constants/auth';
9
- import { authenticateWithOauth } from '../oauth.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const express_1 = __importDefault(require("express"));
7
+ const open_1 = __importDefault(require("open"));
8
+ const OAuth2Manager_1 = require("@hubspot/local-dev-lib/models/OAuth2Manager");
9
+ const config_1 = require("@hubspot/local-dev-lib/config");
10
+ const oauth_1 = require("@hubspot/local-dev-lib/oauth");
11
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
12
+ const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
13
+ const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
14
+ const oauth_2 = require("../oauth");
10
15
  vi.mock('express');
11
16
  vi.mock('open');
12
17
  vi.mock('@hubspot/local-dev-lib/models/OAuth2Manager');
13
18
  vi.mock('@hubspot/local-dev-lib/config');
14
19
  vi.mock('@hubspot/local-dev-lib/oauth');
15
20
  vi.mock('@hubspot/local-dev-lib/logger');
16
- const mockedExpress = express;
17
- const mockedOAuth2Manager = OAuth2Manager;
18
- const mockedGetAccountConfig = getAccountConfig;
21
+ const mockedExpress = express_1.default;
22
+ const mockedOAuth2Manager = OAuth2Manager_1.OAuth2Manager;
23
+ const mockedGetAccountConfig = config_1.getAccountConfig;
19
24
  describe('lib/oauth', () => {
20
25
  const mockExpressReq = {
21
26
  query: { code: 'test-auth-code' },
@@ -26,7 +31,7 @@ describe('lib/oauth', () => {
26
31
  clientId: 'test-client-id',
27
32
  clientSecret: 'test-client-secret',
28
33
  scopes: ['test-scope'],
29
- env: ENVIRONMENTS.PROD,
34
+ env: environments_1.ENVIRONMENTS.PROD,
30
35
  };
31
36
  beforeEach(() => {
32
37
  mockedExpress.mockReturnValue({
@@ -50,18 +55,18 @@ describe('lib/oauth', () => {
50
55
  };
51
56
  mockedOAuth2Manager.mockImplementation(() => mockOAuth2Manager);
52
57
  mockedGetAccountConfig.mockReturnValue({
53
- env: ENVIRONMENTS.PROD,
58
+ env: environments_1.ENVIRONMENTS.PROD,
54
59
  });
55
- await authenticateWithOauth(mockAccountConfig);
60
+ await (0, oauth_2.authenticateWithOauth)(mockAccountConfig);
56
61
  // Verify OAuth2Manager was initialized correctly
57
62
  expect(mockedOAuth2Manager).toHaveBeenCalledWith({
58
63
  ...mockAccountConfig,
59
- env: ENVIRONMENTS.PROD,
64
+ env: environments_1.ENVIRONMENTS.PROD,
60
65
  });
61
66
  // Verify logger was called
62
- expect(logger.log).toHaveBeenCalledWith('Authorizing');
67
+ expect(logger_1.logger.log).toHaveBeenCalledWith('Authorizing');
63
68
  // Verify OAuth tokens were added to config
64
- expect(addOauthToAccountConfig).toHaveBeenCalledWith(mockOAuth2Manager);
69
+ expect(oauth_1.addOauthToAccountConfig).toHaveBeenCalledWith(mockOAuth2Manager);
65
70
  });
66
71
  it('should handle missing clientId', async () => {
67
72
  const invalidConfig = {
@@ -74,8 +79,8 @@ describe('lib/oauth', () => {
74
79
  const exitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
75
80
  throw new Error('exit');
76
81
  });
77
- await expect(authenticateWithOauth(invalidConfig)).rejects.toThrow('exit');
78
- expect(logger.error).toHaveBeenCalled();
82
+ await expect((0, oauth_2.authenticateWithOauth)(invalidConfig)).rejects.toThrow('exit');
83
+ expect(logger_1.logger.error).toHaveBeenCalled();
79
84
  expect(exitSpy).toHaveBeenCalled();
80
85
  exitSpy.mockRestore();
81
86
  });
@@ -89,9 +94,9 @@ describe('lib/oauth', () => {
89
94
  exchangeForTokens: vi.fn().mockResolvedValue({}),
90
95
  };
91
96
  mockedOAuth2Manager.mockImplementation(() => mockOAuth2Manager);
92
- await authenticateWithOauth(configWithoutScopes);
97
+ await (0, oauth_2.authenticateWithOauth)(configWithoutScopes);
93
98
  // Verify default scopes were used
94
- expect(open).toHaveBeenCalledWith(expect.stringContaining(encodeURIComponent(DEFAULT_OAUTH_SCOPES.join(' '))), expect.anything());
99
+ expect(open_1.default).toHaveBeenCalledWith(expect.stringContaining(encodeURIComponent(auth_1.DEFAULT_OAUTH_SCOPES.join(' '))), expect.anything());
95
100
  });
96
101
  it('should handle OAuth exchange failure', async () => {
97
102
  const mockOAuth2Manager = {
@@ -101,7 +106,7 @@ describe('lib/oauth', () => {
101
106
  .mockRejectedValue(new Error('Exchange failed')),
102
107
  };
103
108
  mockedOAuth2Manager.mockImplementation(() => mockOAuth2Manager);
104
- await authenticateWithOauth(mockAccountConfig);
109
+ await (0, oauth_2.authenticateWithOauth)(mockAccountConfig);
105
110
  expect(mockExpressResp.send).toHaveBeenCalledWith(expect.stringContaining('Authorization failed'));
106
111
  });
107
112
  });
@@ -1,34 +1,36 @@
1
- import { parseStringToNumber } from '../parsing.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const parsing_1 = require("../parsing");
2
4
  describe('lib/parsing', () => {
3
5
  describe('parseStringToNumber', () => {
4
6
  it('should parse valid integer strings', () => {
5
- expect(parseStringToNumber('123')).toBe(123);
6
- expect(parseStringToNumber('0')).toBe(0);
7
- expect(parseStringToNumber('-456')).toBe(-456);
8
- expect(parseStringToNumber('999')).toBe(999);
7
+ expect((0, parsing_1.parseStringToNumber)('123')).toBe(123);
8
+ expect((0, parsing_1.parseStringToNumber)('0')).toBe(0);
9
+ expect((0, parsing_1.parseStringToNumber)('-456')).toBe(-456);
10
+ expect((0, parsing_1.parseStringToNumber)('999')).toBe(999);
9
11
  });
10
12
  it('should parse strings with leading zeros', () => {
11
- expect(parseStringToNumber('007')).toBe(7);
12
- expect(parseStringToNumber('0123')).toBe(123);
13
+ expect((0, parsing_1.parseStringToNumber)('007')).toBe(7);
14
+ expect((0, parsing_1.parseStringToNumber)('0123')).toBe(123);
13
15
  });
14
16
  it('should throw error for strings with leading whitespace', () => {
15
- expect(() => parseStringToNumber(' 42')).toThrow('Unable to parse string to number');
16
- expect(() => parseStringToNumber('\t123')).toThrow('Unable to parse string to number');
17
+ expect(() => (0, parsing_1.parseStringToNumber)(' 42')).toThrow('Unable to parse string to number');
18
+ expect(() => (0, parsing_1.parseStringToNumber)('\t123')).toThrow('Unable to parse string to number');
17
19
  });
18
20
  it('should throw error for invalid number strings', () => {
19
- expect(() => parseStringToNumber('abc')).toThrow('Unable to parse string to number');
20
- expect(() => parseStringToNumber('')).toThrow('Unable to parse string to number');
21
- expect(() => parseStringToNumber('NaN')).toThrow('Unable to parse string to number');
21
+ expect(() => (0, parsing_1.parseStringToNumber)('abc')).toThrow('Unable to parse string to number');
22
+ expect(() => (0, parsing_1.parseStringToNumber)('')).toThrow('Unable to parse string to number');
23
+ expect(() => (0, parsing_1.parseStringToNumber)('NaN')).toThrow('Unable to parse string to number');
22
24
  });
23
25
  it('should throw error for strings with non-numeric characters', () => {
24
- expect(() => parseStringToNumber('123abc')).toThrow('Unable to parse string to number');
25
- expect(() => parseStringToNumber('456def')).toThrow('Unable to parse string to number');
26
- expect(() => parseStringToNumber('12.34')).toThrow('Unable to parse string to number');
26
+ expect(() => (0, parsing_1.parseStringToNumber)('123abc')).toThrow('Unable to parse string to number');
27
+ expect(() => (0, parsing_1.parseStringToNumber)('456def')).toThrow('Unable to parse string to number');
28
+ expect(() => (0, parsing_1.parseStringToNumber)('12.34')).toThrow('Unable to parse string to number');
27
29
  });
28
30
  it('should throw error for strings with mixed content', () => {
29
- expect(() => parseStringToNumber('123 456')).toThrow('Unable to parse string to number');
30
- expect(() => parseStringToNumber('1,234')).toThrow('Unable to parse string to number');
31
- expect(() => parseStringToNumber('1.23e4')).toThrow('Unable to parse string to number');
31
+ expect(() => (0, parsing_1.parseStringToNumber)('123 456')).toThrow('Unable to parse string to number');
32
+ expect(() => (0, parsing_1.parseStringToNumber)('1,234')).toThrow('Unable to parse string to number');
33
+ expect(() => (0, parsing_1.parseStringToNumber)('1.23e4')).toThrow('Unable to parse string to number');
32
34
  });
33
35
  });
34
36
  });
@@ -1,5 +1,7 @@
1
- import { poll, DEFAULT_POLLING_STATES } from '../polling.js';
2
- import { DEFAULT_POLLING_DELAY } from '../constants.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const polling_1 = require("../polling");
4
+ const constants_1 = require("../constants");
3
5
  // Helper to create a mock polling callback
4
6
  const createMockCallback = (responses) => {
5
7
  let callCount = 0;
@@ -19,56 +21,56 @@ describe('lib/polling', () => {
19
21
  describe('poll()', () => {
20
22
  it('should resolve when status is SUCCESS', async () => {
21
23
  const mockCallback = createMockCallback([
22
- { status: DEFAULT_POLLING_STATES.STARTED },
23
- { status: DEFAULT_POLLING_STATES.SUCCESS },
24
+ { status: polling_1.DEFAULT_POLLING_STATES.STARTED },
25
+ { status: polling_1.DEFAULT_POLLING_STATES.SUCCESS },
24
26
  ]);
25
- const pollPromise = poll(mockCallback);
27
+ const pollPromise = (0, polling_1.poll)(mockCallback);
26
28
  // Fast-forward through two polling intervals
27
- vi.advanceTimersByTime(DEFAULT_POLLING_DELAY * 2);
29
+ vi.advanceTimersByTime(constants_1.DEFAULT_POLLING_DELAY * 2);
28
30
  const result = await pollPromise;
29
- expect(result.status).toBe(DEFAULT_POLLING_STATES.SUCCESS);
31
+ expect(result.status).toBe(polling_1.DEFAULT_POLLING_STATES.SUCCESS);
30
32
  expect(mockCallback).toHaveBeenCalledTimes(2);
31
33
  });
32
34
  it('should reject when status is ERROR', async () => {
33
35
  const mockCallback = createMockCallback([
34
- { status: DEFAULT_POLLING_STATES.STARTED },
35
- { status: DEFAULT_POLLING_STATES.ERROR },
36
+ { status: polling_1.DEFAULT_POLLING_STATES.STARTED },
37
+ { status: polling_1.DEFAULT_POLLING_STATES.ERROR },
36
38
  ]);
37
- const pollPromise = poll(mockCallback);
38
- vi.advanceTimersByTime(DEFAULT_POLLING_DELAY * 2);
39
+ const pollPromise = (0, polling_1.poll)(mockCallback);
40
+ vi.advanceTimersByTime(constants_1.DEFAULT_POLLING_DELAY * 2);
39
41
  await expect(pollPromise).rejects.toEqual({
40
- status: DEFAULT_POLLING_STATES.ERROR,
42
+ status: polling_1.DEFAULT_POLLING_STATES.ERROR,
41
43
  });
42
44
  expect(mockCallback).toHaveBeenCalledTimes(2);
43
45
  });
44
46
  it('should reject when status is FAILURE', async () => {
45
47
  const mockCallback = createMockCallback([
46
- { status: DEFAULT_POLLING_STATES.STARTED },
47
- { status: DEFAULT_POLLING_STATES.FAILURE },
48
+ { status: polling_1.DEFAULT_POLLING_STATES.STARTED },
49
+ { status: polling_1.DEFAULT_POLLING_STATES.FAILURE },
48
50
  ]);
49
- const pollPromise = poll(mockCallback);
50
- vi.advanceTimersByTime(DEFAULT_POLLING_DELAY * 2);
51
+ const pollPromise = (0, polling_1.poll)(mockCallback);
52
+ vi.advanceTimersByTime(constants_1.DEFAULT_POLLING_DELAY * 2);
51
53
  await expect(pollPromise).rejects.toEqual({
52
- status: DEFAULT_POLLING_STATES.FAILURE,
54
+ status: polling_1.DEFAULT_POLLING_STATES.FAILURE,
53
55
  });
54
56
  });
55
57
  it('should reject when status is REVERTED', async () => {
56
58
  const mockCallback = createMockCallback([
57
- { status: DEFAULT_POLLING_STATES.STARTED },
58
- { status: DEFAULT_POLLING_STATES.REVERTED },
59
+ { status: polling_1.DEFAULT_POLLING_STATES.STARTED },
60
+ { status: polling_1.DEFAULT_POLLING_STATES.REVERTED },
59
61
  ]);
60
- const pollPromise = poll(mockCallback);
61
- vi.advanceTimersByTime(DEFAULT_POLLING_DELAY * 2);
62
+ const pollPromise = (0, polling_1.poll)(mockCallback);
63
+ vi.advanceTimersByTime(constants_1.DEFAULT_POLLING_DELAY * 2);
62
64
  await expect(pollPromise).rejects.toEqual({
63
- status: DEFAULT_POLLING_STATES.REVERTED,
65
+ status: polling_1.DEFAULT_POLLING_STATES.REVERTED,
64
66
  });
65
67
  });
66
68
  it('should reject when callback throws an error', async () => {
67
69
  const mockCallback = vi
68
70
  .fn()
69
71
  .mockRejectedValue(new Error('Network error'));
70
- const pollPromise = poll(mockCallback);
71
- vi.advanceTimersByTime(DEFAULT_POLLING_DELAY);
72
+ const pollPromise = (0, polling_1.poll)(mockCallback);
73
+ vi.advanceTimersByTime(constants_1.DEFAULT_POLLING_DELAY);
72
74
  await expect(pollPromise).rejects.toThrow('Network error');
73
75
  expect(mockCallback).toHaveBeenCalledTimes(1);
74
76
  });
@@ -1,35 +1,40 @@
1
- import readline from 'readline';
2
- import { logger, setLogLevel, LOG_LEVEL } from '@hubspot/local-dev-lib/logger';
3
- import { handleExit, handleKeypress, TERMINATION_SIGNALS } from '../process.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const readline_1 = __importDefault(require("readline"));
7
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
8
+ const process_1 = require("../process");
4
9
  vi.mock('readline');
5
10
  vi.mock('@hubspot/local-dev-lib/logger');
6
- const mockedReadline = readline;
7
- const mockedLogger = logger;
8
- const mockedSetLogLevel = setLogLevel;
11
+ const mockedReadline = readline_1.default;
12
+ const mockedLogger = logger_1.logger;
13
+ const mockedSetLogLevel = logger_1.setLogLevel;
9
14
  const processRemoveListenerSpy = vi.spyOn(process, 'removeAllListeners');
10
15
  const processOnSpy = vi.spyOn(process, 'on');
11
16
  describe('lib/process', () => {
12
17
  describe('handleExit()', () => {
13
18
  const mockCallback = vi.fn();
14
19
  it('should set up listeners for all termination signals', () => {
15
- handleExit(mockCallback);
16
- TERMINATION_SIGNALS.forEach(signal => {
20
+ (0, process_1.handleExit)(mockCallback);
21
+ process_1.TERMINATION_SIGNALS.forEach(signal => {
17
22
  expect(processRemoveListenerSpy).toHaveBeenCalledWith(signal);
18
23
  expect(processOnSpy).toHaveBeenCalledWith(signal, expect.any(Function));
19
24
  });
20
25
  });
21
26
  it('should handle SIGHUP signal correctly', async () => {
22
- handleExit(mockCallback);
27
+ (0, process_1.handleExit)(mockCallback);
23
28
  // Get the callback function passed to process.on for SIGHUP
24
29
  const sighupCallback = processOnSpy.mock.calls.find(call => call[0] === 'SIGHUP')?.[1];
25
30
  expect(sighupCallback).toBeDefined();
26
31
  sighupCallback();
27
- expect(mockedSetLogLevel).toHaveBeenCalledWith(LOG_LEVEL.NONE);
32
+ expect(mockedSetLogLevel).toHaveBeenCalledWith(logger_1.LOG_LEVEL.NONE);
28
33
  expect(mockCallback).toHaveBeenCalledWith({ isSIGHUP: true });
29
34
  expect(mockedLogger.debug).toHaveBeenCalledWith(expect.stringContaining('SIGHUP'));
30
35
  });
31
36
  it('should handle non-SIGHUP signals correctly', async () => {
32
- handleExit(mockCallback);
37
+ (0, process_1.handleExit)(mockCallback);
33
38
  // Get the callback function passed to process.on for SIGINT
34
39
  const sigintCallback = processOnSpy.mock.calls.find(call => call[0] === 'SIGINT')?.[1];
35
40
  expect(sigintCallback).toBeDefined();
@@ -39,7 +44,7 @@ describe('lib/process', () => {
39
44
  expect(mockedLogger.debug).toHaveBeenCalledWith(expect.stringContaining('SIGINT'));
40
45
  });
41
46
  it('should prevent duplicate exit handling', async () => {
42
- handleExit(mockCallback);
47
+ (0, process_1.handleExit)(mockCallback);
43
48
  // Get the callback function passed to process.on for SIGINT
44
49
  const sigintCallback = processOnSpy.mock.calls.find(call => call[0] === 'SIGINT')?.[1];
45
50
  expect(sigintCallback).toBeDefined();
@@ -62,7 +67,7 @@ describe('lib/process', () => {
62
67
  });
63
68
  mockedReadline.createInterface.mockReturnValue({});
64
69
  mockedReadline.emitKeypressEvents.mockImplementation(() => { });
65
- handleKeypress(mockCallback);
70
+ (0, process_1.handleKeypress)(mockCallback);
66
71
  expect(mockedReadline.createInterface).toHaveBeenCalledWith(process.stdin, process.stdout);
67
72
  expect(mockedReadline.emitKeypressEvents).toHaveBeenCalledWith(process.stdin);
68
73
  expect(process.stdin.setRawMode).toHaveBeenCalledWith(true);
@@ -78,7 +83,7 @@ describe('lib/process', () => {
78
83
  removeAllListeners: vi.fn(),
79
84
  },
80
85
  });
81
- handleKeypress(mockCallback);
86
+ (0, process_1.handleKeypress)(mockCallback);
82
87
  expect(process.stdin.setRawMode).toBeUndefined();
83
88
  });
84
89
  });