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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/api/__tests__/migrate.test.js +27 -29
  2. package/api/migrate.d.ts +7 -0
  3. package/api/migrate.js +22 -22
  4. package/bin/cli.js +92 -97
  5. package/bin/hs +2 -2
  6. package/bin/hscms +2 -2
  7. package/bin/silenceErrors.js +1 -2
  8. package/commands/__tests__/account.test.js +29 -34
  9. package/commands/__tests__/auth.test.js +11 -16
  10. package/commands/__tests__/cms.test.js +15 -20
  11. package/commands/__tests__/config.test.js +14 -19
  12. package/commands/__tests__/create.test.js +10 -15
  13. package/commands/__tests__/customObject.test.js +14 -19
  14. package/commands/__tests__/doctor.test.js +43 -48
  15. package/commands/__tests__/feedback.test.js +7 -45
  16. package/commands/__tests__/fetch.test.js +29 -28
  17. package/commands/__tests__/filemanager.test.js +14 -19
  18. package/commands/__tests__/function.test.js +16 -21
  19. package/commands/__tests__/getStarted.test.js +45 -60
  20. package/commands/__tests__/hubdb.test.js +17 -22
  21. package/commands/__tests__/init.test.js +12 -17
  22. package/commands/__tests__/lint.test.js +13 -18
  23. package/commands/__tests__/list.test.js +18 -23
  24. package/commands/__tests__/logs.test.js +28 -27
  25. package/commands/__tests__/mcp.test.js +14 -19
  26. package/commands/__tests__/mv.test.js +14 -52
  27. package/commands/__tests__/open.test.js +13 -51
  28. package/commands/__tests__/project.test.js +44 -49
  29. package/commands/__tests__/remove.test.js +13 -51
  30. package/commands/__tests__/sandbox.test.js +14 -19
  31. package/commands/__tests__/secret.test.js +16 -21
  32. package/commands/__tests__/testAccount.test.js +16 -21
  33. package/commands/__tests__/theme.test.js +15 -20
  34. package/commands/account/__tests__/auth.test.js +11 -16
  35. package/commands/account/__tests__/clean.test.js +12 -17
  36. package/commands/account/__tests__/createOverride.test.js +10 -15
  37. package/commands/account/__tests__/info.test.js +11 -16
  38. package/commands/account/__tests__/list.test.js +11 -16
  39. package/commands/account/__tests__/remove.test.js +13 -18
  40. package/commands/account/__tests__/removeOverride.js +8 -13
  41. package/commands/account/__tests__/rename.test.js +15 -20
  42. package/commands/account/__tests__/use.test.js +10 -15
  43. package/commands/account/auth.d.ts +1 -1
  44. package/commands/account/auth.js +78 -69
  45. package/commands/account/clean.d.ts +1 -1
  46. package/commands/account/clean.js +55 -60
  47. package/commands/account/createOverride.d.ts +1 -1
  48. package/commands/account/createOverride.js +52 -57
  49. package/commands/account/info.d.ts +1 -1
  50. package/commands/account/info.js +33 -35
  51. package/commands/account/list.d.ts +1 -1
  52. package/commands/account/list.js +43 -45
  53. package/commands/account/remove.d.ts +1 -1
  54. package/commands/account/remove.js +37 -42
  55. package/commands/account/removeOverride.d.ts +1 -1
  56. package/commands/account/removeOverride.js +38 -43
  57. package/commands/account/rename.d.ts +1 -1
  58. package/commands/account/rename.js +18 -20
  59. package/commands/account/use.d.ts +1 -1
  60. package/commands/account/use.js +29 -31
  61. package/commands/account.d.ts +1 -1
  62. package/commands/account.js +23 -28
  63. package/commands/app/__tests__/migrate.test.js +29 -34
  64. package/commands/app/migrate.d.ts +2 -2
  65. package/commands/app/migrate.js +40 -43
  66. package/commands/app/secret/__tests__/add.test.js +6 -11
  67. package/commands/app/secret/__tests__/delete.test.js +6 -11
  68. package/commands/app/secret/__tests__/list.test.js +6 -11
  69. package/commands/app/secret/__tests__/update.test.js +6 -11
  70. package/commands/app/secret/add.d.ts +1 -1
  71. package/commands/app/secret/add.js +28 -30
  72. package/commands/app/secret/delete.d.ts +1 -1
  73. package/commands/app/secret/delete.js +34 -36
  74. package/commands/app/secret/list.d.ts +1 -1
  75. package/commands/app/secret/list.js +25 -27
  76. package/commands/app/secret/update.d.ts +1 -1
  77. package/commands/app/secret/update.js +32 -34
  78. package/commands/app/secret.d.ts +1 -1
  79. package/commands/app/secret.js +12 -17
  80. package/commands/app.d.ts +1 -1
  81. package/commands/app.js +6 -11
  82. package/commands/auth.d.ts +1 -1
  83. package/commands/auth.js +70 -72
  84. package/commands/cms/convertFields.d.ts +1 -1
  85. package/commands/cms/convertFields.js +34 -39
  86. package/commands/cms/getReactModule.d.ts +1 -1
  87. package/commands/cms/getReactModule.js +32 -37
  88. package/commands/cms/lighthouseScore.d.ts +1 -1
  89. package/commands/cms/lighthouseScore.js +67 -72
  90. package/commands/cms.d.ts +1 -1
  91. package/commands/cms.js +11 -16
  92. package/commands/completion.d.ts +1 -1
  93. package/commands/completion.js +10 -15
  94. package/commands/config/migrate.d.ts +1 -1
  95. package/commands/config/migrate.js +27 -32
  96. package/commands/config/set.d.ts +2 -1
  97. package/commands/config/set.js +40 -32
  98. package/commands/config.d.ts +1 -1
  99. package/commands/config.js +8 -13
  100. package/commands/create/api-sample.d.ts +1 -1
  101. package/commands/create/api-sample.js +28 -33
  102. package/commands/create/app.d.ts +1 -1
  103. package/commands/create/app.js +3 -5
  104. package/commands/create/function.d.ts +1 -1
  105. package/commands/create/function.js +9 -11
  106. package/commands/create/index.d.ts +1 -1
  107. package/commands/create/index.js +19 -24
  108. package/commands/create/module.d.ts +1 -1
  109. package/commands/create/module.js +12 -14
  110. package/commands/create/react-app.d.ts +1 -1
  111. package/commands/create/react-app.js +3 -5
  112. package/commands/create/template.d.ts +1 -1
  113. package/commands/create/template.js +12 -14
  114. package/commands/create/vue-app.d.ts +1 -1
  115. package/commands/create/vue-app.js +3 -5
  116. package/commands/create/webpack-serverless.d.ts +1 -1
  117. package/commands/create/webpack-serverless.js +3 -5
  118. package/commands/create/website-theme.d.ts +1 -1
  119. package/commands/create/website-theme.js +5 -7
  120. package/commands/create.d.ts +2 -2
  121. package/commands/create.js +30 -35
  122. package/commands/customObject/__tests__/create.test.js +13 -18
  123. package/commands/customObject/__tests__/schema.test.js +18 -23
  124. package/commands/customObject/create.d.ts +1 -1
  125. package/commands/customObject/create.js +28 -30
  126. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  127. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  131. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  132. package/commands/customObject/schema/create.d.ts +1 -1
  133. package/commands/customObject/schema/create.js +28 -30
  134. package/commands/customObject/schema/delete.d.ts +1 -1
  135. package/commands/customObject/schema/delete.js +24 -26
  136. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  137. package/commands/customObject/schema/fetch-all.js +22 -24
  138. package/commands/customObject/schema/fetch.d.ts +1 -1
  139. package/commands/customObject/schema/fetch.js +24 -26
  140. package/commands/customObject/schema/list.d.ts +1 -1
  141. package/commands/customObject/schema/list.js +13 -15
  142. package/commands/customObject/schema/update.d.ts +1 -1
  143. package/commands/customObject/schema/update.js +32 -34
  144. package/commands/customObject/schema.d.ts +1 -1
  145. package/commands/customObject/schema.js +17 -22
  146. package/commands/customObject.d.ts +1 -1
  147. package/commands/customObject.js +13 -18
  148. package/commands/doctor.d.ts +1 -1
  149. package/commands/doctor.js +28 -33
  150. package/commands/feedback.d.ts +1 -1
  151. package/commands/feedback.js +19 -24
  152. package/commands/fetch.d.ts +1 -1
  153. package/commands/fetch.js +28 -30
  154. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  155. package/commands/filemanager/__tests__/upload.test.js +15 -20
  156. package/commands/filemanager/fetch.d.ts +1 -1
  157. package/commands/filemanager/fetch.js +23 -25
  158. package/commands/filemanager/upload.d.ts +1 -1
  159. package/commands/filemanager/upload.js +39 -44
  160. package/commands/filemanager.d.ts +1 -1
  161. package/commands/filemanager.js +8 -13
  162. package/commands/function/deploy.d.ts +1 -1
  163. package/commands/function/deploy.js +35 -40
  164. package/commands/function/list.d.ts +1 -1
  165. package/commands/function/list.js +24 -29
  166. package/commands/function/server.d.ts +1 -1
  167. package/commands/function/server.js +15 -17
  168. package/commands/function.d.ts +1 -1
  169. package/commands/function.js +12 -18
  170. package/commands/getStarted.d.ts +1 -1
  171. package/commands/getStarted.js +125 -146
  172. package/commands/hubdb/__tests__/clear.test.js +13 -18
  173. package/commands/hubdb/__tests__/create.test.js +13 -18
  174. package/commands/hubdb/__tests__/delete.test.js +13 -18
  175. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  176. package/commands/hubdb/__tests__/list.test.js +23 -28
  177. package/commands/hubdb/clear.d.ts +1 -1
  178. package/commands/hubdb/clear.js +20 -22
  179. package/commands/hubdb/create.d.ts +1 -1
  180. package/commands/hubdb/create.js +30 -35
  181. package/commands/hubdb/delete.d.ts +1 -1
  182. package/commands/hubdb/delete.js +24 -26
  183. package/commands/hubdb/fetch.d.ts +1 -1
  184. package/commands/hubdb/fetch.js +17 -19
  185. package/commands/hubdb/list.d.ts +1 -1
  186. package/commands/hubdb/list.js +33 -35
  187. package/commands/hubdb.d.ts +1 -1
  188. package/commands/hubdb.js +18 -24
  189. package/commands/init.d.ts +1 -1
  190. package/commands/init.js +83 -88
  191. package/commands/lint.d.ts +1 -1
  192. package/commands/lint.js +24 -26
  193. package/commands/list.d.ts +1 -1
  194. package/commands/list.js +32 -37
  195. package/commands/logs.d.ts +1 -1
  196. package/commands/logs.js +35 -37
  197. package/commands/mcp/__tests__/setup.test.js +7 -12
  198. package/commands/mcp/__tests__/start.test.js +7 -12
  199. package/commands/mcp/setup.d.ts +1 -1
  200. package/commands/mcp/setup.js +17 -19
  201. package/commands/mcp/start.d.ts +1 -1
  202. package/commands/mcp/start.js +32 -34
  203. package/commands/mcp.d.ts +1 -1
  204. package/commands/mcp.js +7 -12
  205. package/commands/module/marketplace-validate.d.ts +1 -1
  206. package/commands/module/marketplace-validate.js +21 -26
  207. package/commands/module.d.ts +1 -1
  208. package/commands/module.js +7 -13
  209. package/commands/mv.d.ts +1 -1
  210. package/commands/mv.js +20 -22
  211. package/commands/open.d.ts +1 -1
  212. package/commands/open.js +19 -21
  213. package/commands/project/__tests__/add.test.js +10 -15
  214. package/commands/project/__tests__/create.test.js +14 -19
  215. package/commands/project/__tests__/deploy.test.js +99 -141
  216. package/commands/project/__tests__/devUnifiedFlow.test.js +151 -155
  217. package/commands/project/__tests__/download.test.js +14 -19
  218. package/commands/project/__tests__/installDeps.test.js +32 -70
  219. package/commands/project/__tests__/listBuilds.test.js +14 -19
  220. package/commands/project/__tests__/logs.test.js +56 -94
  221. package/commands/project/__tests__/migrate.test.js +25 -30
  222. package/commands/project/__tests__/migrateApp.test.js +17 -22
  223. package/commands/project/__tests__/open.test.js +16 -21
  224. package/commands/project/__tests__/profile.test.js +14 -19
  225. package/commands/project/__tests__/upload.test.js +18 -23
  226. package/commands/project/__tests__/watch.test.js +14 -19
  227. package/commands/project/add.d.ts +1 -1
  228. package/commands/project/add.js +34 -36
  229. package/commands/project/cloneApp.d.ts +1 -1
  230. package/commands/project/cloneApp.js +67 -72
  231. package/commands/project/create.d.ts +2 -2
  232. package/commands/project/create.js +63 -68
  233. package/commands/project/deploy.d.ts +2 -2
  234. package/commands/project/deploy.js +83 -90
  235. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  236. package/commands/project/dev/deprecatedFlow.js +52 -58
  237. package/commands/project/dev/index.d.ts +1 -1
  238. package/commands/project/dev/index.js +44 -47
  239. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  240. package/commands/project/dev/unifiedFlow.js +69 -76
  241. package/commands/project/download.d.ts +1 -1
  242. package/commands/project/download.js +35 -40
  243. package/commands/project/installDeps.d.ts +1 -1
  244. package/commands/project/installDeps.js +29 -34
  245. package/commands/project/listBuilds.d.ts +1 -1
  246. package/commands/project/listBuilds.js +40 -45
  247. package/commands/project/logs.d.ts +1 -1
  248. package/commands/project/logs.js +52 -54
  249. package/commands/project/migrate.d.ts +1 -1
  250. package/commands/project/migrate.js +24 -26
  251. package/commands/project/migrateApp.d.ts +2 -2
  252. package/commands/project/migrateApp.js +18 -20
  253. package/commands/project/open.d.ts +1 -1
  254. package/commands/project/open.js +25 -30
  255. package/commands/project/profile/add.d.ts +1 -1
  256. package/commands/project/profile/add.js +68 -73
  257. package/commands/project/profile/delete.d.ts +1 -1
  258. package/commands/project/profile/delete.js +68 -61
  259. package/commands/project/profile.d.ts +1 -1
  260. package/commands/project/profile.js +9 -14
  261. package/commands/project/upload.d.ts +1 -1
  262. package/commands/project/upload.js +50 -55
  263. package/commands/project/validate.d.ts +1 -1
  264. package/commands/project/validate.js +36 -40
  265. package/commands/project/watch.d.ts +1 -1
  266. package/commands/project/watch.js +59 -61
  267. package/commands/project.d.ts +1 -1
  268. package/commands/project.js +38 -43
  269. package/commands/remove.d.ts +1 -1
  270. package/commands/remove.js +15 -17
  271. package/commands/sandbox/__tests__/create.test.js +222 -20
  272. package/commands/sandbox/__tests__/delete.test.js +15 -20
  273. package/commands/sandbox/create.d.ts +2 -2
  274. package/commands/sandbox/create.js +92 -79
  275. package/commands/sandbox/delete.d.ts +1 -1
  276. package/commands/sandbox/delete.js +94 -96
  277. package/commands/sandbox.d.ts +1 -1
  278. package/commands/sandbox.js +9 -14
  279. package/commands/secret/__tests__/addSecret.test.js +13 -18
  280. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  281. package/commands/secret/__tests__/listSecret.test.js +13 -18
  282. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  283. package/commands/secret/addSecret.d.ts +1 -1
  284. package/commands/secret/addSecret.js +26 -28
  285. package/commands/secret/deleteSecret.d.ts +1 -1
  286. package/commands/secret/deleteSecret.js +27 -29
  287. package/commands/secret/listSecret.d.ts +1 -1
  288. package/commands/secret/listSecret.js +19 -21
  289. package/commands/secret/updateSecret.d.ts +1 -1
  290. package/commands/secret/updateSecret.js +25 -27
  291. package/commands/secret.d.ts +1 -1
  292. package/commands/secret.js +13 -18
  293. package/commands/testAccount/__tests__/create.test.js +17 -22
  294. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  295. package/commands/testAccount/__tests__/delete.test.js +15 -20
  296. package/commands/testAccount/create.d.ts +1 -1
  297. package/commands/testAccount/create.js +63 -84
  298. package/commands/testAccount/createConfig.d.ts +1 -1
  299. package/commands/testAccount/createConfig.js +36 -41
  300. package/commands/testAccount/delete.d.ts +1 -1
  301. package/commands/testAccount/delete.js +17 -19
  302. package/commands/testAccount.d.ts +1 -1
  303. package/commands/testAccount.js +10 -15
  304. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  305. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  306. package/commands/theme/__tests__/preview.test.js +12 -17
  307. package/commands/theme/generate-selectors.d.ts +1 -1
  308. package/commands/theme/generate-selectors.js +23 -28
  309. package/commands/theme/marketplace-validate.d.ts +1 -1
  310. package/commands/theme/marketplace-validate.js +19 -24
  311. package/commands/theme/preview.d.ts +1 -1
  312. package/commands/theme/preview.js +60 -65
  313. package/commands/theme.d.ts +1 -1
  314. package/commands/theme.js +11 -16
  315. package/commands/upload.d.ts +1 -1
  316. package/commands/upload.js +77 -82
  317. package/commands/watch.d.ts +1 -1
  318. package/commands/watch.js +45 -51
  319. package/lang/en.d.ts +52 -25
  320. package/lang/en.js +421 -397
  321. package/lang/en.lyaml +4 -28
  322. package/lib/__tests__/accountTypes.test.js +20 -22
  323. package/lib/__tests__/buildAccount.test.js +115 -64
  324. package/lib/__tests__/commonOpts.test.js +20 -22
  325. package/lib/__tests__/dependencyManagement.test.js +46 -51
  326. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  327. package/lib/__tests__/hasFeature.test.js +6 -8
  328. package/lib/__tests__/npm.test.js +15 -20
  329. package/lib/__tests__/oauth.test.js +23 -28
  330. package/lib/__tests__/parsing.test.js +18 -20
  331. package/lib/__tests__/polling.test.js +24 -26
  332. package/lib/__tests__/process.test.js +14 -19
  333. package/lib/__tests__/projectProfiles.test.js +34 -39
  334. package/lib/__tests__/sandboxSync.test.js +30 -35
  335. package/lib/__tests__/sandboxes.test.js +29 -31
  336. package/lib/__tests__/serverlessLogs.test.js +8 -13
  337. package/lib/__tests__/usageTracking.test.js +33 -34
  338. package/lib/__tests__/validation.test.js +18 -20
  339. package/lib/__tests__/yargsUtils.test.js +17 -41
  340. package/lib/accountTypes.js +24 -34
  341. package/lib/app/__tests__/migrate.test.js +117 -109
  342. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  343. package/lib/app/migrate.d.ts +18 -4
  344. package/lib/app/migrate.js +152 -148
  345. package/lib/app/migrate_legacy.d.ts +1 -1
  346. package/lib/app/migrate_legacy.js +72 -78
  347. package/lib/app/urls.js +5 -9
  348. package/lib/buildAccount.d.ts +12 -3
  349. package/lib/buildAccount.js +165 -69
  350. package/lib/commonOpts.d.ts +1 -1
  351. package/lib/commonOpts.js +67 -59
  352. package/lib/configMigrate.js +34 -38
  353. package/lib/configOptions.d.ts +5 -0
  354. package/lib/configOptions.js +44 -40
  355. package/lib/constants.d.ts +8 -0
  356. package/lib/constants.js +39 -34
  357. package/lib/customObject.js +2 -6
  358. package/lib/dependencyManagement.js +37 -45
  359. package/lib/developerTestAccounts.d.ts +1 -1
  360. package/lib/developerTestAccounts.js +34 -39
  361. package/lib/doctor/Diagnosis.d.ts +1 -1
  362. package/lib/doctor/Diagnosis.js +25 -29
  363. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  364. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  365. package/lib/doctor/Doctor.d.ts +1 -1
  366. package/lib/doctor/Doctor.js +94 -101
  367. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  368. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  369. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  370. package/lib/enums/exitCodes.js +1 -4
  371. package/lib/errorHandlers/index.js +33 -52
  372. package/lib/errorHandlers/suppressError.d.ts +1 -1
  373. package/lib/errorHandlers/suppressError.js +28 -31
  374. package/lib/errors/ProjectValidationError.d.ts +4 -0
  375. package/lib/errors/ProjectValidationError.js +9 -0
  376. package/lib/filesystem.js +8 -15
  377. package/lib/generateSelectors.js +18 -29
  378. package/lib/hasFeature.d.ts +1 -1
  379. package/lib/hasFeature.js +3 -6
  380. package/lib/interpolation.js +11 -18
  381. package/lib/lang.d.ts +1 -1
  382. package/lib/lang.js +22 -27
  383. package/lib/links.js +16 -24
  384. package/lib/marketplaceValidate.js +29 -39
  385. package/lib/mcp/setup.d.ts +4 -0
  386. package/lib/mcp/setup.js +106 -82
  387. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  388. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  389. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  390. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  391. package/lib/middleware/__test__/utils.test.js +9 -11
  392. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  393. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  394. package/lib/middleware/configMiddleware.js +36 -42
  395. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  396. package/lib/middleware/gitMiddleware.js +5 -8
  397. package/lib/middleware/notificationsMiddleware.js +16 -23
  398. package/lib/middleware/requestMiddleware.js +4 -10
  399. package/lib/middleware/utils.js +1 -4
  400. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  401. package/lib/npm.js +14 -23
  402. package/lib/oauth.js +29 -35
  403. package/lib/parsing.js +3 -6
  404. package/lib/polling.js +11 -15
  405. package/lib/process.js +11 -19
  406. package/lib/projectProfiles.d.ts +2 -2
  407. package/lib/projectProfiles.js +32 -42
  408. package/lib/projects/ProjectLogsManager.js +18 -21
  409. package/lib/projects/__tests__/AppDevModeInterface.test.js +140 -145
  410. package/lib/projects/__tests__/LocalDevProcess.test.js +100 -140
  411. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +201 -37
  412. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  413. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  414. package/lib/projects/__tests__/components.test.js +9 -14
  415. package/lib/projects/__tests__/localDevHelpers.test.js +117 -0
  416. package/lib/projects/__tests__/projects.test.js +35 -40
  417. package/lib/projects/__tests__/structure.test.js +43 -81
  418. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  419. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  420. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  421. package/lib/projects/add/legacyAddComponent.js +24 -30
  422. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  423. package/lib/projects/add/v3AddComponent.js +37 -42
  424. package/lib/projects/buildAndDeploy.d.ts +1 -1
  425. package/lib/projects/buildAndDeploy.js +88 -97
  426. package/lib/projects/components.js +19 -25
  427. package/lib/projects/config.d.ts +1 -1
  428. package/lib/projects/config.js +32 -41
  429. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  430. package/lib/projects/create/__tests__/v3.test.js +5 -7
  431. package/lib/projects/create/index.d.ts +3 -3
  432. package/lib/projects/create/index.js +19 -22
  433. package/lib/projects/create/legacy.d.ts +1 -1
  434. package/lib/projects/create/legacy.js +25 -31
  435. package/lib/projects/create/v3.d.ts +3 -5
  436. package/lib/projects/create/v3.js +47 -59
  437. package/lib/projects/ensureProjectExists.js +31 -37
  438. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  439. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  440. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  441. package/lib/projects/localDev/DevServerManager.js +22 -26
  442. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  443. package/lib/projects/localDev/DevServerManagerV2.js +15 -22
  444. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -2
  445. package/lib/projects/localDev/LocalDevLogger.js +66 -66
  446. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  447. package/lib/projects/localDev/LocalDevManager.js +106 -111
  448. package/lib/projects/localDev/LocalDevProcess.d.ts +6 -5
  449. package/lib/projects/localDev/LocalDevProcess.js +37 -50
  450. package/lib/projects/localDev/LocalDevState.d.ts +5 -7
  451. package/lib/projects/localDev/LocalDevState.js +9 -11
  452. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  453. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  454. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +3 -3
  455. package/lib/projects/localDev/LocalDevWebsocketServer.js +63 -55
  456. package/lib/projects/localDev/helpers.d.ts +11 -4
  457. package/lib/projects/localDev/helpers.js +211 -174
  458. package/lib/projects/structure.d.ts +3 -3
  459. package/lib/projects/structure.js +32 -78
  460. package/lib/projects/ui.js +10 -13
  461. package/lib/projects/upload.d.ts +1 -1
  462. package/lib/projects/upload.js +57 -73
  463. package/lib/projects/urls.d.ts +1 -1
  464. package/lib/projects/urls.js +15 -25
  465. package/lib/projects/watch.d.ts +1 -1
  466. package/lib/projects/watch.js +48 -54
  467. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  468. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  469. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  470. package/lib/prompts/accountNamePrompt.js +26 -31
  471. package/lib/prompts/accountsPrompt.js +12 -15
  472. package/lib/prompts/cmsFieldPrompt.js +13 -19
  473. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  474. package/lib/prompts/createApiSamplePrompt.js +9 -12
  475. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +2 -2
  476. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +27 -31
  477. package/lib/prompts/createFunctionPrompt.js +17 -20
  478. package/lib/prompts/createModulePrompt.js +12 -15
  479. package/lib/prompts/createTemplatePrompt.js +5 -8
  480. package/lib/prompts/downloadProjectPrompt.js +17 -20
  481. package/lib/prompts/installAppPrompt.js +19 -26
  482. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  483. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  484. package/lib/prompts/previewPrompt.js +15 -22
  485. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  486. package/lib/prompts/projectAddPrompt.js +14 -18
  487. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  488. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  489. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  490. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  491. package/lib/prompts/projectNamePrompt.js +11 -14
  492. package/lib/prompts/projectsLogsPrompt.js +5 -8
  493. package/lib/prompts/promptUtils.d.ts +1 -1
  494. package/lib/prompts/promptUtils.js +80 -77
  495. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  496. package/lib/prompts/sandboxesPrompt.js +26 -30
  497. package/lib/prompts/secretPrompt.js +10 -15
  498. package/lib/prompts/selectAppPrompt.js +11 -14
  499. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  500. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  501. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  502. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  503. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  504. package/lib/prompts/uploadPrompt.js +11 -17
  505. package/lib/sandboxSync.d.ts +1 -1
  506. package/lib/sandboxSync.js +58 -65
  507. package/lib/sandboxes.d.ts +5 -1
  508. package/lib/sandboxes.js +72 -76
  509. package/lib/schema.js +13 -20
  510. package/lib/serverlessLogs.js +45 -52
  511. package/lib/testUtils.js +4 -8
  512. package/lib/ui/SpinniesManager.d.ts +1 -1
  513. package/lib/ui/SpinniesManager.js +29 -34
  514. package/lib/ui/boxen.js +11 -14
  515. package/lib/ui/git.js +14 -20
  516. package/lib/ui/index.d.ts +6 -0
  517. package/lib/ui/index.js +56 -76
  518. package/lib/ui/logger.js +10 -13
  519. package/lib/ui/serverlessFunctionLogs.js +14 -20
  520. package/lib/ui/spinniesUtils.js +24 -39
  521. package/lib/ui/supportHyperlinks.js +3 -6
  522. package/lib/ui/supportsColor.js +11 -17
  523. package/lib/ui/table.js +6 -13
  524. package/lib/upload.js +15 -21
  525. package/lib/usageTracking.js +35 -44
  526. package/lib/utils/__tests__/isDeepEqual.test.js +269 -0
  527. package/lib/utils/hasFlag.js +2 -8
  528. package/lib/utils/isDeepEqual.d.ts +1 -0
  529. package/lib/utils/isDeepEqual.js +31 -0
  530. package/lib/validation.js +48 -87
  531. package/lib/yargsUtils.d.ts +2 -1
  532. package/lib/yargsUtils.js +19 -16
  533. package/mcp-server/server.js +6 -8
  534. package/mcp-server/tools/index.js +15 -16
  535. package/mcp-server/tools/project/{AddFeatureToProject.d.ts → AddFeatureToProjectTool.d.ts} +5 -5
  536. package/mcp-server/tools/project/AddFeatureToProjectTool.js +76 -0
  537. package/mcp-server/tools/project/CreateProjectTool.d.ts +4 -4
  538. package/mcp-server/tools/project/CreateProjectTool.js +40 -54
  539. package/mcp-server/tools/project/{DeployProject.d.ts → DeployProjectTool.d.ts} +2 -2
  540. package/mcp-server/tools/project/DeployProjectTool.js +49 -0
  541. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +20 -0
  542. package/mcp-server/tools/project/GetConfigValuesTool.js +51 -0
  543. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  544. package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
  545. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  546. package/mcp-server/tools/project/UploadProjectTools.js +12 -19
  547. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  548. package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
  549. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +1 -0
  550. package/mcp-server/tools/project/__tests__/{AddFeatureToProject.test.js → AddFeatureToProjectTool.test.js} +15 -17
  551. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +12 -15
  552. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +1 -0
  553. package/mcp-server/tools/project/__tests__/{DeployProject.test.js → DeployProjectTool.test.js} +6 -8
  554. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +1 -0
  555. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +198 -0
  556. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  557. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  558. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  559. package/mcp-server/tools/project/constants.d.ts +1 -0
  560. package/mcp-server/tools/project/constants.js +14 -9
  561. package/mcp-server/types.js +1 -5
  562. package/mcp-server/utils/__tests__/command.test.js +9 -11
  563. package/mcp-server/utils/__tests__/project.test.js +12 -17
  564. package/mcp-server/utils/command.d.ts +1 -1
  565. package/mcp-server/utils/command.js +4 -11
  566. package/mcp-server/utils/content.d.ts +1 -1
  567. package/mcp-server/utils/content.js +2 -6
  568. package/mcp-server/utils/project.js +8 -14
  569. package/mcp-server/utils/toolUsageTracking.js +11 -14
  570. package/package.json +22 -15
  571. package/types/Cms.d.ts +1 -1
  572. package/types/Cms.js +1 -2
  573. package/types/LocalDev.d.ts +4 -6
  574. package/types/LocalDev.js +1 -2
  575. package/types/ProjectComponents.d.ts +2 -2
  576. package/types/ProjectComponents.js +1 -2
  577. package/types/Projects.d.ts +1 -1
  578. package/types/Projects.js +2 -5
  579. package/types/Prompts.js +1 -2
  580. package/types/Sandboxes.js +1 -2
  581. package/types/Yargs.js +1 -2
  582. package/ui/index.d.ts +1 -0
  583. package/ui/index.js +6 -0
  584. package/mcp-server/tools/project/AddFeatureToProject.js +0 -88
  585. package/mcp-server/tools/project/DeployProject.js +0 -53
  586. /package/{mcp-server/tools/project/__tests__/AddFeatureToProject.test.d.ts → lib/projects/__tests__/localDevHelpers.test.d.ts} +0 -0
  587. /package/{mcp-server/tools/project/__tests__/DeployProject.test.d.ts → lib/utils/__tests__/isDeepEqual.test.d.ts} +0 -0
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDeveloperTestAccountConfigPrompt = createDeveloperTestAccountConfigPrompt;
4
- const en_1 = require("../../lang/en");
5
- const promptUtils_1 = require("./promptUtils");
6
- const prompts_1 = require("@inquirer/prompts");
1
+ import { Separator } from '@inquirer/prompts';
2
+ import { lib } from '../../lang/en.js';
3
+ import { promptUser } from './promptUtils.js';
7
4
  const hubs = {
8
5
  MARKETING: 'marketingLevel',
9
6
  OPS: 'opsLevel',
@@ -19,7 +16,7 @@ const AccountTiers = {
19
16
  };
20
17
  const makeHubTiers = (hubKey) => {
21
18
  const hubTypeKey = hubKey.toLowerCase();
22
- const hubName = en_1.lib.prompts.createDeveloperTestAccountConfigPrompt.hubTypes[hubTypeKey];
19
+ const hubName = lib.prompts.createDeveloperTestAccountConfigPrompt.hubTypes[hubTypeKey];
23
20
  return [
24
21
  {
25
22
  name: `${hubName} [${AccountTiers.FREE}]`,
@@ -41,29 +38,29 @@ const makeHubTiers = (hubKey) => {
41
38
  };
42
39
  const TEST_ACCOUNT_TIERS = [
43
40
  ...makeHubTiers('MARKETING'),
44
- new prompts_1.Separator(),
41
+ new Separator(),
45
42
  ...makeHubTiers('OPS'),
46
- new prompts_1.Separator(),
43
+ new Separator(),
47
44
  ...makeHubTiers('SERVICE'),
48
- new prompts_1.Separator(),
45
+ new Separator(),
49
46
  ...makeHubTiers('SALES'),
50
- new prompts_1.Separator(),
47
+ new Separator(),
51
48
  ...makeHubTiers('CONTENT'),
52
- new prompts_1.Separator(),
49
+ new Separator(),
53
50
  ];
54
- async function createDeveloperTestAccountConfigPrompt(args = {}) {
51
+ export async function createDeveloperTestAccountConfigPrompt(args = {}, supportFlags = true) {
55
52
  const { name, description } = args;
56
53
  let accountName = name;
57
54
  let accountDescription = description;
58
55
  let accountLevelsArray = [];
59
56
  if (!accountName) {
60
- const namePromptResult = await (0, promptUtils_1.promptUser)({
57
+ const namePromptResult = await promptUser({
61
58
  name: 'accountName',
62
- message: en_1.lib.prompts.createDeveloperTestAccountConfigPrompt.namePrompt,
59
+ message: lib.prompts.createDeveloperTestAccountConfigPrompt.namePrompt(supportFlags),
63
60
  type: 'input',
64
61
  validate: value => {
65
62
  if (!value) {
66
- return en_1.lib.prompts.createDeveloperTestAccountConfigPrompt.errors
63
+ return lib.prompts.createDeveloperTestAccountConfigPrompt.errors
67
64
  .nameRequired;
68
65
  }
69
66
  return true;
@@ -72,45 +69,49 @@ async function createDeveloperTestAccountConfigPrompt(args = {}) {
72
69
  accountName = namePromptResult.accountName;
73
70
  }
74
71
  if (!accountDescription) {
75
- const descriptionPromptResult = await (0, promptUtils_1.promptUser)({
72
+ const descriptionPromptResult = await promptUser({
76
73
  name: 'description',
77
- message: en_1.lib.prompts.createDeveloperTestAccountConfigPrompt.descriptionPrompt,
74
+ message: lib.prompts.createDeveloperTestAccountConfigPrompt.descriptionPrompt(supportFlags),
78
75
  type: 'input',
79
76
  });
80
77
  accountDescription = descriptionPromptResult.description;
81
78
  }
82
- const useDefaultAccountLevelsPromptResult = await (0, promptUtils_1.promptUser)({
79
+ const useDefaultAccountLevelsPromptResult = await promptUser({
83
80
  name: 'useDefaultAccountLevels',
84
- message: en_1.lib.prompts.createDeveloperTestAccountConfigPrompt
81
+ message: lib.prompts.createDeveloperTestAccountConfigPrompt
85
82
  .useDefaultAccountLevelsPrompt.message,
86
83
  type: 'list',
87
84
  choices: [
88
85
  {
89
- name: en_1.lib.prompts.createDeveloperTestAccountConfigPrompt
86
+ name: lib.prompts.createDeveloperTestAccountConfigPrompt
90
87
  .useDefaultAccountLevelsPrompt.default,
91
88
  value: 'default',
92
89
  },
93
90
  {
94
- name: en_1.lib.prompts.createDeveloperTestAccountConfigPrompt
91
+ name: lib.prompts.createDeveloperTestAccountConfigPrompt
95
92
  .useDefaultAccountLevelsPrompt.manual,
96
93
  value: 'manual',
97
94
  },
98
95
  ],
99
96
  });
100
97
  if (useDefaultAccountLevelsPromptResult.useDefaultAccountLevels === 'manual') {
101
- const accountLevelsPromptResult = await (0, promptUtils_1.promptUser)({
98
+ const accountLevelsPromptResult = await promptUser({
102
99
  name: 'testAccountLevels',
103
- message: en_1.lib.prompts.createDeveloperTestAccountConfigPrompt.tiersPrompt,
100
+ message: lib.prompts.createDeveloperTestAccountConfigPrompt.tiersPrompt,
104
101
  type: 'checkbox',
105
102
  pageSize: 13,
106
103
  choices: TEST_ACCOUNT_TIERS,
107
104
  validate: choices => {
108
- if (choices?.length > 1) {
105
+ if (choices?.length < Object.keys(hubs).length) {
106
+ return lib.prompts.createDeveloperTestAccountConfigPrompt.errors
107
+ .allHubsRequired;
108
+ }
109
+ else {
109
110
  const hubMap = {};
110
111
  for (const choice of choices) {
111
112
  const { hub } = choice.value;
112
113
  if (hubMap[hub]) {
113
- return en_1.lib.prompts.createDeveloperTestAccountConfigPrompt.errors
114
+ return lib.prompts.createDeveloperTestAccountConfigPrompt.errors
114
115
  .tiersError;
115
116
  }
116
117
  hubMap[hub] = true;
@@ -127,11 +128,6 @@ async function createDeveloperTestAccountConfigPrompt(args = {}) {
127
128
  acc[hubLevel] = hubTier;
128
129
  return acc;
129
130
  }, {});
130
- Object.values(hubs).forEach(hubLevel => {
131
- if (!accountLevels[hubLevel]) {
132
- accountLevels[hubLevel] = AccountTiers.ENTERPRISE;
133
- }
134
- });
135
131
  return {
136
132
  accountName: accountName,
137
133
  description: accountDescription,
@@ -1,36 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createFunctionPrompt = createFunctionPrompt;
4
- const promptUtils_1 = require("./promptUtils");
5
- const lang_1 = require("../lang");
1
+ import { promptUser } from './promptUtils.js';
2
+ import { i18n } from '../lang.js';
6
3
  const FUNCTIONS_FOLDER_PROMPT = {
7
4
  name: 'functionsFolder',
8
- message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.enterFolder`),
5
+ message: i18n(`lib.prompts.createFunctionPrompt.enterFolder`),
9
6
  validate(val) {
10
7
  if (typeof val !== 'string') {
11
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.invalid`);
8
+ return i18n(`lib.prompts.createFunctionPrompt.errors.invalid`);
12
9
  }
13
10
  else if (!val.length) {
14
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.blank`);
11
+ return i18n(`lib.prompts.createFunctionPrompt.errors.blank`);
15
12
  }
16
13
  else if (val.indexOf(' ') >= 0) {
17
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.space`);
14
+ return i18n(`lib.prompts.createFunctionPrompt.errors.space`);
18
15
  }
19
16
  return true;
20
17
  },
21
18
  };
22
19
  const FUNCTION_FILENAME_PROMPT = {
23
20
  name: 'filename',
24
- message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.enterFilename`),
21
+ message: i18n(`lib.prompts.createFunctionPrompt.enterFilename`),
25
22
  validate(val) {
26
23
  if (typeof val !== 'string') {
27
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.invalid`);
24
+ return i18n(`lib.prompts.createFunctionPrompt.errors.invalid`);
28
25
  }
29
26
  else if (!val.length) {
30
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.blank`);
27
+ return i18n(`lib.prompts.createFunctionPrompt.errors.blank`);
31
28
  }
32
29
  else if (val.indexOf(' ') >= 0) {
33
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.space`);
30
+ return i18n(`lib.prompts.createFunctionPrompt.errors.space`);
34
31
  }
35
32
  return true;
36
33
  },
@@ -38,28 +35,28 @@ const FUNCTION_FILENAME_PROMPT = {
38
35
  const ENDPOINT_METHOD_PROMPT = {
39
36
  type: 'list',
40
37
  name: 'endpointMethod',
41
- message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.selectEndpointMethod`),
38
+ message: i18n(`lib.prompts.createFunctionPrompt.selectEndpointMethod`),
42
39
  default: 'GET',
43
40
  choices: ['DELETE', 'GET', 'PATCH', 'POST', 'PUT'],
44
41
  };
45
42
  const ENDPOINT_PATH_PROMPT = {
46
43
  name: 'endpointPath',
47
- message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.enterEndpointPath`),
44
+ message: i18n(`lib.prompts.createFunctionPrompt.enterEndpointPath`),
48
45
  validate(val) {
49
46
  if (typeof val !== 'string') {
50
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.invalid`);
47
+ return i18n(`lib.prompts.createFunctionPrompt.errors.invalid`);
51
48
  }
52
49
  else if (!val.length) {
53
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.blank`);
50
+ return i18n(`lib.prompts.createFunctionPrompt.errors.blank`);
54
51
  }
55
52
  else if (val.indexOf(' ') >= 0) {
56
- return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.space`);
53
+ return i18n(`lib.prompts.createFunctionPrompt.errors.space`);
57
54
  }
58
55
  return true;
59
56
  },
60
57
  };
61
- function createFunctionPrompt() {
62
- return (0, promptUtils_1.promptUser)([
58
+ export function createFunctionPrompt() {
59
+ return promptUser([
63
60
  FUNCTIONS_FOLDER_PROMPT,
64
61
  FUNCTION_FILENAME_PROMPT,
65
62
  ENDPOINT_METHOD_PROMPT,
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createModulePrompt = createModulePrompt;
4
- const promptUtils_1 = require("./promptUtils");
5
- const lang_1 = require("../lang");
1
+ import { promptUser } from './promptUtils.js';
2
+ import { i18n } from '../lang.js';
6
3
  const MODULE_LABEL_PROMPT = {
7
4
  name: 'moduleLabel',
8
- message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.enterLabel`),
5
+ message: i18n(`lib.prompts.createModulePrompt.enterLabel`),
9
6
  validate(val) {
10
7
  if (typeof val !== 'string') {
11
- return (0, lang_1.i18n)(`lib.prompts.createModulePrompt.errors.invalidLabel`);
8
+ return i18n(`lib.prompts.createModulePrompt.errors.invalidLabel`);
12
9
  }
13
10
  else if (!val.length) {
14
- return (0, lang_1.i18n)(`lib.prompts.createModulePrompt.errors.labelRequired`);
11
+ return i18n(`lib.prompts.createModulePrompt.errors.labelRequired`);
15
12
  }
16
13
  return true;
17
14
  },
@@ -19,13 +16,13 @@ const MODULE_LABEL_PROMPT = {
19
16
  const REACT_TYPE_PROMPT = {
20
17
  type: 'confirm',
21
18
  name: 'reactType',
22
- message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.selectReactType`),
19
+ message: i18n(`lib.prompts.createModulePrompt.selectReactType`),
23
20
  default: false,
24
21
  };
25
22
  const CONTENT_TYPES_PROMPT = {
26
23
  type: 'checkbox',
27
24
  name: 'contentTypes',
28
- message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.selectContentType`),
25
+ message: i18n(`lib.prompts.createModulePrompt.selectContentType`),
29
26
  choices: [
30
27
  { name: 'Any', value: 'ANY', checked: true },
31
28
  { name: 'Landing page', value: 'LANDING_PAGE' },
@@ -45,24 +42,24 @@ const CONTENT_TYPES_PROMPT = {
45
42
  if (input.length > 0) {
46
43
  resolve(true);
47
44
  }
48
- reject((0, lang_1.i18n)(`lib.prompts.createModulePrompt.errors.contentTypeRequired`));
45
+ reject(i18n(`lib.prompts.createModulePrompt.errors.contentTypeRequired`));
49
46
  });
50
47
  },
51
48
  };
52
49
  const GLOBAL_PROMPT = {
53
50
  type: 'confirm',
54
51
  name: 'global',
55
- message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.confirmGlobal`),
52
+ message: i18n(`lib.prompts.createModulePrompt.confirmGlobal`),
56
53
  default: false,
57
54
  };
58
55
  const AVAILABLE_FOR_NEW_CONTENT = {
59
56
  type: 'confirm',
60
57
  name: 'availableForNewContent',
61
- message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.availableForNewContent`),
58
+ message: i18n(`lib.prompts.createModulePrompt.availableForNewContent`),
62
59
  default: true,
63
60
  };
64
- function createModulePrompt() {
65
- return (0, promptUtils_1.promptUser)([
61
+ export function createModulePrompt() {
62
+ return promptUser([
66
63
  MODULE_LABEL_PROMPT,
67
64
  REACT_TYPE_PROMPT,
68
65
  CONTENT_TYPES_PROMPT,
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTemplatePrompt = createTemplatePrompt;
4
- const promptUtils_1 = require("./promptUtils");
5
- const lang_1 = require("../lang");
1
+ import { promptUser } from './promptUtils.js';
2
+ import { i18n } from '../lang.js';
6
3
  const templateTypeChoices = [
7
4
  { name: 'page', value: 'page-template' },
8
5
  { name: 'email', value: 'email-template' },
@@ -15,10 +12,10 @@ const templateTypeChoices = [
15
12
  const TEMPLATE_TYPE_PROMPT = {
16
13
  type: 'list',
17
14
  name: 'templateType',
18
- message: (0, lang_1.i18n)(`lib.prompts.createTemplatePrompt.selectTemplate`),
15
+ message: i18n(`lib.prompts.createTemplatePrompt.selectTemplate`),
19
16
  default: 'page',
20
17
  choices: templateTypeChoices,
21
18
  };
22
- function createTemplatePrompt() {
23
- return (0, promptUtils_1.promptUser)([TEMPLATE_TYPE_PROMPT]);
19
+ export function createTemplatePrompt() {
20
+ return promptUser([TEMPLATE_TYPE_PROMPT]);
24
21
  }
@@ -1,41 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.downloadProjectPrompt = downloadProjectPrompt;
4
- const promptUtils_1 = require("./promptUtils");
5
- const config_1 = require("@hubspot/local-dev-lib/config");
6
- const projects_1 = require("@hubspot/local-dev-lib/api/projects");
7
- const index_1 = require("../errorHandlers/index");
8
- const logger_1 = require("@hubspot/local-dev-lib/logger");
9
- const exitCodes_1 = require("../enums/exitCodes");
10
- const lang_1 = require("../lang");
1
+ import { promptUser } from './promptUtils.js';
2
+ import { getAccountId } from '@hubspot/local-dev-lib/config';
3
+ import { fetchProjects } from '@hubspot/local-dev-lib/api/projects';
4
+ import { logError, ApiErrorContext } from '../errorHandlers/index.js';
5
+ import { logger } from '@hubspot/local-dev-lib/logger';
6
+ import { EXIT_CODES } from '../enums/exitCodes.js';
7
+ import { i18n } from '../lang.js';
11
8
  async function createProjectsList(accountId) {
12
9
  try {
13
10
  if (accountId) {
14
- const { data: projects } = await (0, projects_1.fetchProjects)(accountId);
11
+ const { data: projects } = await fetchProjects(accountId);
15
12
  return projects.results;
16
13
  }
17
- logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.downloadProjectPrompt.errors.accountIdRequired`));
18
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
14
+ logger.error(i18n(`lib.prompts.downloadProjectPrompt.errors.accountIdRequired`));
15
+ process.exit(EXIT_CODES.ERROR);
19
16
  }
20
17
  catch (e) {
21
- (0, index_1.logError)(e, accountId ? new index_1.ApiErrorContext({ accountId }) : undefined);
22
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
18
+ logError(e, accountId ? new ApiErrorContext({ accountId }) : undefined);
19
+ process.exit(EXIT_CODES.ERROR);
23
20
  }
24
21
  }
25
- async function downloadProjectPrompt(promptOptions) {
26
- const accountId = (0, config_1.getAccountId)(promptOptions.account);
22
+ export async function downloadProjectPrompt(promptOptions) {
23
+ const accountId = getAccountId(promptOptions.account);
27
24
  const projectsList = await createProjectsList(accountId);
28
- const response = await (0, promptUtils_1.promptUser)([
25
+ const response = await promptUser([
29
26
  {
30
27
  name: 'project',
31
28
  message: () => {
32
29
  return promptOptions.project &&
33
30
  !projectsList.find(p => p.name === promptOptions.name)
34
- ? (0, lang_1.i18n)(`lib.prompts.downloadProjectPrompt.errors.projectNotFound`, {
31
+ ? i18n(`lib.prompts.downloadProjectPrompt.errors.projectNotFound`, {
35
32
  projectName: promptOptions.project,
36
33
  accountId: accountId || '',
37
34
  })
38
- : (0, lang_1.i18n)(`lib.prompts.downloadProjectPrompt.selectProject`);
35
+ : i18n(`lib.prompts.downloadProjectPrompt.selectProject`);
39
36
  },
40
37
  when: !promptOptions.project ||
41
38
  !projectsList.find(p => p.name === promptOptions.project),
@@ -1,45 +1,38 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.installAppBrowserPrompt = installAppBrowserPrompt;
7
- exports.installAppAutoPrompt = installAppAutoPrompt;
8
- const open_1 = __importDefault(require("open"));
9
- const promptUtils_1 = require("./promptUtils");
10
- const exitCodes_1 = require("../enums/exitCodes");
11
- const en_1 = require("../../lang/en");
12
- const logger_1 = require("../ui/logger");
13
- async function installAppBrowserPrompt(installUrl, isReinstall = false) {
14
- logger_1.uiLogger.log('');
1
+ import open from 'open';
2
+ import { promptUser } from './promptUtils.js';
3
+ import { EXIT_CODES } from '../enums/exitCodes.js';
4
+ import { lib } from '../../lang/en.js';
5
+ import { uiLogger } from '../ui/logger.js';
6
+ export async function installAppBrowserPrompt(installUrl, isReinstall = false) {
7
+ uiLogger.log('');
15
8
  if (isReinstall) {
16
- logger_1.uiLogger.log(en_1.lib.prompts.installAppPrompt.reinstallExplanation);
9
+ uiLogger.log(lib.prompts.installAppPrompt.reinstallExplanation);
17
10
  }
18
11
  else {
19
- logger_1.uiLogger.log(en_1.lib.prompts.installAppPrompt.explanation);
12
+ uiLogger.log(lib.prompts.installAppPrompt.explanation);
20
13
  }
21
- const { shouldOpenBrowser } = await (0, promptUtils_1.promptUser)({
14
+ const { shouldOpenBrowser } = await promptUser({
22
15
  name: 'shouldOpenBrowser',
23
16
  type: 'confirm',
24
17
  message: isReinstall
25
- ? en_1.lib.prompts.installAppPrompt.reinstallPrompt
26
- : en_1.lib.prompts.installAppPrompt.prompt,
18
+ ? lib.prompts.installAppPrompt.reinstallPrompt
19
+ : lib.prompts.installAppPrompt.prompt,
27
20
  });
28
21
  if (!isReinstall && !shouldOpenBrowser) {
29
- logger_1.uiLogger.log(en_1.lib.prompts.installAppPrompt.decline);
30
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
22
+ uiLogger.log(lib.prompts.installAppPrompt.decline);
23
+ process.exit(EXIT_CODES.SUCCESS);
31
24
  }
32
25
  else if (!shouldOpenBrowser) {
33
26
  return;
34
27
  }
35
- (0, open_1.default)(installUrl);
28
+ open(installUrl);
36
29
  }
37
- async function installAppAutoPrompt() {
38
- logger_1.uiLogger.log('');
39
- const { shouldInstall } = await (0, promptUtils_1.promptUser)({
30
+ export async function installAppAutoPrompt() {
31
+ uiLogger.log('');
32
+ const { shouldInstall } = await promptUser({
40
33
  name: 'shouldInstall',
41
34
  type: 'confirm',
42
- message: en_1.lib.prompts.installAppPrompt.autoPrompt,
35
+ message: lib.prompts.installAppPrompt.autoPrompt,
43
36
  });
44
37
  return shouldInstall;
45
38
  }
@@ -1,5 +1,5 @@
1
- import { AccountNamePromptResponse } from './accountNamePrompt';
2
- import { PromptConfig } from '../../types/Prompts';
1
+ import { AccountNamePromptResponse } from './accountNamePrompt.js';
2
+ import { PromptConfig } from '../../types/Prompts.js';
3
3
  export type PersonalAccessKeyPromptResponse = {
4
4
  personalAccessKey: string;
5
5
  env: string;
@@ -1,49 +1,42 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OAUTH_FLOW = void 0;
7
- exports.personalAccessKeyPrompt = personalAccessKeyPrompt;
8
- const open_1 = __importDefault(require("open"));
9
- const auth_1 = require("@hubspot/local-dev-lib/constants/auth");
10
- const config_1 = require("@hubspot/local-dev-lib/config");
11
- const urls_1 = require("@hubspot/local-dev-lib/urls");
12
- const logger_1 = require("@hubspot/local-dev-lib/logger");
13
- const promptUtils_1 = require("./promptUtils");
14
- const accountNamePrompt_1 = require("./accountNamePrompt");
15
- const ui_1 = require("../ui");
16
- const exitCodes_1 = require("../enums/exitCodes");
17
- const en_1 = require("../../lang/en");
1
+ import open from 'open';
2
+ import { OAUTH_SCOPES, DEFAULT_OAUTH_SCOPES, } from '@hubspot/local-dev-lib/constants/auth';
3
+ import { deleteEmptyConfigFile } from '@hubspot/local-dev-lib/config';
4
+ import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
5
+ import { logger } from '@hubspot/local-dev-lib/logger';
6
+ import { promptUser } from './promptUtils.js';
7
+ import { getCliAccountNamePromptConfig, } from './accountNamePrompt.js';
8
+ import { uiInfoSection } from '../ui/index.js';
9
+ import { EXIT_CODES } from '../enums/exitCodes.js';
10
+ import { lib } from '../../lang/en.js';
18
11
  /**
19
12
  * Displays notification to user that we are about to open the browser,
20
13
  * then opens their browser to the personal-access-key shortlink
21
14
  */
22
- async function personalAccessKeyPrompt({ env, account, }) {
23
- const websiteOrigin = (0, urls_1.getHubSpotWebsiteOrigin)(env);
15
+ export async function personalAccessKeyPrompt({ env, account, }) {
16
+ const websiteOrigin = getHubSpotWebsiteOrigin(env);
24
17
  let url = `${websiteOrigin}/l/personal-access-key`;
25
18
  if (process.env.BROWSER !== 'none') {
26
- (0, ui_1.uiInfoSection)(en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeySetupTitle, () => {
27
- logger_1.logger.log(en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyBrowserOpenPrep);
19
+ uiInfoSection(lib.prompts.personalAccessKeyPrompt.personalAccessKeySetupTitle, () => {
20
+ logger.log(lib.prompts.personalAccessKeyPrompt.personalAccessKeyBrowserOpenPrep);
28
21
  });
29
22
  if (account) {
30
23
  url = `${websiteOrigin}/personal-access-key/${account}`;
31
24
  }
32
- const { personalAccessKeyBrowserOpenPrep: choice } = await (0, promptUtils_1.promptUser)([
25
+ const { personalAccessKeyBrowserOpenPrep: choice } = await promptUser([
33
26
  PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP,
34
27
  ]);
35
28
  if (!choice) {
36
- (0, config_1.deleteEmptyConfigFile)();
37
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
29
+ deleteEmptyConfigFile();
30
+ process.exit(EXIT_CODES.SUCCESS);
38
31
  }
39
32
  if (choice ===
40
- en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
33
+ lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
41
34
  .OPEN_BROWSER) {
42
- (0, open_1.default)(url, { url: true });
43
- logger_1.logger.log(en_1.lib.prompts.personalAccessKeyPrompt.logs.openingWebBrowser(url));
35
+ open(url, { url: true });
36
+ logger.log(lib.prompts.personalAccessKeyPrompt.logs.openingWebBrowser(url));
44
37
  }
45
38
  }
46
- const { personalAccessKey } = await (0, promptUtils_1.promptUser)(PERSONAL_ACCESS_KEY);
39
+ const { personalAccessKey } = await promptUser(PERSONAL_ACCESS_KEY);
47
40
  return {
48
41
  personalAccessKey,
49
42
  env,
@@ -51,24 +44,24 @@ async function personalAccessKeyPrompt({ env, account, }) {
51
44
  }
52
45
  const ACCOUNT_ID = {
53
46
  name: 'accountId',
54
- message: en_1.lib.prompts.personalAccessKeyPrompt.enterAccountId,
47
+ message: lib.prompts.personalAccessKeyPrompt.enterAccountId,
55
48
  type: 'number',
56
49
  validate(val) {
57
50
  if (!Number.isNaN(val) && val !== undefined && val > 0) {
58
51
  return true;
59
52
  }
60
- return en_1.lib.prompts.personalAccessKeyPrompt.errors.invalidAccountId;
53
+ return lib.prompts.personalAccessKeyPrompt.errors.invalidAccountId;
61
54
  },
62
55
  };
63
56
  const CLIENT_ID = {
64
57
  name: 'clientId',
65
- message: en_1.lib.prompts.personalAccessKeyPrompt.enterClientId,
58
+ message: lib.prompts.personalAccessKeyPrompt.enterClientId,
66
59
  validate(val) {
67
60
  if (typeof val !== 'string') {
68
- return en_1.lib.prompts.personalAccessKeyPrompt.errors.invalidOauthClientId;
61
+ return lib.prompts.personalAccessKeyPrompt.errors.invalidOauthClientId;
69
62
  }
70
63
  else if (val.length !== 36) {
71
- return en_1.lib.prompts.personalAccessKeyPrompt.errors
64
+ return lib.prompts.personalAccessKeyPrompt.errors
72
65
  .invalidOauthClientIdLength;
73
66
  }
74
67
  return true;
@@ -76,18 +69,18 @@ const CLIENT_ID = {
76
69
  };
77
70
  const CLIENT_SECRET = {
78
71
  name: 'clientSecret',
79
- message: en_1.lib.prompts.personalAccessKeyPrompt.enterClientSecret,
72
+ message: lib.prompts.personalAccessKeyPrompt.enterClientSecret,
80
73
  validate(val) {
81
74
  if (typeof val !== 'string') {
82
- return en_1.lib.prompts.personalAccessKeyPrompt.errors
75
+ return lib.prompts.personalAccessKeyPrompt.errors
83
76
  .invalidOauthClientSecret;
84
77
  }
85
78
  else if (val.length !== 36) {
86
- return en_1.lib.prompts.personalAccessKeyPrompt.errors
79
+ return lib.prompts.personalAccessKeyPrompt.errors
87
80
  .invalidOauthClientSecretLength;
88
81
  }
89
82
  else if (val[0] === '*') {
90
- return en_1.lib.prompts.personalAccessKeyPrompt.errors
83
+ return lib.prompts.personalAccessKeyPrompt.errors
91
84
  .invalidOauthClientSecretCopy;
92
85
  }
93
86
  return true;
@@ -97,13 +90,13 @@ const PERSONAL_ACCESS_KEY_BROWSER_OPEN_PREP = {
97
90
  name: 'personalAccessKeyBrowserOpenPrep',
98
91
  type: 'list',
99
92
  message: 'Choose your preferred method of authentication',
100
- choices: Object.values(en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices),
101
- default: en_1.lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
93
+ choices: Object.values(lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices),
94
+ default: lib.prompts.personalAccessKeyPrompt.personalAccessKeyPromptChoices
102
95
  .OPEN_BROWSER,
103
96
  };
104
97
  const PERSONAL_ACCESS_KEY = {
105
98
  name: 'personalAccessKey',
106
- message: en_1.lib.prompts.personalAccessKeyPrompt.enterPersonalAccessKey,
99
+ message: lib.prompts.personalAccessKeyPrompt.enterPersonalAccessKey,
107
100
  transformer: (val) => {
108
101
  if (!val)
109
102
  return val;
@@ -115,11 +108,11 @@ const PERSONAL_ACCESS_KEY = {
115
108
  },
116
109
  validate(val) {
117
110
  if (!val || typeof val !== 'string') {
118
- return en_1.lib.prompts.personalAccessKeyPrompt.errors
111
+ return lib.prompts.personalAccessKeyPrompt.errors
119
112
  .invalidPersonalAccessKey;
120
113
  }
121
114
  else if (val[0] === '•') {
122
- return en_1.lib.prompts.personalAccessKeyPrompt.errors
115
+ return lib.prompts.personalAccessKeyPrompt.errors
123
116
  .invalidPersonalAccessKeyCopy;
124
117
  }
125
118
  return true;
@@ -128,12 +121,12 @@ const PERSONAL_ACCESS_KEY = {
128
121
  const SCOPES = {
129
122
  type: 'checkbox',
130
123
  name: 'scopes',
131
- message: en_1.lib.prompts.personalAccessKeyPrompt.selectScopes,
132
- default: [...auth_1.DEFAULT_OAUTH_SCOPES],
133
- choices: [...auth_1.OAUTH_SCOPES],
124
+ message: lib.prompts.personalAccessKeyPrompt.selectScopes,
125
+ default: [...DEFAULT_OAUTH_SCOPES],
126
+ choices: [...OAUTH_SCOPES],
134
127
  };
135
- exports.OAUTH_FLOW = [
136
- (0, accountNamePrompt_1.getCliAccountNamePromptConfig)(),
128
+ export const OAUTH_FLOW = [
129
+ getCliAccountNamePromptConfig(),
137
130
  ACCOUNT_ID,
138
131
  CLIENT_ID,
139
132
  CLIENT_SECRET,