@hubspot/cli 7.6.0-beta.5 → 7.6.0-beta.7

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 (602) hide show
  1. package/README.md +0 -4
  2. package/api/__tests__/migrate.test.js +27 -29
  3. package/api/migrate.d.ts +7 -0
  4. package/api/migrate.js +22 -22
  5. package/bin/cli.js +92 -97
  6. package/bin/hs +2 -2
  7. package/bin/hscms +2 -2
  8. package/bin/silenceErrors.js +1 -2
  9. package/commands/__tests__/account.test.js +29 -34
  10. package/commands/__tests__/auth.test.js +11 -16
  11. package/commands/__tests__/cms.test.js +15 -20
  12. package/commands/__tests__/config.test.js +14 -19
  13. package/commands/__tests__/create.test.js +10 -15
  14. package/commands/__tests__/customObject.test.js +14 -19
  15. package/commands/__tests__/doctor.test.js +43 -48
  16. package/commands/__tests__/feedback.test.js +7 -45
  17. package/commands/__tests__/fetch.test.js +29 -28
  18. package/commands/__tests__/filemanager.test.js +14 -19
  19. package/commands/__tests__/function.test.js +16 -21
  20. package/commands/__tests__/getStarted.test.js +45 -50
  21. package/commands/__tests__/hubdb.test.js +17 -22
  22. package/commands/__tests__/init.test.js +12 -17
  23. package/commands/__tests__/lint.test.js +13 -18
  24. package/commands/__tests__/list.test.js +18 -23
  25. package/commands/__tests__/logs.test.js +28 -27
  26. package/commands/__tests__/mcp.test.js +14 -19
  27. package/commands/__tests__/mv.test.js +14 -52
  28. package/commands/__tests__/open.test.js +13 -51
  29. package/commands/__tests__/project.test.js +44 -49
  30. package/commands/__tests__/remove.test.js +13 -51
  31. package/commands/__tests__/sandbox.test.js +14 -19
  32. package/commands/__tests__/secret.test.js +16 -21
  33. package/commands/__tests__/testAccount.test.js +18 -21
  34. package/commands/__tests__/theme.test.js +15 -20
  35. package/commands/account/__tests__/auth.test.js +11 -16
  36. package/commands/account/__tests__/clean.test.js +12 -17
  37. package/commands/account/__tests__/createOverride.test.js +10 -15
  38. package/commands/account/__tests__/info.test.js +11 -16
  39. package/commands/account/__tests__/list.test.js +11 -16
  40. package/commands/account/__tests__/remove.test.js +13 -18
  41. package/commands/account/__tests__/removeOverride.js +8 -13
  42. package/commands/account/__tests__/rename.test.js +15 -20
  43. package/commands/account/__tests__/use.test.js +10 -15
  44. package/commands/account/auth.d.ts +1 -1
  45. package/commands/account/auth.js +78 -69
  46. package/commands/account/clean.d.ts +1 -1
  47. package/commands/account/clean.js +55 -60
  48. package/commands/account/createOverride.d.ts +1 -1
  49. package/commands/account/createOverride.js +52 -57
  50. package/commands/account/info.d.ts +1 -1
  51. package/commands/account/info.js +33 -35
  52. package/commands/account/list.d.ts +1 -1
  53. package/commands/account/list.js +43 -45
  54. package/commands/account/remove.d.ts +1 -1
  55. package/commands/account/remove.js +37 -42
  56. package/commands/account/removeOverride.d.ts +1 -1
  57. package/commands/account/removeOverride.js +38 -43
  58. package/commands/account/rename.d.ts +1 -1
  59. package/commands/account/rename.js +18 -20
  60. package/commands/account/use.d.ts +1 -1
  61. package/commands/account/use.js +29 -31
  62. package/commands/account.d.ts +1 -1
  63. package/commands/account.js +23 -28
  64. package/commands/app/__tests__/migrate.test.js +29 -34
  65. package/commands/app/migrate.d.ts +2 -2
  66. package/commands/app/migrate.js +40 -43
  67. package/commands/app/secret/__tests__/add.test.js +6 -11
  68. package/commands/app/secret/__tests__/delete.test.js +6 -11
  69. package/commands/app/secret/__tests__/list.test.js +6 -11
  70. package/commands/app/secret/__tests__/update.test.js +6 -11
  71. package/commands/app/secret/add.d.ts +1 -1
  72. package/commands/app/secret/add.js +28 -30
  73. package/commands/app/secret/delete.d.ts +1 -1
  74. package/commands/app/secret/delete.js +34 -36
  75. package/commands/app/secret/list.d.ts +1 -1
  76. package/commands/app/secret/list.js +25 -27
  77. package/commands/app/secret/update.d.ts +1 -1
  78. package/commands/app/secret/update.js +32 -34
  79. package/commands/app/secret.d.ts +1 -1
  80. package/commands/app/secret.js +12 -17
  81. package/commands/app.d.ts +1 -1
  82. package/commands/app.js +6 -11
  83. package/commands/auth.d.ts +1 -1
  84. package/commands/auth.js +70 -72
  85. package/commands/cms/convertFields.d.ts +1 -1
  86. package/commands/cms/convertFields.js +34 -39
  87. package/commands/cms/getReactModule.d.ts +1 -1
  88. package/commands/cms/getReactModule.js +32 -37
  89. package/commands/cms/lighthouseScore.d.ts +1 -1
  90. package/commands/cms/lighthouseScore.js +67 -72
  91. package/commands/cms.d.ts +1 -1
  92. package/commands/cms.js +11 -16
  93. package/commands/completion.d.ts +1 -1
  94. package/commands/completion.js +10 -15
  95. package/commands/config/migrate.d.ts +1 -1
  96. package/commands/config/migrate.js +27 -32
  97. package/commands/config/set.d.ts +2 -1
  98. package/commands/config/set.js +40 -32
  99. package/commands/config.d.ts +1 -1
  100. package/commands/config.js +8 -13
  101. package/commands/create/api-sample.d.ts +1 -1
  102. package/commands/create/api-sample.js +28 -33
  103. package/commands/create/app.d.ts +1 -1
  104. package/commands/create/app.js +3 -5
  105. package/commands/create/function.d.ts +1 -1
  106. package/commands/create/function.js +9 -11
  107. package/commands/create/index.d.ts +1 -1
  108. package/commands/create/index.js +19 -24
  109. package/commands/create/module.d.ts +1 -1
  110. package/commands/create/module.js +12 -14
  111. package/commands/create/react-app.d.ts +1 -1
  112. package/commands/create/react-app.js +3 -5
  113. package/commands/create/template.d.ts +1 -1
  114. package/commands/create/template.js +12 -14
  115. package/commands/create/vue-app.d.ts +1 -1
  116. package/commands/create/vue-app.js +3 -5
  117. package/commands/create/webpack-serverless.d.ts +1 -1
  118. package/commands/create/webpack-serverless.js +3 -5
  119. package/commands/create/website-theme.d.ts +1 -1
  120. package/commands/create/website-theme.js +5 -7
  121. package/commands/create.d.ts +2 -2
  122. package/commands/create.js +30 -35
  123. package/commands/customObject/__tests__/create.test.js +13 -18
  124. package/commands/customObject/__tests__/schema.test.js +18 -23
  125. package/commands/customObject/create.d.ts +1 -1
  126. package/commands/customObject/create.js +28 -30
  127. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  131. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  132. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  133. package/commands/customObject/schema/create.d.ts +1 -1
  134. package/commands/customObject/schema/create.js +28 -30
  135. package/commands/customObject/schema/delete.d.ts +1 -1
  136. package/commands/customObject/schema/delete.js +24 -26
  137. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  138. package/commands/customObject/schema/fetch-all.js +22 -24
  139. package/commands/customObject/schema/fetch.d.ts +1 -1
  140. package/commands/customObject/schema/fetch.js +24 -26
  141. package/commands/customObject/schema/list.d.ts +1 -1
  142. package/commands/customObject/schema/list.js +13 -15
  143. package/commands/customObject/schema/update.d.ts +1 -1
  144. package/commands/customObject/schema/update.js +32 -34
  145. package/commands/customObject/schema.d.ts +1 -1
  146. package/commands/customObject/schema.js +17 -22
  147. package/commands/customObject.d.ts +1 -1
  148. package/commands/customObject.js +13 -18
  149. package/commands/doctor.d.ts +1 -1
  150. package/commands/doctor.js +28 -33
  151. package/commands/feedback.d.ts +1 -1
  152. package/commands/feedback.js +19 -24
  153. package/commands/fetch.d.ts +1 -1
  154. package/commands/fetch.js +28 -30
  155. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  156. package/commands/filemanager/__tests__/upload.test.js +15 -20
  157. package/commands/filemanager/fetch.d.ts +1 -1
  158. package/commands/filemanager/fetch.js +23 -25
  159. package/commands/filemanager/upload.d.ts +1 -1
  160. package/commands/filemanager/upload.js +39 -44
  161. package/commands/filemanager.d.ts +1 -1
  162. package/commands/filemanager.js +8 -13
  163. package/commands/function/deploy.d.ts +1 -1
  164. package/commands/function/deploy.js +35 -40
  165. package/commands/function/list.d.ts +1 -1
  166. package/commands/function/list.js +24 -29
  167. package/commands/function/server.d.ts +1 -1
  168. package/commands/function/server.js +15 -17
  169. package/commands/function.d.ts +1 -1
  170. package/commands/function.js +12 -18
  171. package/commands/getStarted.d.ts +1 -1
  172. package/commands/getStarted.js +119 -125
  173. package/commands/hubdb/__tests__/clear.test.js +13 -18
  174. package/commands/hubdb/__tests__/create.test.js +13 -18
  175. package/commands/hubdb/__tests__/delete.test.js +13 -18
  176. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  177. package/commands/hubdb/__tests__/list.test.js +23 -28
  178. package/commands/hubdb/clear.d.ts +1 -1
  179. package/commands/hubdb/clear.js +20 -22
  180. package/commands/hubdb/create.d.ts +1 -1
  181. package/commands/hubdb/create.js +30 -35
  182. package/commands/hubdb/delete.d.ts +1 -1
  183. package/commands/hubdb/delete.js +24 -26
  184. package/commands/hubdb/fetch.d.ts +1 -1
  185. package/commands/hubdb/fetch.js +17 -19
  186. package/commands/hubdb/list.d.ts +1 -1
  187. package/commands/hubdb/list.js +33 -35
  188. package/commands/hubdb.d.ts +1 -1
  189. package/commands/hubdb.js +18 -24
  190. package/commands/init.d.ts +1 -1
  191. package/commands/init.js +83 -88
  192. package/commands/lint.d.ts +1 -1
  193. package/commands/lint.js +24 -26
  194. package/commands/list.d.ts +1 -1
  195. package/commands/list.js +32 -37
  196. package/commands/logs.d.ts +1 -1
  197. package/commands/logs.js +35 -37
  198. package/commands/mcp/__tests__/setup.test.js +7 -12
  199. package/commands/mcp/__tests__/start.test.js +7 -12
  200. package/commands/mcp/setup.d.ts +1 -1
  201. package/commands/mcp/setup.js +17 -19
  202. package/commands/mcp/start.d.ts +1 -1
  203. package/commands/mcp/start.js +32 -34
  204. package/commands/mcp.d.ts +1 -1
  205. package/commands/mcp.js +7 -12
  206. package/commands/module/marketplace-validate.d.ts +1 -1
  207. package/commands/module/marketplace-validate.js +21 -26
  208. package/commands/module.d.ts +1 -1
  209. package/commands/module.js +7 -13
  210. package/commands/mv.d.ts +1 -1
  211. package/commands/mv.js +20 -22
  212. package/commands/open.d.ts +1 -1
  213. package/commands/open.js +19 -21
  214. package/commands/project/__tests__/add.test.js +10 -15
  215. package/commands/project/__tests__/create.test.js +14 -19
  216. package/commands/project/__tests__/deploy.test.js +96 -134
  217. package/commands/project/__tests__/devUnifiedFlow.test.js +130 -159
  218. package/commands/project/__tests__/download.test.js +14 -19
  219. package/commands/project/__tests__/installDeps.test.js +32 -70
  220. package/commands/project/__tests__/listBuilds.test.js +14 -19
  221. package/commands/project/__tests__/logs.test.js +56 -94
  222. package/commands/project/__tests__/migrate.test.js +25 -30
  223. package/commands/project/__tests__/migrateApp.test.js +17 -22
  224. package/commands/project/__tests__/open.test.js +16 -21
  225. package/commands/project/__tests__/profile.test.js +14 -19
  226. package/commands/project/__tests__/upload.test.js +18 -23
  227. package/commands/project/__tests__/watch.test.js +14 -19
  228. package/commands/project/add.d.ts +1 -1
  229. package/commands/project/add.js +34 -36
  230. package/commands/project/cloneApp.d.ts +1 -1
  231. package/commands/project/cloneApp.js +67 -72
  232. package/commands/project/create.d.ts +2 -2
  233. package/commands/project/create.js +63 -68
  234. package/commands/project/deploy.d.ts +1 -1
  235. package/commands/project/deploy.js +67 -69
  236. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  237. package/commands/project/dev/deprecatedFlow.js +52 -58
  238. package/commands/project/dev/index.d.ts +1 -1
  239. package/commands/project/dev/index.js +44 -47
  240. package/commands/project/dev/unifiedFlow.d.ts +4 -4
  241. package/commands/project/dev/unifiedFlow.js +64 -75
  242. package/commands/project/download.d.ts +1 -1
  243. package/commands/project/download.js +35 -40
  244. package/commands/project/installDeps.d.ts +1 -1
  245. package/commands/project/installDeps.js +29 -34
  246. package/commands/project/listBuilds.d.ts +1 -1
  247. package/commands/project/listBuilds.js +40 -45
  248. package/commands/project/logs.d.ts +1 -1
  249. package/commands/project/logs.js +52 -54
  250. package/commands/project/migrate.d.ts +1 -1
  251. package/commands/project/migrate.js +24 -26
  252. package/commands/project/migrateApp.d.ts +2 -2
  253. package/commands/project/migrateApp.js +18 -20
  254. package/commands/project/open.d.ts +1 -1
  255. package/commands/project/open.js +25 -30
  256. package/commands/project/profile/add.d.ts +1 -1
  257. package/commands/project/profile/add.js +68 -73
  258. package/commands/project/profile/delete.d.ts +1 -1
  259. package/commands/project/profile/delete.js +68 -61
  260. package/commands/project/profile.d.ts +1 -1
  261. package/commands/project/profile.js +9 -14
  262. package/commands/project/upload.d.ts +1 -1
  263. package/commands/project/upload.js +50 -55
  264. package/commands/project/validate.d.ts +1 -1
  265. package/commands/project/validate.js +36 -40
  266. package/commands/project/watch.d.ts +1 -1
  267. package/commands/project/watch.js +59 -61
  268. package/commands/project.d.ts +1 -1
  269. package/commands/project.js +38 -43
  270. package/commands/remove.d.ts +1 -1
  271. package/commands/remove.js +15 -17
  272. package/commands/sandbox/__tests__/create.test.js +222 -20
  273. package/commands/sandbox/__tests__/delete.test.js +15 -20
  274. package/commands/sandbox/create.d.ts +2 -2
  275. package/commands/sandbox/create.js +92 -79
  276. package/commands/sandbox/delete.d.ts +1 -1
  277. package/commands/sandbox/delete.js +94 -96
  278. package/commands/sandbox.d.ts +1 -1
  279. package/commands/sandbox.js +9 -14
  280. package/commands/secret/__tests__/addSecret.test.js +13 -18
  281. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  282. package/commands/secret/__tests__/listSecret.test.js +13 -18
  283. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  284. package/commands/secret/addSecret.d.ts +1 -1
  285. package/commands/secret/addSecret.js +26 -28
  286. package/commands/secret/deleteSecret.d.ts +1 -1
  287. package/commands/secret/deleteSecret.js +27 -29
  288. package/commands/secret/listSecret.d.ts +1 -1
  289. package/commands/secret/listSecret.js +19 -21
  290. package/commands/secret/updateSecret.d.ts +1 -1
  291. package/commands/secret/updateSecret.js +25 -27
  292. package/commands/secret.d.ts +1 -1
  293. package/commands/secret.js +13 -18
  294. package/commands/testAccount/__tests__/create.test.js +17 -22
  295. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  296. package/commands/testAccount/__tests__/delete.test.js +15 -20
  297. package/commands/testAccount/__tests__/importData.test.js +93 -0
  298. package/commands/testAccount/create.d.ts +1 -1
  299. package/commands/testAccount/create.js +63 -58
  300. package/commands/testAccount/createConfig.d.ts +1 -1
  301. package/commands/testAccount/createConfig.js +36 -41
  302. package/commands/testAccount/delete.d.ts +1 -1
  303. package/commands/testAccount/delete.js +17 -19
  304. package/commands/testAccount/importData.d.ts +9 -0
  305. package/commands/testAccount/importData.js +61 -0
  306. package/commands/testAccount.d.ts +1 -1
  307. package/commands/testAccount.js +12 -15
  308. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  309. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  310. package/commands/theme/__tests__/preview.test.js +12 -17
  311. package/commands/theme/generate-selectors.d.ts +1 -1
  312. package/commands/theme/generate-selectors.js +23 -28
  313. package/commands/theme/marketplace-validate.d.ts +1 -1
  314. package/commands/theme/marketplace-validate.js +19 -24
  315. package/commands/theme/preview.d.ts +1 -1
  316. package/commands/theme/preview.js +60 -65
  317. package/commands/theme.d.ts +1 -1
  318. package/commands/theme.js +11 -16
  319. package/commands/upload.d.ts +1 -1
  320. package/commands/upload.js +77 -82
  321. package/commands/watch.d.ts +1 -1
  322. package/commands/watch.js +45 -51
  323. package/lang/en.d.ts +69 -9
  324. package/lang/en.js +442 -385
  325. package/lang/en.lyaml +4 -2
  326. package/lib/__tests__/accountTypes.test.js +20 -22
  327. package/lib/__tests__/buildAccount.test.js +88 -65
  328. package/lib/__tests__/commonOpts.test.js +20 -22
  329. package/lib/__tests__/dependencyManagement.test.js +46 -51
  330. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  331. package/lib/__tests__/hasFeature.test.js +6 -8
  332. package/lib/__tests__/importData.test.js +89 -0
  333. package/lib/__tests__/npm.test.js +15 -20
  334. package/lib/__tests__/oauth.test.js +23 -28
  335. package/lib/__tests__/parsing.test.js +18 -20
  336. package/lib/__tests__/polling.test.js +24 -26
  337. package/lib/__tests__/process.test.js +14 -19
  338. package/lib/__tests__/projectProfiles.test.js +34 -39
  339. package/lib/__tests__/sandboxSync.test.js +30 -35
  340. package/lib/__tests__/sandboxes.test.js +29 -31
  341. package/lib/__tests__/serverlessLogs.test.js +8 -13
  342. package/lib/__tests__/usageTracking.test.js +33 -34
  343. package/lib/__tests__/validation.test.js +18 -20
  344. package/lib/__tests__/yargsUtils.test.js +17 -41
  345. package/lib/accountTypes.js +23 -34
  346. package/lib/app/__tests__/migrate.test.js +120 -112
  347. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  348. package/lib/app/migrate.d.ts +18 -4
  349. package/lib/app/migrate.js +151 -148
  350. package/lib/app/migrate_legacy.d.ts +1 -1
  351. package/lib/app/migrate_legacy.js +72 -78
  352. package/lib/app/urls.js +5 -9
  353. package/lib/buildAccount.d.ts +5 -2
  354. package/lib/buildAccount.js +126 -80
  355. package/lib/commonOpts.d.ts +1 -1
  356. package/lib/commonOpts.js +67 -59
  357. package/lib/configMigrate.js +34 -38
  358. package/lib/configOptions.d.ts +5 -0
  359. package/lib/configOptions.js +44 -40
  360. package/lib/constants.d.ts +9 -0
  361. package/lib/constants.js +40 -34
  362. package/lib/customObject.js +2 -6
  363. package/lib/dependencyManagement.js +37 -45
  364. package/lib/developerTestAccounts.d.ts +1 -1
  365. package/lib/developerTestAccounts.js +34 -39
  366. package/lib/doctor/Diagnosis.d.ts +1 -1
  367. package/lib/doctor/Diagnosis.js +25 -29
  368. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  369. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  370. package/lib/doctor/Doctor.d.ts +1 -1
  371. package/lib/doctor/Doctor.js +94 -101
  372. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  373. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  374. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  375. package/lib/enums/exitCodes.js +1 -4
  376. package/lib/errorHandlers/index.js +33 -44
  377. package/lib/errorHandlers/suppressError.d.ts +1 -1
  378. package/lib/errorHandlers/suppressError.js +28 -31
  379. package/lib/errors/ProjectValidationError.d.ts +4 -0
  380. package/lib/errors/ProjectValidationError.js +9 -0
  381. package/lib/filesystem.js +8 -15
  382. package/lib/generateSelectors.js +18 -29
  383. package/lib/hasFeature.d.ts +2 -1
  384. package/lib/hasFeature.js +10 -6
  385. package/lib/importData.d.ts +3 -0
  386. package/lib/importData.js +50 -0
  387. package/lib/interpolation.js +11 -18
  388. package/lib/lang.d.ts +1 -1
  389. package/lib/lang.js +22 -27
  390. package/lib/links.js +16 -24
  391. package/lib/marketplaceValidate.js +29 -39
  392. package/lib/mcp/setup.d.ts +4 -0
  393. package/lib/mcp/setup.js +106 -82
  394. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  395. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  396. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  397. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  398. package/lib/middleware/__test__/utils.test.js +9 -11
  399. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  400. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  401. package/lib/middleware/configMiddleware.js +36 -42
  402. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  403. package/lib/middleware/gitMiddleware.js +5 -8
  404. package/lib/middleware/notificationsMiddleware.js +16 -23
  405. package/lib/middleware/requestMiddleware.js +4 -10
  406. package/lib/middleware/utils.js +1 -4
  407. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  408. package/lib/npm.js +14 -23
  409. package/lib/oauth.js +29 -35
  410. package/lib/parsing.js +3 -6
  411. package/lib/polling.js +11 -15
  412. package/lib/process.js +11 -19
  413. package/lib/projectProfiles.d.ts +2 -2
  414. package/lib/projectProfiles.js +32 -42
  415. package/lib/projects/ProjectLogsManager.js +18 -21
  416. package/lib/projects/__tests__/AppDevModeInterface.test.js +142 -148
  417. package/lib/projects/__tests__/LocalDevProcess.test.js +84 -144
  418. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +202 -38
  419. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  420. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  421. package/lib/projects/__tests__/components.test.js +9 -14
  422. package/lib/projects/__tests__/localDevHelpers.test.d.ts +1 -0
  423. package/lib/projects/__tests__/localDevHelpers.test.js +118 -0
  424. package/lib/projects/__tests__/projects.test.js +35 -40
  425. package/lib/projects/__tests__/structure.test.js +43 -81
  426. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  427. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  428. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  429. package/lib/projects/add/legacyAddComponent.js +24 -30
  430. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  431. package/lib/projects/add/v3AddComponent.js +37 -42
  432. package/lib/projects/buildAndDeploy.d.ts +1 -1
  433. package/lib/projects/buildAndDeploy.js +88 -97
  434. package/lib/projects/components.js +19 -25
  435. package/lib/projects/config.d.ts +1 -1
  436. package/lib/projects/config.js +32 -41
  437. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  438. package/lib/projects/create/__tests__/v3.test.js +5 -7
  439. package/lib/projects/create/index.d.ts +3 -3
  440. package/lib/projects/create/index.js +19 -22
  441. package/lib/projects/create/legacy.d.ts +1 -1
  442. package/lib/projects/create/legacy.js +25 -31
  443. package/lib/projects/create/v3.d.ts +3 -5
  444. package/lib/projects/create/v3.js +47 -59
  445. package/lib/projects/ensureProjectExists.js +31 -37
  446. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  447. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  448. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  449. package/lib/projects/localDev/DevServerManager.js +22 -24
  450. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  451. package/lib/projects/localDev/DevServerManagerV2.js +15 -20
  452. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -5
  453. package/lib/projects/localDev/LocalDevLogger.js +66 -79
  454. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  455. package/lib/projects/localDev/LocalDevManager.js +106 -111
  456. package/lib/projects/localDev/LocalDevProcess.d.ts +7 -6
  457. package/lib/projects/localDev/LocalDevProcess.js +40 -53
  458. package/lib/projects/localDev/LocalDevState.d.ts +10 -10
  459. package/lib/projects/localDev/LocalDevState.js +23 -19
  460. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  461. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  462. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +4 -3
  463. package/lib/projects/localDev/LocalDevWebsocketServer.js +78 -55
  464. package/lib/projects/localDev/helpers.d.ts +10 -3
  465. package/lib/projects/localDev/helpers.js +211 -174
  466. package/lib/projects/structure.d.ts +3 -3
  467. package/lib/projects/structure.js +32 -78
  468. package/lib/projects/ui.js +10 -13
  469. package/lib/projects/upload.d.ts +1 -1
  470. package/lib/projects/upload.js +57 -73
  471. package/lib/projects/urls.d.ts +1 -1
  472. package/lib/projects/urls.js +15 -25
  473. package/lib/projects/watch.d.ts +1 -1
  474. package/lib/projects/watch.js +48 -54
  475. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  476. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  477. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  478. package/lib/prompts/accountNamePrompt.js +26 -31
  479. package/lib/prompts/accountsPrompt.js +12 -15
  480. package/lib/prompts/cmsFieldPrompt.js +13 -19
  481. package/lib/prompts/confirmImportDataPrompt.d.ts +1 -0
  482. package/lib/prompts/confirmImportDataPrompt.js +12 -0
  483. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  484. package/lib/prompts/createApiSamplePrompt.js +9 -12
  485. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +1 -1
  486. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +23 -26
  487. package/lib/prompts/createFunctionPrompt.js +17 -20
  488. package/lib/prompts/createModulePrompt.js +12 -15
  489. package/lib/prompts/createTemplatePrompt.js +5 -8
  490. package/lib/prompts/downloadProjectPrompt.js +17 -20
  491. package/lib/prompts/importDataFilePathPrompt.d.ts +1 -0
  492. package/lib/prompts/importDataFilePathPrompt.js +24 -0
  493. package/lib/prompts/importDataTestAccountSelectPrompt.d.ts +3 -0
  494. package/lib/prompts/importDataTestAccountSelectPrompt.js +29 -0
  495. package/lib/prompts/installAppPrompt.js +19 -26
  496. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  497. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  498. package/lib/prompts/previewPrompt.js +15 -22
  499. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  500. package/lib/prompts/projectAddPrompt.js +14 -18
  501. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  502. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  503. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  504. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  505. package/lib/prompts/projectNamePrompt.js +11 -14
  506. package/lib/prompts/projectsLogsPrompt.js +5 -8
  507. package/lib/prompts/promptUtils.d.ts +1 -1
  508. package/lib/prompts/promptUtils.js +17 -24
  509. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  510. package/lib/prompts/sandboxesPrompt.js +26 -30
  511. package/lib/prompts/secretPrompt.js +10 -15
  512. package/lib/prompts/selectAppPrompt.js +11 -14
  513. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  514. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  515. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  516. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  517. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  518. package/lib/prompts/uploadPrompt.js +11 -17
  519. package/lib/sandboxSync.d.ts +1 -1
  520. package/lib/sandboxSync.js +58 -65
  521. package/lib/sandboxes.d.ts +5 -1
  522. package/lib/sandboxes.js +72 -76
  523. package/lib/schema.js +13 -20
  524. package/lib/serverlessLogs.js +45 -52
  525. package/lib/testUtils.js +4 -8
  526. package/lib/ui/SpinniesManager.d.ts +1 -1
  527. package/lib/ui/SpinniesManager.js +29 -34
  528. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +1 -0
  529. package/lib/ui/__tests__/removeAnsiCodes.test.js +84 -0
  530. package/lib/ui/boxen.js +11 -14
  531. package/lib/ui/git.js +14 -20
  532. package/lib/ui/index.d.ts +6 -0
  533. package/lib/ui/index.js +56 -76
  534. package/lib/ui/logger.js +10 -13
  535. package/lib/ui/removeAnsiCodes.d.ts +1 -0
  536. package/lib/ui/removeAnsiCodes.js +4 -0
  537. package/lib/ui/serverlessFunctionLogs.js +14 -20
  538. package/lib/ui/spinniesUtils.js +24 -39
  539. package/lib/ui/supportHyperlinks.js +3 -6
  540. package/lib/ui/supportsColor.js +11 -17
  541. package/lib/ui/table.js +6 -13
  542. package/lib/upload.js +15 -21
  543. package/lib/usageTracking.js +35 -44
  544. package/lib/utils/hasFlag.js +2 -8
  545. package/lib/validation.js +48 -87
  546. package/lib/yargsUtils.d.ts +2 -1
  547. package/lib/yargsUtils.js +19 -16
  548. package/mcp-server/server.js +6 -8
  549. package/mcp-server/tools/index.js +15 -16
  550. package/mcp-server/tools/project/{AddFeatureToProject.d.ts → AddFeatureToProjectTool.d.ts} +5 -5
  551. package/mcp-server/tools/project/AddFeatureToProjectTool.js +76 -0
  552. package/mcp-server/tools/project/CreateProjectTool.d.ts +4 -4
  553. package/mcp-server/tools/project/CreateProjectTool.js +40 -54
  554. package/mcp-server/tools/project/{DeployProject.d.ts → DeployProjectTool.d.ts} +2 -2
  555. package/mcp-server/tools/project/DeployProjectTool.js +49 -0
  556. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +20 -0
  557. package/mcp-server/tools/project/GetConfigValuesTool.js +51 -0
  558. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  559. package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
  560. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  561. package/mcp-server/tools/project/UploadProjectTools.js +12 -19
  562. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  563. package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
  564. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +1 -0
  565. package/mcp-server/tools/project/__tests__/{AddFeatureToProject.test.js → AddFeatureToProjectTool.test.js} +15 -17
  566. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +12 -15
  567. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +1 -0
  568. package/mcp-server/tools/project/__tests__/{DeployProject.test.js → DeployProjectTool.test.js} +6 -8
  569. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +1 -0
  570. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +198 -0
  571. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  572. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  573. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  574. package/mcp-server/tools/project/constants.d.ts +1 -0
  575. package/mcp-server/tools/project/constants.js +14 -9
  576. package/mcp-server/types.js +1 -5
  577. package/mcp-server/utils/__tests__/command.test.js +9 -11
  578. package/mcp-server/utils/__tests__/project.test.js +12 -17
  579. package/mcp-server/utils/command.d.ts +1 -1
  580. package/mcp-server/utils/command.js +4 -11
  581. package/mcp-server/utils/content.d.ts +1 -1
  582. package/mcp-server/utils/content.js +2 -6
  583. package/mcp-server/utils/project.js +8 -14
  584. package/mcp-server/utils/toolUsageTracking.js +11 -14
  585. package/package.json +21 -14
  586. package/types/Cms.d.ts +1 -1
  587. package/types/Cms.js +1 -2
  588. package/types/LocalDev.d.ts +4 -7
  589. package/types/LocalDev.js +1 -2
  590. package/types/ProjectComponents.d.ts +2 -2
  591. package/types/ProjectComponents.js +1 -2
  592. package/types/Projects.d.ts +1 -1
  593. package/types/Projects.js +2 -5
  594. package/types/Prompts.js +1 -2
  595. package/types/Sandboxes.js +1 -2
  596. package/types/Yargs.js +1 -2
  597. package/ui/index.d.ts +1 -0
  598. package/ui/index.js +6 -0
  599. package/mcp-server/tools/project/AddFeatureToProject.js +0 -88
  600. package/mcp-server/tools/project/DeployProject.js +0 -53
  601. /package/{mcp-server/tools/project/__tests__/AddFeatureToProject.test.d.ts → commands/testAccount/__tests__/importData.test.d.ts} +0 -0
  602. /package/{mcp-server/tools/project/__tests__/DeployProject.test.d.ts → lib/__tests__/importData.test.d.ts} +0 -0
@@ -1,15 +1,10 @@
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 dependencyManagement_1 = require("../dependencyManagement");
8
- const fs_1 = require("@hubspot/local-dev-lib/fs");
9
- const path_1 = __importDefault(require("path"));
10
- const config_1 = require("../projects/config");
11
- const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
12
- const fs_2 = __importDefault(require("fs"));
1
+ import util from 'util';
2
+ import { installPackages, getProjectPackageJsonLocations, } from '../dependencyManagement.js';
3
+ import { walk } from '@hubspot/local-dev-lib/fs';
4
+ import path from 'path';
5
+ import { getProjectConfig } from '../projects/config.js';
6
+ import SpinniesManager from '../ui/SpinniesManager.js';
7
+ import fs from 'fs';
13
8
  vi.mock('../projects/config');
14
9
  vi.mock('@hubspot/local-dev-lib/logger');
15
10
  vi.mock('@hubspot/local-dev-lib/fs');
@@ -22,14 +17,14 @@ vi.mock('../ui/SpinniesManager', () => ({
22
17
  fail: vi.fn(),
23
18
  },
24
19
  }));
25
- const mockedFs = vi.mocked(fs_2.default);
20
+ const mockedFs = vi.mocked(fs);
26
21
  describe('lib/dependencyManagement', () => {
27
22
  let execMock;
28
- const projectDir = path_1.default.join('path', 'to', 'project');
23
+ const projectDir = path.join('path', 'to', 'project');
29
24
  const srcDir = 'src';
30
- const appDir = path_1.default.join(projectDir, srcDir, 'app');
31
- const appFunctionsDir = path_1.default.join(appDir, 'app.functions');
32
- const extensionsDir = path_1.default.join(appDir, 'exensions');
25
+ const appDir = path.join(projectDir, srcDir, 'app');
26
+ const appFunctionsDir = path.join(appDir, 'app.functions');
27
+ const extensionsDir = path.join(appDir, 'exensions');
33
28
  const projectName = 'super cool test project';
34
29
  const installLocations = [appFunctionsDir, extensionsDir];
35
30
  function mockedPromisify(execMock) {
@@ -37,11 +32,11 @@ describe('lib/dependencyManagement', () => {
37
32
  .fn()
38
33
  .mockReturnValue(execMock);
39
34
  }
40
- const mockedWalk = fs_1.walk;
41
- const mockedGetProjectConfig = config_1.getProjectConfig;
35
+ const mockedWalk = walk;
36
+ const mockedGetProjectConfig = getProjectConfig;
42
37
  beforeEach(() => {
43
38
  execMock = vi.fn();
44
- util_1.default.promisify = mockedPromisify(execMock);
39
+ util.promisify = mockedPromisify(execMock);
45
40
  mockedGetProjectConfig.mockResolvedValue({
46
41
  projectDir,
47
42
  projectConfig: {
@@ -55,31 +50,31 @@ describe('lib/dependencyManagement', () => {
55
50
  describe('installPackages()', () => {
56
51
  it('should setup a loading spinner', async () => {
57
52
  const packages = ['package1', 'package2'];
58
- await (0, dependencyManagement_1.installPackages)({ packages, installLocations });
59
- expect(SpinniesManager_1.default.init).toHaveBeenCalledTimes(installLocations.length);
60
- expect(SpinniesManager_1.default.add).toHaveBeenCalledTimes(installLocations.length);
61
- expect(SpinniesManager_1.default.succeed).toHaveBeenCalledTimes(installLocations.length);
53
+ await installPackages({ packages, installLocations });
54
+ expect(SpinniesManager.init).toHaveBeenCalledTimes(installLocations.length);
55
+ expect(SpinniesManager.add).toHaveBeenCalledTimes(installLocations.length);
56
+ expect(SpinniesManager.succeed).toHaveBeenCalledTimes(installLocations.length);
62
57
  });
63
58
  it('should install the provided packages in all the provided install locations', async () => {
64
59
  const packages = ['package1', 'package2'];
65
- await (0, dependencyManagement_1.installPackages)({ packages, installLocations });
60
+ await installPackages({ packages, installLocations });
66
61
  expect(execMock).toHaveBeenCalledTimes(installLocations.length);
67
- expect(SpinniesManager_1.default.add).toHaveBeenCalledTimes(installLocations.length);
68
- expect(SpinniesManager_1.default.succeed).toHaveBeenCalledTimes(installLocations.length);
62
+ expect(SpinniesManager.add).toHaveBeenCalledTimes(installLocations.length);
63
+ expect(SpinniesManager.succeed).toHaveBeenCalledTimes(installLocations.length);
69
64
  for (const location of installLocations) {
70
65
  expect(execMock).toHaveBeenCalledWith(`npm install package1 package2`, {
71
66
  cwd: location,
72
67
  });
73
- expect(SpinniesManager_1.default.add).toHaveBeenCalledWith(`installingDependencies-${location}`, {
68
+ expect(SpinniesManager.add).toHaveBeenCalledWith(`installingDependencies-${location}`, {
74
69
  text: `Installing [package1, package2] in ${location}`,
75
70
  });
76
- expect(SpinniesManager_1.default.succeed).toHaveBeenCalledWith(`installingDependencies-${location}`, {
71
+ expect(SpinniesManager.succeed).toHaveBeenCalledWith(`installingDependencies-${location}`, {
77
72
  text: `Installed dependencies in ${location}`,
78
73
  });
79
74
  }
80
75
  });
81
76
  it('should use the provided install locations', async () => {
82
- await (0, dependencyManagement_1.installPackages)({ installLocations });
77
+ await installPackages({ installLocations });
83
78
  expect(execMock).toHaveBeenCalledTimes(installLocations.length);
84
79
  expect(execMock).toHaveBeenCalledWith(`npm install `, {
85
80
  cwd: appFunctionsDir,
@@ -90,8 +85,8 @@ describe('lib/dependencyManagement', () => {
90
85
  });
91
86
  it('should locate the projects package.json files when install locations is not provided', async () => {
92
87
  const installLocations = [
93
- path_1.default.join(appFunctionsDir, 'package.json'),
94
- path_1.default.join(extensionsDir, 'package.json'),
88
+ path.join(appFunctionsDir, 'package.json'),
89
+ path.join(extensionsDir, 'package.json'),
95
90
  ];
96
91
  mockedWalk.mockResolvedValue(installLocations);
97
92
  mockedGetProjectConfig.mockResolvedValue({
@@ -100,7 +95,7 @@ describe('lib/dependencyManagement', () => {
100
95
  srcDir,
101
96
  },
102
97
  });
103
- await (0, dependencyManagement_1.installPackages)({});
98
+ await installPackages({});
104
99
  // It's called once per each install location, plus once to check if npm installed
105
100
  expect(execMock).toHaveBeenCalledTimes(installLocations.length + 1);
106
101
  expect(execMock).toHaveBeenCalledWith(`npm install `, {
@@ -117,23 +112,23 @@ describe('lib/dependencyManagement', () => {
117
112
  }
118
113
  throw new Error('OH NO');
119
114
  });
120
- util_1.default.promisify = mockedPromisify(execMock);
115
+ util.promisify = mockedPromisify(execMock);
121
116
  // Mock walk to return the directory paths instead of package.json paths
122
117
  mockedWalk.mockResolvedValue([appFunctionsDir, extensionsDir]);
123
118
  mockedFs.existsSync.mockImplementation(filePath => {
124
119
  const pathStr = filePath.toString();
125
120
  if (pathStr === projectDir ||
126
- pathStr === path_1.default.join(projectDir, srcDir)) {
121
+ pathStr === path.join(projectDir, srcDir)) {
127
122
  return true;
128
123
  }
129
124
  return false;
130
125
  });
131
- await expect(() => (0, dependencyManagement_1.installPackages)({ installLocations: [appFunctionsDir, extensionsDir] })).rejects.toThrowError(`Installing dependencies for ${appFunctionsDir} failed`);
132
- expect(SpinniesManager_1.default.fail).toHaveBeenCalledTimes(installLocations.length);
133
- expect(SpinniesManager_1.default.fail).toHaveBeenCalledWith(`installingDependencies-${appFunctionsDir}`, {
126
+ await expect(() => installPackages({ installLocations: [appFunctionsDir, extensionsDir] })).rejects.toThrowError(`Installing dependencies for ${appFunctionsDir} failed`);
127
+ expect(SpinniesManager.fail).toHaveBeenCalledTimes(installLocations.length);
128
+ expect(SpinniesManager.fail).toHaveBeenCalledWith(`installingDependencies-${appFunctionsDir}`, {
134
129
  text: `Installing dependencies for ${appFunctionsDir} failed`,
135
130
  });
136
- expect(SpinniesManager_1.default.fail).toHaveBeenCalledWith(`installingDependencies-${extensionsDir}`, {
131
+ expect(SpinniesManager.fail).toHaveBeenCalledWith(`installingDependencies-${extensionsDir}`, {
137
132
  text: `Installing dependencies for ${extensionsDir} failed`,
138
133
  });
139
134
  });
@@ -141,39 +136,39 @@ describe('lib/dependencyManagement', () => {
141
136
  describe('getProjectPackageJsonFiles()', () => {
142
137
  it('should throw an error when ran outside the boundary of a project', async () => {
143
138
  mockedGetProjectConfig.mockResolvedValue({});
144
- await expect(() => (0, dependencyManagement_1.getProjectPackageJsonLocations)()).rejects.toThrowError('No project detected. Run this command from a project directory.');
139
+ await expect(() => getProjectPackageJsonLocations()).rejects.toThrowError('No project detected. Run this command from a project directory.');
145
140
  });
146
141
  it('should throw an error if npm is not globally installed', async () => {
147
142
  execMock = vi.fn().mockImplementation(() => {
148
143
  throw new Error('OH NO');
149
144
  });
150
- util_1.default.promisify = mockedPromisify(execMock);
151
- await expect(() => (0, dependencyManagement_1.getProjectPackageJsonLocations)()).rejects.toThrowError(/This command depends on npm, install/);
145
+ util.promisify = mockedPromisify(execMock);
146
+ await expect(() => getProjectPackageJsonLocations()).rejects.toThrowError(/This command depends on npm, install/);
152
147
  });
153
148
  it('should throw an error if the project directory does not exist', async () => {
154
149
  mockedFs.existsSync.mockReturnValueOnce(false);
155
- await expect(() => (0, dependencyManagement_1.getProjectPackageJsonLocations)()).rejects.toThrowError(new RegExp(`No dependencies to install. The project ${projectName} folder might be missing component or subcomponent files.`));
150
+ await expect(() => getProjectPackageJsonLocations()).rejects.toThrowError(new RegExp(`No dependencies to install. The project ${projectName} folder might be missing component or subcomponent files.`));
156
151
  });
157
152
  it('should ignore package.json files in certain directories', async () => {
158
- const nodeModulesDir = path_1.default.join(appDir, 'node_modules');
159
- const viteDir = path_1.default.join(appDir, '.vite');
153
+ const nodeModulesDir = path.join(appDir, 'node_modules');
154
+ const viteDir = path.join(appDir, '.vite');
160
155
  const installLocations = [
161
- path_1.default.join(appFunctionsDir, 'package.json'),
162
- path_1.default.join(extensionsDir, 'package.json'),
163
- path_1.default.join(viteDir, 'package.json'),
164
- path_1.default.join(nodeModulesDir, 'package.json'),
156
+ path.join(appFunctionsDir, 'package.json'),
157
+ path.join(extensionsDir, 'package.json'),
158
+ path.join(viteDir, 'package.json'),
159
+ path.join(nodeModulesDir, 'package.json'),
165
160
  ];
166
161
  mockedWalk.mockResolvedValue(installLocations);
167
162
  mockedFs.existsSync.mockImplementation(filePath => {
168
163
  // Return true for project directory and src directory
169
164
  const pathStr = filePath.toString();
170
165
  if (pathStr === projectDir ||
171
- pathStr === path_1.default.join(projectDir, srcDir)) {
166
+ pathStr === path.join(projectDir, srcDir)) {
172
167
  return true;
173
168
  }
174
169
  return false;
175
170
  });
176
- const actual = await (0, dependencyManagement_1.getProjectPackageJsonLocations)();
171
+ const actual = await getProjectPackageJsonLocations();
177
172
  expect(actual).toEqual([appFunctionsDir, extensionsDir]);
178
173
  });
179
174
  });
@@ -1,62 +1,27 @@
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");
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';
43
8
  vi.mock('@hubspot/local-dev-lib/config');
44
9
  vi.mock('@hubspot/local-dev-lib/logger');
45
10
  vi.mock('@hubspot/local-dev-lib/api/developerTestAccounts');
46
11
  vi.mock('../errorHandlers');
47
- const mockedGetAccountId = config_1.getAccountId;
48
- const mockedGetConfigAccounts = config_1.getConfigAccounts;
49
- const mockedFetchDeveloperTestAccounts = developerTestAccounts_1.fetchDeveloperTestAccounts;
12
+ const mockedGetAccountId = getAccountId;
13
+ const mockedGetConfigAccounts = getConfigAccounts;
14
+ const mockedFetchDeveloperTestAccounts = fetchDeveloperTestAccounts;
50
15
  const APP_DEVELOPER_ACCOUNT_1 = {
51
16
  name: 'app-developer-1',
52
17
  accountId: 123,
53
- accountType: config_2.HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
18
+ accountType: HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
54
19
  env: 'prod',
55
20
  };
56
21
  const APP_DEVELOPER_ACCOUNT_2 = {
57
22
  name: 'app-developer-2',
58
23
  accountId: 456,
59
- accountType: config_2.HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
24
+ accountType: HUBSPOT_ACCOUNT_TYPES.APP_DEVELOPER,
60
25
  env: 'prod',
61
26
  };
62
27
  const accounts = [
@@ -66,7 +31,7 @@ const accounts = [
66
31
  name: 'test-account',
67
32
  accountId: 789,
68
33
  parentAccountId: APP_DEVELOPER_ACCOUNT_1.accountId,
69
- accountType: config_2.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
34
+ accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
70
35
  env: 'prod',
71
36
  },
72
37
  ];
@@ -75,19 +40,19 @@ describe('lib/developerTestAccounts', () => {
75
40
  it('should return true if there are developer test accounts associated with the account', () => {
76
41
  mockedGetAccountId.mockReturnValueOnce(APP_DEVELOPER_ACCOUNT_1.accountId);
77
42
  mockedGetConfigAccounts.mockReturnValueOnce(accounts);
78
- const result = (0, developerTestAccounts_2.getHasDevTestAccounts)(APP_DEVELOPER_ACCOUNT_1);
43
+ const result = getHasDevTestAccounts(APP_DEVELOPER_ACCOUNT_1);
79
44
  expect(result).toBe(true);
80
45
  });
81
46
  it('should return false if there are no developer test accounts associated with the account', () => {
82
47
  mockedGetAccountId.mockReturnValueOnce(APP_DEVELOPER_ACCOUNT_2.accountId);
83
48
  mockedGetConfigAccounts.mockReturnValueOnce(accounts);
84
- const result = (0, developerTestAccounts_2.getHasDevTestAccounts)(APP_DEVELOPER_ACCOUNT_2);
49
+ const result = getHasDevTestAccounts(APP_DEVELOPER_ACCOUNT_2);
85
50
  expect(result).toBe(false);
86
51
  });
87
52
  it('should return false if there are no accounts configured', () => {
88
53
  mockedGetAccountId.mockReturnValueOnce(APP_DEVELOPER_ACCOUNT_1.accountId);
89
54
  mockedGetConfigAccounts.mockReturnValueOnce(undefined);
90
- const result = (0, developerTestAccounts_2.getHasDevTestAccounts)(APP_DEVELOPER_ACCOUNT_1);
55
+ const result = getHasDevTestAccounts(APP_DEVELOPER_ACCOUNT_1);
91
56
  expect(result).toBe(false);
92
57
  });
93
58
  });
@@ -98,7 +63,7 @@ describe('lib/developerTestAccounts', () => {
98
63
  });
99
64
  it('should return null if the account id is not found', async () => {
100
65
  mockedGetAccountId.mockReturnValueOnce(undefined);
101
- const result = await (0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1);
66
+ const result = await validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1);
102
67
  expect(result).toBe(null);
103
68
  });
104
69
  it('should return null if there is no developer test account data', async () => {
@@ -106,7 +71,7 @@ describe('lib/developerTestAccounts', () => {
106
71
  mockedFetchDeveloperTestAccounts.mockResolvedValueOnce({
107
72
  data: null,
108
73
  });
109
- const result = await (0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1);
74
+ const result = await validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1);
110
75
  expect(result).toBe(null);
111
76
  });
112
77
  it('should return the test account data if the account has not reached the limit', async () => {
@@ -118,7 +83,7 @@ describe('lib/developerTestAccounts', () => {
118
83
  mockedFetchDeveloperTestAccounts.mockResolvedValueOnce({
119
84
  data: testAccountData,
120
85
  });
121
- const result = await (0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1);
86
+ const result = await validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1);
122
87
  expect(result).toEqual(expect.objectContaining(testAccountData));
123
88
  });
124
89
  it('should throw an error if the account has reached the limit', async () => {
@@ -129,14 +94,14 @@ describe('lib/developerTestAccounts', () => {
129
94
  results: [{}],
130
95
  },
131
96
  });
132
- await expect((0, developerTestAccounts_2.validateDevTestAccountUsageLimits)(APP_DEVELOPER_ACCOUNT_1)).rejects.toThrow();
97
+ await expect(validateDevTestAccountUsageLimits(APP_DEVELOPER_ACCOUNT_1)).rejects.toThrow();
133
98
  });
134
99
  });
135
100
  describe('handleDeveloperTestAccountCreateError()', () => {
136
101
  let loggerErrorSpy;
137
102
  let logErrorSpy;
138
103
  beforeEach(() => {
139
- loggerErrorSpy = vi.spyOn(logger_1.logger, 'error');
104
+ loggerErrorSpy = vi.spyOn(logger, 'error');
140
105
  logErrorSpy = vi.spyOn(errorHandlers, 'logError');
141
106
  });
142
107
  afterEach(() => {
@@ -144,36 +109,36 @@ describe('lib/developerTestAccounts', () => {
144
109
  logErrorSpy.mockRestore();
145
110
  });
146
111
  it('should log and throw an error if the account is missing the required scopes', () => {
147
- const missingScopesError = (0, testUtils_1.mockHubSpotHttpError)('Missing scopes error', {
112
+ const missingScopesError = mockHubSpotHttpError('Missing scopes error', {
148
113
  status: 403,
149
114
  data: {
150
115
  message: 'Missing scopes error',
151
116
  category: 'MISSING_SCOPES',
152
117
  },
153
118
  });
154
- expect(() => (0, developerTestAccounts_2.handleDeveloperTestAccountCreateError)(missingScopesError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Missing scopes error');
119
+ expect(() => handleDeveloperTestAccountCreateError(missingScopesError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Missing scopes error');
155
120
  expect(loggerErrorSpy).toHaveBeenCalled();
156
121
  });
157
122
  it('should log and throw an error if the account is missing the required scopes', () => {
158
- const portalLimitReachedError = (0, testUtils_1.mockHubSpotHttpError)('Portal limit reached error', {
123
+ const portalLimitReachedError = mockHubSpotHttpError('Portal limit reached error', {
159
124
  status: 400,
160
125
  data: {
161
126
  message: 'Portal limit reached error',
162
127
  errorType: 'TEST_PORTAL_LIMIT_REACHED',
163
128
  },
164
129
  });
165
- expect(() => (0, developerTestAccounts_2.handleDeveloperTestAccountCreateError)(portalLimitReachedError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Portal limit reached error');
130
+ expect(() => handleDeveloperTestAccountCreateError(portalLimitReachedError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Portal limit reached error');
166
131
  expect(loggerErrorSpy).toHaveBeenCalled();
167
132
  });
168
133
  it('should log a generic error message for an unknown error type', () => {
169
- const someUnknownError = (0, testUtils_1.mockHubSpotHttpError)('Some unknown error', {
134
+ const someUnknownError = mockHubSpotHttpError('Some unknown error', {
170
135
  status: 400,
171
136
  data: {
172
137
  message: 'Some unknown error',
173
138
  category: 'SOME_UNKNOWN_ERROR',
174
139
  },
175
140
  });
176
- expect(() => (0, developerTestAccounts_2.handleDeveloperTestAccountCreateError)(someUnknownError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Some unknown error');
141
+ expect(() => handleDeveloperTestAccountCreateError(someUnknownError, APP_DEVELOPER_ACCOUNT_1.accountId, 'prod', 10)).toThrow('Some unknown error');
177
142
  expect(logErrorSpy).toHaveBeenCalled();
178
143
  });
179
144
  });
@@ -1,9 +1,7 @@
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");
1
+ import { fetchEnabledFeatures } from '@hubspot/local-dev-lib/api/localDevAuth';
2
+ import { hasFeature } from '../hasFeature.js';
5
3
  vi.mock('@hubspot/local-dev-lib/api/localDevAuth');
6
- const mockedFetchEnabledFeatures = localDevAuth_1.fetchEnabledFeatures;
4
+ const mockedFetchEnabledFeatures = fetchEnabledFeatures;
7
5
  describe('lib/hasFeature', () => {
8
6
  describe('hasFeature()', () => {
9
7
  const accountId = 123;
@@ -20,17 +18,17 @@ describe('lib/hasFeature', () => {
20
18
  });
21
19
  it('should return true if the feature is enabled', async () => {
22
20
  // @ts-expect-error test data
23
- const result = await (0, hasFeature_1.hasFeature)(accountId, 'feature-1');
21
+ const result = await hasFeature(accountId, 'feature-1');
24
22
  expect(result).toBe(true);
25
23
  });
26
24
  it('should return false if the feature is not enabled', async () => {
27
25
  // @ts-expect-error test data
28
- const result = await (0, hasFeature_1.hasFeature)(accountId, 'feature-2');
26
+ const result = await hasFeature(accountId, 'feature-2');
29
27
  expect(result).toBe(false);
30
28
  });
31
29
  it('should return false if the feature is not present', async () => {
32
30
  // @ts-expect-error test data
33
- const result = await (0, hasFeature_1.hasFeature)(accountId, 'feature-4');
31
+ const result = await hasFeature(accountId, 'feature-4');
34
32
  expect(result).toBe(false);
35
33
  });
36
34
  });
@@ -0,0 +1,89 @@
1
+ import { uiLogger } from '../ui/logger.js';
2
+ import { createImport } from '@hubspot/local-dev-lib/api/crm';
3
+ import { getAccountConfig, getAccountId } from '@hubspot/local-dev-lib/config';
4
+ import { handleImportData, handleTargetTestAccountSelectionFlow, } from '../importData.js';
5
+ import { lib } from '../../lang/en.js';
6
+ import { isDeveloperTestAccount, isStandardAccount, isAppDeveloperAccount, } from '../accountTypes.js';
7
+ import { importDataTestAccountSelectPrompt } from '../prompts/importDataTestAccountSelectPrompt.js';
8
+ vi.mock('../ui/logger');
9
+ vi.mock('@hubspot/local-dev-lib/api/crm');
10
+ vi.mock('@hubspot/local-dev-lib/config');
11
+ vi.mock('../accountTypes');
12
+ vi.mock('../prompts/importDataTestAccountSelectPrompt');
13
+ describe('lib/importData', () => {
14
+ const mockUiLogger = vi.mocked(uiLogger);
15
+ const mockCreateImport = vi.mocked(createImport);
16
+ const mockGetAccountConfig = vi.mocked(getAccountConfig);
17
+ const mockGetAccountId = vi.mocked(getAccountId);
18
+ const mockIsDeveloperTestAccount = vi.mocked(isDeveloperTestAccount);
19
+ const mockIsStandardAccount = vi.mocked(isStandardAccount);
20
+ const mockIsAppDeveloperAccount = vi.mocked(isAppDeveloperAccount);
21
+ const mockImportDataTestAccountSelectPrompt = vi.mocked(importDataTestAccountSelectPrompt);
22
+ beforeEach(() => {
23
+ mockUiLogger.info.mockReset();
24
+ mockUiLogger.success.mockReset();
25
+ mockUiLogger.error.mockReset();
26
+ mockCreateImport.mockReset();
27
+ mockGetAccountConfig.mockReset();
28
+ mockGetAccountId.mockReset();
29
+ mockIsDeveloperTestAccount.mockReset();
30
+ mockIsStandardAccount.mockReset();
31
+ mockIsAppDeveloperAccount.mockReset();
32
+ mockImportDataTestAccountSelectPrompt.mockReset();
33
+ });
34
+ describe('handleImportData', () => {
35
+ const targetAccountId = 123456789;
36
+ const dataFileNames = ['test-file.json'];
37
+ const importRequest = {
38
+ name: 'test-import',
39
+ };
40
+ it('should log the correct success message', async () => {
41
+ // @ts-expect-error - mockCreateImport is not typed correctly
42
+ mockCreateImport.mockResolvedValue({
43
+ data: { id: '123' },
44
+ });
45
+ await handleImportData(targetAccountId, dataFileNames, importRequest);
46
+ expect(mockUiLogger.success).toHaveBeenCalledWith(lib.importData.viewImportLink('https://app.hubspot.com', targetAccountId, '123'));
47
+ });
48
+ it('should log the correct error message', async () => {
49
+ mockCreateImport.mockRejectedValue(new Error('test-error'));
50
+ // weird because we catch the error, log a specific message, and then throw it again
51
+ await expect(handleImportData(targetAccountId, dataFileNames, importRequest)).rejects.toThrow('test-error');
52
+ expect(mockUiLogger.error).toHaveBeenCalledWith(lib.importData.errors.failedToImportData);
53
+ });
54
+ });
55
+ describe('handleTargetTestAccountSelectionFlow', () => {
56
+ const userProvidedAccountId = '1234';
57
+ const derivedAccountId = 123456789;
58
+ it('should error if the userProvidedAccountId is not the right account type', async () => {
59
+ mockGetAccountConfig.mockReturnValue({});
60
+ mockGetAccountId.mockReturnValue(1234);
61
+ mockIsDeveloperTestAccount.mockReturnValue(false);
62
+ await expect(handleTargetTestAccountSelectionFlow(derivedAccountId, userProvidedAccountId)).rejects.toThrow(lib.importData.errors.notDeveloperTestAccount);
63
+ });
64
+ it('should error if the derivedAccountId belongs to the wrong account type', async () => {
65
+ mockGetAccountConfig.mockReturnValue({});
66
+ mockIsDeveloperTestAccount.mockReturnValue(false);
67
+ mockIsStandardAccount.mockReturnValue(false);
68
+ mockIsAppDeveloperAccount.mockReturnValue(false);
69
+ await expect(handleTargetTestAccountSelectionFlow(derivedAccountId, undefined)).rejects.toThrow(lib.importData.errors.incorrectAccountType(derivedAccountId));
70
+ });
71
+ it('should return the derivedAccountId if it is a developer test account', async () => {
72
+ mockGetAccountConfig.mockReturnValue({});
73
+ mockIsDeveloperTestAccount.mockReturnValue(true);
74
+ const result = await handleTargetTestAccountSelectionFlow(derivedAccountId, undefined);
75
+ expect(result).toBe(derivedAccountId);
76
+ });
77
+ it('should return the result of the importDataTestAccountSelectPrompt if the derivedAccountId is a standard or app developer account', async () => {
78
+ mockGetAccountConfig.mockReturnValue({});
79
+ mockIsDeveloperTestAccount.mockReturnValue(false);
80
+ mockIsStandardAccount.mockReturnValue(true);
81
+ mockIsAppDeveloperAccount.mockReturnValue(true);
82
+ mockImportDataTestAccountSelectPrompt.mockResolvedValue({
83
+ selectedAccountId: 890223,
84
+ });
85
+ const result = await handleTargetTestAccountSelectionFlow(derivedAccountId, undefined);
86
+ expect(result).toBe(890223);
87
+ });
88
+ });
89
+ });
@@ -1,11 +1,6 @@
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"));
1
+ import util from 'util';
2
+ import { isGloballyInstalled, getLatestCliVersion, DEFAULT_PACKAGE_MANAGER, } from '../npm.js';
3
+ import pkg from '../../package.json' with { type: 'json' };
9
4
  vi.mock('@hubspot/local-dev-lib/logger');
10
5
  vi.mock('../ui/SpinniesManager');
11
6
  describe('lib/npm', () => {
@@ -17,24 +12,24 @@ describe('lib/npm', () => {
17
12
  }
18
13
  beforeEach(() => {
19
14
  execMock = vi.fn();
20
- util_1.default.promisify = mockedPromisify(execMock);
15
+ util.promisify = mockedPromisify(execMock);
21
16
  });
22
17
  describe('isGloballyInstalled()', () => {
23
18
  it('should return true when exec is successful', async () => {
24
- const actual = await (0, npm_1.isGloballyInstalled)(npm_1.DEFAULT_PACKAGE_MANAGER);
19
+ const actual = await isGloballyInstalled(DEFAULT_PACKAGE_MANAGER);
25
20
  expect(actual).toBe(true);
26
21
  expect(execMock).toHaveBeenCalledTimes(1);
27
- expect(execMock).toHaveBeenCalledWith(`${npm_1.DEFAULT_PACKAGE_MANAGER} --version`);
22
+ expect(execMock).toHaveBeenCalledWith(`${DEFAULT_PACKAGE_MANAGER} --version`);
28
23
  });
29
24
  it('should return false when exec is unsuccessful', async () => {
30
25
  execMock.mockImplementationOnce(() => {
31
26
  throw new Error('unsuccessful');
32
27
  });
33
- util_1.default.promisify = mockedPromisify(execMock);
34
- const actual = await (0, npm_1.isGloballyInstalled)(npm_1.DEFAULT_PACKAGE_MANAGER);
28
+ util.promisify = mockedPromisify(execMock);
29
+ const actual = await isGloballyInstalled(DEFAULT_PACKAGE_MANAGER);
35
30
  expect(actual).toBe(false);
36
31
  expect(execMock).toHaveBeenCalledTimes(1);
37
- expect(execMock).toHaveBeenCalledWith(`${npm_1.DEFAULT_PACKAGE_MANAGER} --version`);
32
+ expect(execMock).toHaveBeenCalledWith(`${DEFAULT_PACKAGE_MANAGER} --version`);
38
33
  });
39
34
  });
40
35
  describe('getLatestCliVersion()', () => {
@@ -44,19 +39,19 @@ describe('lib/npm', () => {
44
39
  execMock.mockResolvedValueOnce({
45
40
  stdout: JSON.stringify({ latest, next }),
46
41
  });
47
- util_1.default.promisify = mockedPromisify(execMock);
48
- const actual = await (0, npm_1.getLatestCliVersion)();
42
+ util.promisify = mockedPromisify(execMock);
43
+ const actual = await getLatestCliVersion();
49
44
  expect(actual).toEqual({ latest, next });
50
- expect(execMock).toHaveBeenCalledWith(`npm info ${package_json_1.default.name} dist-tags --json`);
45
+ expect(execMock).toHaveBeenCalledWith(`npm info ${pkg.name} dist-tags --json`);
51
46
  });
52
47
  it('should throw any errors that encounter with the check', async () => {
53
48
  const errorMessage = 'unsuccessful';
54
49
  execMock.mockImplementationOnce(() => {
55
50
  throw new Error(errorMessage);
56
51
  });
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`);
52
+ util.promisify = mockedPromisify(execMock);
53
+ await expect(() => getLatestCliVersion()).rejects.toThrow(errorMessage);
54
+ expect(execMock).toHaveBeenCalledWith(`npm info ${pkg.name} dist-tags --json`);
60
55
  });
61
56
  });
62
57
  });