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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/api/__tests__/migrate.test.js +27 -29
  2. package/api/migrate.js +14 -22
  3. package/bin/cli.js +92 -97
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +1 -2
  7. package/commands/__tests__/account.test.js +29 -34
  8. package/commands/__tests__/auth.test.js +11 -16
  9. package/commands/__tests__/cms.test.js +15 -20
  10. package/commands/__tests__/config.test.js +14 -19
  11. package/commands/__tests__/create.test.js +10 -15
  12. package/commands/__tests__/customObject.test.js +14 -19
  13. package/commands/__tests__/doctor.test.js +43 -48
  14. package/commands/__tests__/feedback.test.js +7 -45
  15. package/commands/__tests__/fetch.test.js +29 -28
  16. package/commands/__tests__/filemanager.test.js +14 -19
  17. package/commands/__tests__/function.test.js +16 -21
  18. package/commands/__tests__/getStarted.test.js +45 -50
  19. package/commands/__tests__/hubdb.test.js +17 -22
  20. package/commands/__tests__/init.test.js +12 -17
  21. package/commands/__tests__/lint.test.js +13 -18
  22. package/commands/__tests__/list.test.js +18 -23
  23. package/commands/__tests__/logs.test.js +28 -27
  24. package/commands/__tests__/mcp.test.js +14 -19
  25. package/commands/__tests__/mv.test.js +14 -52
  26. package/commands/__tests__/open.test.js +13 -51
  27. package/commands/__tests__/project.test.js +44 -49
  28. package/commands/__tests__/remove.test.js +13 -51
  29. package/commands/__tests__/sandbox.test.js +14 -19
  30. package/commands/__tests__/secret.test.js +16 -21
  31. package/commands/__tests__/testAccount.test.js +16 -21
  32. package/commands/__tests__/theme.test.js +15 -20
  33. package/commands/account/__tests__/auth.test.js +11 -16
  34. package/commands/account/__tests__/clean.test.js +12 -17
  35. package/commands/account/__tests__/createOverride.test.js +10 -15
  36. package/commands/account/__tests__/info.test.js +11 -16
  37. package/commands/account/__tests__/list.test.js +11 -16
  38. package/commands/account/__tests__/remove.test.js +13 -18
  39. package/commands/account/__tests__/removeOverride.js +8 -13
  40. package/commands/account/__tests__/rename.test.js +15 -20
  41. package/commands/account/__tests__/use.test.js +10 -15
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +65 -67
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +55 -60
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +52 -57
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +33 -35
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +43 -45
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +37 -42
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +38 -43
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +18 -20
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +29 -31
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +23 -28
  62. package/commands/app/__tests__/migrate.test.js +29 -34
  63. package/commands/app/migrate.d.ts +2 -2
  64. package/commands/app/migrate.js +40 -43
  65. package/commands/app/secret/__tests__/add.test.js +6 -11
  66. package/commands/app/secret/__tests__/delete.test.js +6 -11
  67. package/commands/app/secret/__tests__/list.test.js +6 -11
  68. package/commands/app/secret/__tests__/update.test.js +6 -11
  69. package/commands/app/secret/add.d.ts +1 -1
  70. package/commands/app/secret/add.js +28 -30
  71. package/commands/app/secret/delete.d.ts +1 -1
  72. package/commands/app/secret/delete.js +34 -36
  73. package/commands/app/secret/list.d.ts +1 -1
  74. package/commands/app/secret/list.js +25 -27
  75. package/commands/app/secret/update.d.ts +1 -1
  76. package/commands/app/secret/update.js +32 -34
  77. package/commands/app/secret.d.ts +1 -1
  78. package/commands/app/secret.js +12 -17
  79. package/commands/app.d.ts +1 -1
  80. package/commands/app.js +6 -16
  81. package/commands/auth.d.ts +1 -1
  82. package/commands/auth.js +70 -72
  83. package/commands/cms/convertFields.d.ts +1 -1
  84. package/commands/cms/convertFields.js +34 -39
  85. package/commands/cms/getReactModule.d.ts +1 -1
  86. package/commands/cms/getReactModule.js +32 -37
  87. package/commands/cms/lighthouseScore.d.ts +1 -1
  88. package/commands/cms/lighthouseScore.js +67 -72
  89. package/commands/cms.d.ts +1 -1
  90. package/commands/cms.js +11 -16
  91. package/commands/completion.d.ts +1 -1
  92. package/commands/completion.js +10 -15
  93. package/commands/config/migrate.d.ts +1 -1
  94. package/commands/config/migrate.js +27 -32
  95. package/commands/config/set.d.ts +1 -1
  96. package/commands/config/set.js +23 -25
  97. package/commands/config.d.ts +1 -1
  98. package/commands/config.js +8 -13
  99. package/commands/create/api-sample.d.ts +1 -1
  100. package/commands/create/api-sample.js +28 -33
  101. package/commands/create/app.d.ts +1 -1
  102. package/commands/create/app.js +3 -5
  103. package/commands/create/function.d.ts +1 -1
  104. package/commands/create/function.js +9 -11
  105. package/commands/create/index.d.ts +1 -1
  106. package/commands/create/index.js +19 -24
  107. package/commands/create/module.d.ts +1 -1
  108. package/commands/create/module.js +12 -14
  109. package/commands/create/react-app.d.ts +1 -1
  110. package/commands/create/react-app.js +3 -5
  111. package/commands/create/template.d.ts +1 -1
  112. package/commands/create/template.js +12 -14
  113. package/commands/create/vue-app.d.ts +1 -1
  114. package/commands/create/vue-app.js +3 -5
  115. package/commands/create/webpack-serverless.d.ts +1 -1
  116. package/commands/create/webpack-serverless.js +3 -5
  117. package/commands/create/website-theme.d.ts +1 -1
  118. package/commands/create/website-theme.js +5 -7
  119. package/commands/create.d.ts +2 -2
  120. package/commands/create.js +30 -35
  121. package/commands/customObject/__tests__/create.test.js +13 -18
  122. package/commands/customObject/__tests__/schema.test.js +18 -23
  123. package/commands/customObject/create.d.ts +1 -1
  124. package/commands/customObject/create.js +28 -30
  125. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  126. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  127. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  131. package/commands/customObject/schema/create.d.ts +1 -1
  132. package/commands/customObject/schema/create.js +28 -30
  133. package/commands/customObject/schema/delete.d.ts +1 -1
  134. package/commands/customObject/schema/delete.js +24 -26
  135. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  136. package/commands/customObject/schema/fetch-all.js +22 -24
  137. package/commands/customObject/schema/fetch.d.ts +1 -1
  138. package/commands/customObject/schema/fetch.js +24 -26
  139. package/commands/customObject/schema/list.d.ts +1 -1
  140. package/commands/customObject/schema/list.js +13 -15
  141. package/commands/customObject/schema/update.d.ts +1 -1
  142. package/commands/customObject/schema/update.js +32 -34
  143. package/commands/customObject/schema.d.ts +1 -1
  144. package/commands/customObject/schema.js +17 -22
  145. package/commands/customObject.d.ts +1 -1
  146. package/commands/customObject.js +13 -18
  147. package/commands/doctor.d.ts +1 -1
  148. package/commands/doctor.js +28 -33
  149. package/commands/feedback.d.ts +1 -1
  150. package/commands/feedback.js +19 -24
  151. package/commands/fetch.d.ts +1 -1
  152. package/commands/fetch.js +28 -30
  153. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  154. package/commands/filemanager/__tests__/upload.test.js +15 -20
  155. package/commands/filemanager/fetch.d.ts +1 -1
  156. package/commands/filemanager/fetch.js +23 -25
  157. package/commands/filemanager/upload.d.ts +1 -1
  158. package/commands/filemanager/upload.js +39 -44
  159. package/commands/filemanager.d.ts +1 -1
  160. package/commands/filemanager.js +8 -13
  161. package/commands/function/deploy.d.ts +1 -1
  162. package/commands/function/deploy.js +35 -40
  163. package/commands/function/list.d.ts +1 -1
  164. package/commands/function/list.js +24 -29
  165. package/commands/function/server.d.ts +1 -1
  166. package/commands/function/server.js +15 -17
  167. package/commands/function.d.ts +1 -1
  168. package/commands/function.js +12 -18
  169. package/commands/getStarted.d.ts +1 -1
  170. package/commands/getStarted.js +119 -125
  171. package/commands/hubdb/__tests__/clear.test.js +13 -18
  172. package/commands/hubdb/__tests__/create.test.js +13 -18
  173. package/commands/hubdb/__tests__/delete.test.js +13 -18
  174. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  175. package/commands/hubdb/__tests__/list.test.js +23 -28
  176. package/commands/hubdb/clear.d.ts +1 -1
  177. package/commands/hubdb/clear.js +20 -22
  178. package/commands/hubdb/create.d.ts +1 -1
  179. package/commands/hubdb/create.js +30 -35
  180. package/commands/hubdb/delete.d.ts +1 -1
  181. package/commands/hubdb/delete.js +24 -26
  182. package/commands/hubdb/fetch.d.ts +1 -1
  183. package/commands/hubdb/fetch.js +17 -19
  184. package/commands/hubdb/list.d.ts +1 -1
  185. package/commands/hubdb/list.js +33 -35
  186. package/commands/hubdb.d.ts +1 -1
  187. package/commands/hubdb.js +18 -24
  188. package/commands/init.d.ts +1 -1
  189. package/commands/init.js +83 -88
  190. package/commands/lint.d.ts +1 -1
  191. package/commands/lint.js +24 -26
  192. package/commands/list.d.ts +1 -1
  193. package/commands/list.js +32 -37
  194. package/commands/logs.d.ts +1 -1
  195. package/commands/logs.js +35 -37
  196. package/commands/mcp/__tests__/setup.test.js +7 -12
  197. package/commands/mcp/__tests__/start.test.js +7 -12
  198. package/commands/mcp/setup.d.ts +1 -1
  199. package/commands/mcp/setup.js +17 -19
  200. package/commands/mcp/start.d.ts +1 -1
  201. package/commands/mcp/start.js +29 -34
  202. package/commands/mcp.d.ts +1 -1
  203. package/commands/mcp.js +7 -12
  204. package/commands/module/marketplace-validate.d.ts +1 -1
  205. package/commands/module/marketplace-validate.js +21 -26
  206. package/commands/module.d.ts +1 -1
  207. package/commands/module.js +7 -13
  208. package/commands/mv.d.ts +1 -1
  209. package/commands/mv.js +20 -22
  210. package/commands/open.d.ts +1 -1
  211. package/commands/open.js +19 -21
  212. package/commands/project/__tests__/add.test.js +10 -15
  213. package/commands/project/__tests__/create.test.js +14 -19
  214. package/commands/project/__tests__/deploy.test.js +96 -134
  215. package/commands/project/__tests__/devUnifiedFlow.test.js +133 -139
  216. package/commands/project/__tests__/download.test.js +14 -19
  217. package/commands/project/__tests__/installDeps.test.js +32 -70
  218. package/commands/project/__tests__/listBuilds.test.js +14 -19
  219. package/commands/project/__tests__/logs.test.js +56 -94
  220. package/commands/project/__tests__/migrate.test.js +25 -30
  221. package/commands/project/__tests__/migrateApp.test.js +17 -22
  222. package/commands/project/__tests__/open.test.js +16 -21
  223. package/commands/project/__tests__/profile.test.js +14 -19
  224. package/commands/project/__tests__/upload.test.js +18 -23
  225. package/commands/project/__tests__/watch.test.js +14 -19
  226. package/commands/project/add.d.ts +1 -1
  227. package/commands/project/add.js +34 -36
  228. package/commands/project/cloneApp.d.ts +1 -1
  229. package/commands/project/cloneApp.js +67 -72
  230. package/commands/project/create.d.ts +2 -2
  231. package/commands/project/create.js +63 -68
  232. package/commands/project/deploy.d.ts +1 -1
  233. package/commands/project/deploy.js +67 -69
  234. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  235. package/commands/project/dev/deprecatedFlow.js +52 -58
  236. package/commands/project/dev/index.d.ts +1 -1
  237. package/commands/project/dev/index.js +44 -47
  238. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  239. package/commands/project/dev/unifiedFlow.js +62 -68
  240. package/commands/project/download.d.ts +1 -1
  241. package/commands/project/download.js +35 -40
  242. package/commands/project/installDeps.d.ts +1 -1
  243. package/commands/project/installDeps.js +29 -34
  244. package/commands/project/listBuilds.d.ts +1 -1
  245. package/commands/project/listBuilds.js +40 -45
  246. package/commands/project/logs.d.ts +1 -1
  247. package/commands/project/logs.js +52 -54
  248. package/commands/project/migrate.d.ts +1 -1
  249. package/commands/project/migrate.js +24 -26
  250. package/commands/project/migrateApp.d.ts +2 -2
  251. package/commands/project/migrateApp.js +18 -20
  252. package/commands/project/open.d.ts +1 -1
  253. package/commands/project/open.js +25 -30
  254. package/commands/project/profile/add.d.ts +1 -1
  255. package/commands/project/profile/add.js +68 -73
  256. package/commands/project/profile/delete.d.ts +1 -1
  257. package/commands/project/profile/delete.js +51 -56
  258. package/commands/project/profile.d.ts +1 -1
  259. package/commands/project/profile.js +9 -14
  260. package/commands/project/upload.d.ts +1 -1
  261. package/commands/project/upload.js +50 -55
  262. package/commands/project/validate.d.ts +1 -1
  263. package/commands/project/validate.js +35 -40
  264. package/commands/project/watch.d.ts +1 -1
  265. package/commands/project/watch.js +59 -61
  266. package/commands/project.d.ts +1 -1
  267. package/commands/project.js +38 -43
  268. package/commands/remove.d.ts +1 -1
  269. package/commands/remove.js +15 -17
  270. package/commands/sandbox/__tests__/create.test.js +15 -20
  271. package/commands/sandbox/__tests__/delete.test.js +15 -20
  272. package/commands/sandbox/create.d.ts +1 -1
  273. package/commands/sandbox/create.js +67 -69
  274. package/commands/sandbox/delete.d.ts +1 -1
  275. package/commands/sandbox/delete.js +94 -96
  276. package/commands/sandbox.d.ts +1 -1
  277. package/commands/sandbox.js +9 -14
  278. package/commands/secret/__tests__/addSecret.test.js +13 -18
  279. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  280. package/commands/secret/__tests__/listSecret.test.js +13 -18
  281. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  282. package/commands/secret/addSecret.d.ts +1 -1
  283. package/commands/secret/addSecret.js +26 -28
  284. package/commands/secret/deleteSecret.d.ts +1 -1
  285. package/commands/secret/deleteSecret.js +27 -29
  286. package/commands/secret/listSecret.d.ts +1 -1
  287. package/commands/secret/listSecret.js +19 -21
  288. package/commands/secret/updateSecret.d.ts +1 -1
  289. package/commands/secret/updateSecret.js +25 -27
  290. package/commands/secret.d.ts +1 -1
  291. package/commands/secret.js +13 -18
  292. package/commands/testAccount/__tests__/create.test.js +17 -22
  293. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  294. package/commands/testAccount/__tests__/delete.test.js +15 -20
  295. package/commands/testAccount/create.d.ts +1 -1
  296. package/commands/testAccount/create.js +45 -53
  297. package/commands/testAccount/createConfig.d.ts +1 -1
  298. package/commands/testAccount/createConfig.js +36 -41
  299. package/commands/testAccount/delete.d.ts +1 -1
  300. package/commands/testAccount/delete.js +17 -19
  301. package/commands/testAccount.d.ts +1 -1
  302. package/commands/testAccount.js +10 -15
  303. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  304. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  305. package/commands/theme/__tests__/preview.test.js +12 -17
  306. package/commands/theme/generate-selectors.d.ts +1 -1
  307. package/commands/theme/generate-selectors.js +23 -28
  308. package/commands/theme/marketplace-validate.d.ts +1 -1
  309. package/commands/theme/marketplace-validate.js +19 -24
  310. package/commands/theme/preview.d.ts +1 -1
  311. package/commands/theme/preview.js +60 -65
  312. package/commands/theme.d.ts +1 -1
  313. package/commands/theme.js +11 -16
  314. package/commands/upload.d.ts +1 -1
  315. package/commands/upload.js +77 -82
  316. package/commands/watch.d.ts +1 -1
  317. package/commands/watch.js +45 -51
  318. package/lang/en.d.ts +0 -22
  319. package/lang/en.js +371 -399
  320. package/lib/__tests__/accountTypes.test.js +20 -22
  321. package/lib/__tests__/buildAccount.test.js +28 -63
  322. package/lib/__tests__/commonOpts.test.js +20 -22
  323. package/lib/__tests__/dependencyManagement.test.js +46 -51
  324. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  325. package/lib/__tests__/hasFeature.test.js +6 -8
  326. package/lib/__tests__/npm.test.js +15 -20
  327. package/lib/__tests__/oauth.test.js +23 -28
  328. package/lib/__tests__/parsing.test.js +18 -20
  329. package/lib/__tests__/polling.test.js +24 -26
  330. package/lib/__tests__/process.test.js +14 -19
  331. package/lib/__tests__/projectProfiles.test.js +34 -39
  332. package/lib/__tests__/sandboxSync.test.js +30 -35
  333. package/lib/__tests__/sandboxes.test.js +29 -31
  334. package/lib/__tests__/serverlessLogs.test.js +8 -13
  335. package/lib/__tests__/usageTracking.test.js +33 -34
  336. package/lib/__tests__/validation.test.js +18 -20
  337. package/lib/__tests__/yargsUtils.test.js +6 -41
  338. package/lib/accountTypes.js +24 -34
  339. package/lib/app/__tests__/migrate.test.js +94 -99
  340. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  341. package/lib/app/migrate.d.ts +3 -3
  342. package/lib/app/migrate.js +127 -145
  343. package/lib/app/migrate_legacy.d.ts +1 -1
  344. package/lib/app/migrate_legacy.js +72 -78
  345. package/lib/app/urls.js +5 -9
  346. package/lib/buildAccount.d.ts +1 -1
  347. package/lib/buildAccount.js +71 -80
  348. package/lib/commonOpts.d.ts +1 -1
  349. package/lib/commonOpts.js +42 -59
  350. package/lib/configMigrate.js +34 -38
  351. package/lib/configOptions.js +34 -40
  352. package/lib/constants.js +31 -34
  353. package/lib/customObject.js +2 -6
  354. package/lib/dependencyManagement.js +37 -45
  355. package/lib/developerTestAccounts.d.ts +1 -1
  356. package/lib/developerTestAccounts.js +34 -39
  357. package/lib/doctor/Diagnosis.d.ts +1 -1
  358. package/lib/doctor/Diagnosis.js +25 -29
  359. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  360. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  361. package/lib/doctor/Doctor.d.ts +1 -1
  362. package/lib/doctor/Doctor.js +94 -101
  363. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  364. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  365. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  366. package/lib/enums/exitCodes.js +1 -4
  367. package/lib/errorHandlers/index.js +32 -41
  368. package/lib/errorHandlers/suppressError.d.ts +1 -1
  369. package/lib/errorHandlers/suppressError.js +28 -31
  370. package/lib/filesystem.js +8 -15
  371. package/lib/generateSelectors.js +18 -29
  372. package/lib/hasFeature.d.ts +1 -1
  373. package/lib/hasFeature.js +3 -6
  374. package/lib/interpolation.js +11 -18
  375. package/lib/lang.d.ts +1 -1
  376. package/lib/lang.js +22 -27
  377. package/lib/links.js +16 -24
  378. package/lib/marketplaceValidate.js +29 -39
  379. package/lib/mcp/setup.js +70 -82
  380. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  381. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  382. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  383. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  384. package/lib/middleware/__test__/utils.test.js +9 -11
  385. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  386. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  387. package/lib/middleware/configMiddleware.js +36 -42
  388. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  389. package/lib/middleware/gitMiddleware.js +5 -8
  390. package/lib/middleware/notificationsMiddleware.js +16 -23
  391. package/lib/middleware/requestMiddleware.js +4 -10
  392. package/lib/middleware/utils.js +1 -4
  393. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  394. package/lib/npm.js +14 -23
  395. package/lib/oauth.js +29 -35
  396. package/lib/parsing.js +3 -6
  397. package/lib/polling.js +11 -15
  398. package/lib/process.js +11 -19
  399. package/lib/projectProfiles.d.ts +2 -2
  400. package/lib/projectProfiles.js +32 -42
  401. package/lib/projects/ProjectLogsManager.js +18 -21
  402. package/lib/projects/__tests__/AppDevModeInterface.test.js +140 -145
  403. package/lib/projects/__tests__/LocalDevProcess.test.js +68 -73
  404. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +32 -37
  405. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  406. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  407. package/lib/projects/__tests__/components.test.js +9 -14
  408. package/lib/projects/__tests__/projects.test.js +35 -40
  409. package/lib/projects/__tests__/structure.test.js +43 -81
  410. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  411. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  412. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  413. package/lib/projects/add/legacyAddComponent.js +24 -30
  414. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  415. package/lib/projects/add/v3AddComponent.js +36 -42
  416. package/lib/projects/buildAndDeploy.d.ts +1 -1
  417. package/lib/projects/buildAndDeploy.js +88 -97
  418. package/lib/projects/components.js +19 -25
  419. package/lib/projects/config.d.ts +1 -1
  420. package/lib/projects/config.js +32 -41
  421. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  422. package/lib/projects/create/__tests__/v3.test.js +5 -7
  423. package/lib/projects/create/index.d.ts +3 -3
  424. package/lib/projects/create/index.js +19 -22
  425. package/lib/projects/create/legacy.d.ts +1 -1
  426. package/lib/projects/create/legacy.js +25 -31
  427. package/lib/projects/create/v3.d.ts +3 -3
  428. package/lib/projects/create/v3.js +49 -59
  429. package/lib/projects/ensureProjectExists.js +31 -37
  430. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  431. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  432. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  433. package/lib/projects/localDev/DevServerManager.js +22 -24
  434. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  435. package/lib/projects/localDev/DevServerManagerV2.js +15 -20
  436. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  437. package/lib/projects/localDev/LocalDevLogger.js +59 -64
  438. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  439. package/lib/projects/localDev/LocalDevManager.js +106 -111
  440. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  441. package/lib/projects/localDev/LocalDevProcess.js +25 -30
  442. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  443. package/lib/projects/localDev/LocalDevState.js +3 -5
  444. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  445. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  446. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  447. package/lib/projects/localDev/LocalDevWebsocketServer.js +25 -27
  448. package/lib/projects/localDev/helpers.d.ts +3 -3
  449. package/lib/projects/localDev/helpers.js +156 -174
  450. package/lib/projects/structure.d.ts +4 -4
  451. package/lib/projects/structure.js +32 -78
  452. package/lib/projects/ui.js +10 -13
  453. package/lib/projects/upload.d.ts +2 -3
  454. package/lib/projects/upload.js +55 -65
  455. package/lib/projects/urls.js +14 -24
  456. package/lib/projects/watch.d.ts +1 -1
  457. package/lib/projects/watch.js +48 -54
  458. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  459. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  460. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  461. package/lib/prompts/accountNamePrompt.js +26 -31
  462. package/lib/prompts/accountsPrompt.js +12 -15
  463. package/lib/prompts/cmsFieldPrompt.js +13 -19
  464. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  465. package/lib/prompts/createApiSamplePrompt.js +9 -12
  466. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +1 -1
  467. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +23 -26
  468. package/lib/prompts/createFunctionPrompt.js +17 -20
  469. package/lib/prompts/createModulePrompt.js +12 -15
  470. package/lib/prompts/createTemplatePrompt.js +5 -8
  471. package/lib/prompts/downloadProjectPrompt.js +17 -20
  472. package/lib/prompts/installAppPrompt.js +19 -26
  473. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  474. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  475. package/lib/prompts/previewPrompt.js +15 -22
  476. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  477. package/lib/prompts/projectAddPrompt.js +14 -18
  478. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  479. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  480. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  481. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  482. package/lib/prompts/projectNamePrompt.js +11 -14
  483. package/lib/prompts/projectsLogsPrompt.js +5 -8
  484. package/lib/prompts/promptUtils.d.ts +1 -1
  485. package/lib/prompts/promptUtils.js +17 -24
  486. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  487. package/lib/prompts/sandboxesPrompt.js +26 -30
  488. package/lib/prompts/secretPrompt.js +10 -15
  489. package/lib/prompts/selectAppPrompt.js +11 -14
  490. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  491. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  492. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  493. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  494. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  495. package/lib/prompts/uploadPrompt.js +11 -17
  496. package/lib/sandboxSync.d.ts +1 -1
  497. package/lib/sandboxSync.js +58 -65
  498. package/lib/sandboxes.d.ts +1 -1
  499. package/lib/sandboxes.js +68 -76
  500. package/lib/schema.js +13 -20
  501. package/lib/serverlessLogs.js +45 -52
  502. package/lib/testUtils.js +4 -8
  503. package/lib/ui/SpinniesManager.d.ts +1 -1
  504. package/lib/ui/SpinniesManager.js +29 -34
  505. package/lib/ui/boxen.js +11 -14
  506. package/lib/ui/git.js +14 -20
  507. package/lib/ui/index.js +55 -73
  508. package/lib/ui/logger.js +10 -13
  509. package/lib/ui/serverlessFunctionLogs.js +14 -20
  510. package/lib/ui/spinniesUtils.js +24 -39
  511. package/lib/ui/supportHyperlinks.js +3 -6
  512. package/lib/ui/supportsColor.js +11 -17
  513. package/lib/ui/table.js +6 -13
  514. package/lib/upload.js +15 -21
  515. package/lib/usageTracking.js +35 -44
  516. package/lib/utils/hasFlag.js +2 -8
  517. package/lib/validation.js +48 -87
  518. package/lib/yargsUtils.d.ts +1 -1
  519. package/lib/yargsUtils.js +13 -16
  520. package/mcp-server/server.js +6 -8
  521. package/mcp-server/tools/index.js +13 -16
  522. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  523. package/mcp-server/tools/project/AddFeatureToProject.js +35 -39
  524. package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
  525. package/mcp-server/tools/project/CreateProjectTool.js +46 -50
  526. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  527. package/mcp-server/tools/project/DeployProject.js +18 -22
  528. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  529. package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
  530. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  531. package/mcp-server/tools/project/UploadProjectTools.js +12 -19
  532. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  533. package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
  534. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +12 -14
  535. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +13 -15
  536. package/mcp-server/tools/project/__tests__/DeployProject.test.js +6 -8
  537. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  538. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  539. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  540. package/mcp-server/tools/project/constants.js +3 -9
  541. package/mcp-server/types.js +1 -5
  542. package/mcp-server/utils/__tests__/command.test.js +9 -11
  543. package/mcp-server/utils/__tests__/project.test.js +12 -17
  544. package/mcp-server/utils/command.d.ts +1 -1
  545. package/mcp-server/utils/command.js +4 -11
  546. package/mcp-server/utils/content.d.ts +1 -1
  547. package/mcp-server/utils/content.js +2 -6
  548. package/mcp-server/utils/project.js +8 -14
  549. package/mcp-server/utils/toolUsageTracking.js +11 -14
  550. package/package.json +15 -11
  551. package/types/Cms.d.ts +1 -1
  552. package/types/Cms.js +1 -2
  553. package/types/LocalDev.d.ts +4 -4
  554. package/types/LocalDev.js +1 -2
  555. package/types/ProjectComponents.d.ts +2 -2
  556. package/types/ProjectComponents.js +1 -2
  557. package/types/Projects.d.ts +1 -1
  558. package/types/Projects.js +2 -5
  559. package/types/Prompts.js +1 -2
  560. package/types/Sandboxes.js +1 -2
  561. package/types/Yargs.js +1 -2
  562. package/commands/app/__tests__/install.test.d.ts +0 -1
  563. package/commands/app/__tests__/install.test.js +0 -52
  564. package/commands/app/install.d.ts +0 -8
  565. package/commands/app/install.js +0 -127
@@ -1,112 +1,107 @@
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 fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const uploadFolder_1 = require("@hubspot/local-dev-lib/cms/uploadFolder");
9
- const fileMapper_1 = require("@hubspot/local-dev-lib/fileMapper");
10
- const fileMapper_2 = require("@hubspot/local-dev-lib/api/fileMapper");
11
- const path_2 = require("@hubspot/local-dev-lib/path");
12
- const modules_1 = require("@hubspot/local-dev-lib/cms/modules");
13
- const ignoreRules_1 = require("@hubspot/local-dev-lib/ignoreRules");
14
- const themes_1 = require("@hubspot/local-dev-lib/cms/themes");
15
- const handleFieldsJS_1 = require("@hubspot/local-dev-lib/cms/handleFieldsJS");
16
- const index_1 = require("../lib/errorHandlers/index");
17
- const commonOpts_1 = require("../lib/commonOpts");
18
- const uploadPrompt_1 = require("../lib/prompts/uploadPrompt");
19
- const promptUtils_1 = require("../lib/prompts/promptUtils");
20
- const validation_1 = require("../lib/validation");
21
- const usageTracking_1 = require("../lib/usageTracking");
22
- const upload_1 = require("../lib/upload");
23
- const en_1 = require("../lang/en");
24
- const exitCodes_1 = require("../lib/enums/exitCodes");
25
- const yargsUtils_1 = require("../lib/yargsUtils");
26
- const logger_1 = require("../lib/ui/logger");
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { uploadFolder, hasUploadErrors, } from '@hubspot/local-dev-lib/cms/uploadFolder';
4
+ import { getFileMapperQueryValues } from '@hubspot/local-dev-lib/fileMapper';
5
+ import { upload, deleteFile } from '@hubspot/local-dev-lib/api/fileMapper';
6
+ import { getCwd, convertToUnixPath, isAllowedExtension, } from '@hubspot/local-dev-lib/path';
7
+ import { validateSrcAndDestPaths } from '@hubspot/local-dev-lib/cms/modules';
8
+ import { shouldIgnoreFile } from '@hubspot/local-dev-lib/ignoreRules';
9
+ import { getThemePreviewUrl, getThemeJSONPath, } from '@hubspot/local-dev-lib/cms/themes';
10
+ import { FieldsJs, isConvertableFieldJs, cleanupTmpDirSync, } from '@hubspot/local-dev-lib/cms/handleFieldsJS';
11
+ import { ApiErrorContext, logError } from '../lib/errorHandlers/index.js';
12
+ import { getCmsPublishMode } from '../lib/commonOpts.js';
13
+ import { uploadPrompt } from '../lib/prompts/uploadPrompt.js';
14
+ import { confirmPrompt } from '../lib/prompts/promptUtils.js';
15
+ import { validateCmsPublishMode } from '../lib/validation.js';
16
+ import { trackCommandUsage } from '../lib/usageTracking.js';
17
+ import { getUploadableFileList } from '../lib/upload.js';
18
+ import { commands } from '../lang/en.js';
19
+ import { EXIT_CODES } from '../lib/enums/exitCodes.js';
20
+ import { makeYargsBuilder } from '../lib/yargsUtils.js';
21
+ import { uiLogger } from '../lib/ui/logger.js';
27
22
  const command = 'upload [src] [dest]';
28
- const describe = en_1.commands.upload.describe;
23
+ const describe = commands.upload.describe;
29
24
  function logThemePreview(filePath, accountId) {
30
- const previewUrl = (0, themes_1.getThemePreviewUrl)(filePath, accountId);
25
+ const previewUrl = getThemePreviewUrl(filePath, accountId);
31
26
  // Only log if we are actually in a theme
32
27
  if (previewUrl) {
33
- logger_1.uiLogger.log(en_1.commands.upload.previewUrl(previewUrl));
28
+ uiLogger.log(commands.upload.previewUrl(previewUrl));
34
29
  }
35
30
  }
36
31
  async function handler(args) {
37
- if (!(0, validation_1.validateCmsPublishMode)(args)) {
38
- process.exit(exitCodes_1.EXIT_CODES.WARNING);
32
+ if (!validateCmsPublishMode(args)) {
33
+ process.exit(EXIT_CODES.WARNING);
39
34
  }
40
35
  const { derivedAccountId } = args;
41
- const cmsPublishMode = (0, commonOpts_1.getCmsPublishMode)(args);
42
- const uploadPromptAnswers = await (0, uploadPrompt_1.uploadPrompt)(args);
36
+ const cmsPublishMode = getCmsPublishMode(args);
37
+ const uploadPromptAnswers = await uploadPrompt(args);
43
38
  const src = args.src || uploadPromptAnswers.src;
44
39
  const saveOutput = args.saveOutput;
45
40
  let dest = args.dest || uploadPromptAnswers.dest;
46
- let absoluteSrcPath = path_1.default.resolve((0, path_2.getCwd)(), src);
41
+ let absoluteSrcPath = path.resolve(getCwd(), src);
47
42
  if (!dest) {
48
- logger_1.uiLogger.error(en_1.commands.upload.errors.destinationRequired);
43
+ uiLogger.error(commands.upload.errors.destinationRequired);
49
44
  return;
50
45
  }
51
46
  // Check for theme.json file and determine the root path for the project based on it if it exists
52
- const themeJsonPath = (0, themes_1.getThemeJSONPath)(absoluteSrcPath);
47
+ const themeJsonPath = getThemeJSONPath(absoluteSrcPath);
53
48
  const projectRoot = themeJsonPath
54
- ? path_1.default.dirname(themeJsonPath)
55
- : path_1.default.dirname((0, path_2.getCwd)());
49
+ ? path.dirname(themeJsonPath)
50
+ : path.dirname(getCwd());
56
51
  const convertFields = projectRoot &&
57
- (0, handleFieldsJS_1.isConvertableFieldJs)(projectRoot, absoluteSrcPath, args.convertFields);
52
+ isConvertableFieldJs(projectRoot, absoluteSrcPath, args.convertFields);
58
53
  let fieldsJs;
59
54
  if (convertFields) {
60
- fieldsJs = await new handleFieldsJS_1.FieldsJs(projectRoot, absoluteSrcPath, undefined, args.fieldOptions).init();
55
+ fieldsJs = await new FieldsJs(projectRoot, absoluteSrcPath, undefined, args.fieldOptions).init();
61
56
  if (fieldsJs.rejected)
62
57
  return;
63
58
  // Ensures that the dest path is a .json. The user might pass '.js' accidentally - this ensures it just works.
64
59
  if (fieldsJs.outputPath) {
65
60
  absoluteSrcPath = fieldsJs.outputPath;
66
61
  }
67
- dest = path_1.default.join(path_1.default.dirname(dest), 'fields.json');
62
+ dest = path.join(path.dirname(dest), 'fields.json');
68
63
  }
69
64
  let stats;
70
65
  try {
71
- stats = fs_1.default.statSync(absoluteSrcPath);
66
+ stats = fs.statSync(absoluteSrcPath);
72
67
  if (!stats.isFile() && !stats.isDirectory()) {
73
- logger_1.uiLogger.error(en_1.commands.upload.errors.invalidPath(src));
68
+ uiLogger.error(commands.upload.errors.invalidPath(src));
74
69
  return;
75
70
  }
76
71
  }
77
72
  catch (e) {
78
- logger_1.uiLogger.error(en_1.commands.upload.errors.invalidPath(src));
73
+ uiLogger.error(commands.upload.errors.invalidPath(src));
79
74
  return;
80
75
  }
81
- const normalizedDest = (0, path_2.convertToUnixPath)(dest);
82
- (0, usageTracking_1.trackCommandUsage)('upload', { mode: cmsPublishMode, type: stats.isFile() ? 'file' : 'folder' }, derivedAccountId);
83
- const srcDestIssues = await (0, modules_1.validateSrcAndDestPaths)({ isLocal: true, path: src }, { isHubSpot: true, path: dest });
76
+ const normalizedDest = convertToUnixPath(dest);
77
+ trackCommandUsage('upload', { mode: cmsPublishMode, type: stats.isFile() ? 'file' : 'folder' }, derivedAccountId);
78
+ const srcDestIssues = await validateSrcAndDestPaths({ isLocal: true, path: src }, { isHubSpot: true, path: dest });
84
79
  if (srcDestIssues.length) {
85
- srcDestIssues.forEach(({ message }) => logger_1.uiLogger.error(message));
86
- process.exit(exitCodes_1.EXIT_CODES.WARNING);
80
+ srcDestIssues.forEach(({ message }) => uiLogger.error(message));
81
+ process.exit(EXIT_CODES.WARNING);
87
82
  }
88
83
  if (stats.isFile()) {
89
- if (!(0, path_2.isAllowedExtension)(src) && !convertFields) {
90
- logger_1.uiLogger.error(en_1.commands.upload.errors.invalidPath(src));
84
+ if (!isAllowedExtension(src) && !convertFields) {
85
+ uiLogger.error(commands.upload.errors.invalidPath(src));
91
86
  return;
92
87
  }
93
- if ((0, ignoreRules_1.shouldIgnoreFile)(absoluteSrcPath)) {
94
- logger_1.uiLogger.error(en_1.commands.upload.errors.fileIgnored(src));
88
+ if (shouldIgnoreFile(absoluteSrcPath)) {
89
+ uiLogger.error(commands.upload.errors.fileIgnored(src));
95
90
  return;
96
91
  }
97
- (0, fileMapper_2.upload)(derivedAccountId, absoluteSrcPath, normalizedDest, (0, fileMapper_1.getFileMapperQueryValues)(cmsPublishMode))
92
+ upload(derivedAccountId, absoluteSrcPath, normalizedDest, getFileMapperQueryValues(cmsPublishMode))
98
93
  .then(() => {
99
- logger_1.uiLogger.success(en_1.commands.upload.success.fileUploaded(src, normalizedDest, derivedAccountId));
94
+ uiLogger.success(commands.upload.success.fileUploaded(src, normalizedDest, derivedAccountId));
100
95
  logThemePreview(src, derivedAccountId);
101
96
  })
102
97
  .catch(error => {
103
- logger_1.uiLogger.error(en_1.commands.upload.errors.uploadFailed(src, normalizedDest));
104
- (0, index_1.logError)(error, new index_1.ApiErrorContext({
98
+ uiLogger.error(commands.upload.errors.uploadFailed(src, normalizedDest));
99
+ logError(error, new ApiErrorContext({
105
100
  accountId: derivedAccountId,
106
101
  request: normalizedDest,
107
102
  payload: src,
108
103
  }));
109
- process.exit(exitCodes_1.EXIT_CODES.WARNING);
104
+ process.exit(EXIT_CODES.WARNING);
110
105
  })
111
106
  .finally(() => {
112
107
  if (!convertFields)
@@ -115,93 +110,93 @@ async function handler(args) {
115
110
  fieldsJs.saveOutput();
116
111
  }
117
112
  if (fieldsJs) {
118
- (0, handleFieldsJS_1.cleanupTmpDirSync)(fieldsJs.rootWriteDir);
113
+ cleanupTmpDirSync(fieldsJs.rootWriteDir);
119
114
  }
120
115
  });
121
116
  }
122
117
  else {
123
- logger_1.uiLogger.log(en_1.commands.upload.uploading(src, dest, derivedAccountId));
118
+ uiLogger.log(commands.upload.uploading(src, dest, derivedAccountId));
124
119
  // Generate the first-pass file list in here, and pass to uploadFolder.
125
- const filePaths = await (0, upload_1.getUploadableFileList)(absoluteSrcPath, args.convertFields ?? false);
120
+ const filePaths = await getUploadableFileList(absoluteSrcPath, args.convertFields ?? false);
126
121
  if (args.clean) {
127
122
  // If clean is true, will first delete the dest folder and then upload src. Cleans up files that only exist on HS.
128
123
  let cleanUpload = args.force;
129
124
  if (!args.force) {
130
- cleanUpload = await (0, promptUtils_1.confirmPrompt)(en_1.commands.upload.confirmCleanUpload(dest, derivedAccountId), { defaultAnswer: false });
125
+ cleanUpload = await confirmPrompt(commands.upload.confirmCleanUpload(dest, derivedAccountId), { defaultAnswer: false });
131
126
  }
132
127
  if (cleanUpload) {
133
128
  try {
134
- await (0, fileMapper_2.deleteFile)(derivedAccountId, dest);
135
- logger_1.uiLogger.log(en_1.commands.upload.cleaning(dest, derivedAccountId));
129
+ await deleteFile(derivedAccountId, dest);
130
+ uiLogger.log(commands.upload.cleaning(dest, derivedAccountId));
136
131
  }
137
132
  catch (error) {
138
- logger_1.uiLogger.error(en_1.commands.upload.errors.deleteFailed(dest, derivedAccountId));
133
+ uiLogger.error(commands.upload.errors.deleteFailed(dest, derivedAccountId));
139
134
  }
140
135
  }
141
136
  }
142
- (0, uploadFolder_1.uploadFolder)(derivedAccountId, absoluteSrcPath, dest, {}, {
137
+ uploadFolder(derivedAccountId, absoluteSrcPath, dest, {}, {
143
138
  convertFields: args.convertFields,
144
139
  // @ts-expect-error - fieldOptions is a string or string[]
145
140
  fieldOptions: args.fieldOptions ?? undefined,
146
141
  saveOutput: args.saveOutput,
147
142
  }, filePaths)
148
143
  .then(results => {
149
- if (!(0, uploadFolder_1.hasUploadErrors)(results)) {
150
- logger_1.uiLogger.success(en_1.commands.upload.success.uploadComplete(dest));
144
+ if (!hasUploadErrors(results)) {
145
+ uiLogger.success(commands.upload.success.uploadComplete(dest));
151
146
  logThemePreview(src, derivedAccountId);
152
147
  }
153
148
  else {
154
- logger_1.uiLogger.error(en_1.commands.upload.errors.someFilesFailed(dest));
155
- process.exit(exitCodes_1.EXIT_CODES.WARNING);
149
+ uiLogger.error(commands.upload.errors.someFilesFailed(dest));
150
+ process.exit(EXIT_CODES.WARNING);
156
151
  }
157
152
  })
158
153
  .catch(error => {
159
- logger_1.uiLogger.error(en_1.commands.upload.errors.uploadFailed(src, dest));
160
- (0, index_1.logError)(error, {
154
+ uiLogger.error(commands.upload.errors.uploadFailed(src, dest));
155
+ logError(error, {
161
156
  accountId: derivedAccountId,
162
157
  });
163
- process.exit(exitCodes_1.EXIT_CODES.WARNING);
158
+ process.exit(EXIT_CODES.WARNING);
164
159
  });
165
160
  }
166
161
  }
167
162
  function uploadBuilder(yargs) {
168
163
  yargs.positional('src', {
169
- describe: en_1.commands.upload.positionals.src,
164
+ describe: commands.upload.positionals.src,
170
165
  type: 'string',
171
166
  });
172
167
  yargs.positional('dest', {
173
- describe: en_1.commands.upload.positionals.dest,
168
+ describe: commands.upload.positionals.dest,
174
169
  type: 'string',
175
170
  });
176
171
  yargs.option('fieldOptions', {
177
- describe: en_1.commands.upload.options.options,
172
+ describe: commands.upload.options.options,
178
173
  type: 'array',
179
174
  default: [''],
180
175
  hidden: true,
181
176
  });
182
177
  yargs.option('saveOutput', {
183
- describe: en_1.commands.upload.options.saveOutput,
178
+ describe: commands.upload.options.saveOutput,
184
179
  type: 'boolean',
185
180
  default: false,
186
181
  });
187
182
  yargs.option('convertFields', {
188
- describe: en_1.commands.upload.options.convertFields,
183
+ describe: commands.upload.options.convertFields,
189
184
  type: 'boolean',
190
185
  default: false,
191
186
  });
192
187
  yargs.option('clean', {
193
- describe: en_1.commands.upload.options.clean,
188
+ describe: commands.upload.options.clean,
194
189
  type: 'boolean',
195
190
  default: false,
196
191
  });
197
192
  yargs.option('force', {
198
- describe: en_1.commands.upload.options.force,
193
+ describe: commands.upload.options.force,
199
194
  type: 'boolean',
200
195
  default: false,
201
196
  });
202
197
  return yargs;
203
198
  }
204
- const builder = (0, yargsUtils_1.makeYargsBuilder)(uploadBuilder, command, describe, {
199
+ const builder = makeYargsBuilder(uploadBuilder, command, describe, {
205
200
  useGlobalOptions: true,
206
201
  useConfigOptions: true,
207
202
  useAccountOptions: true,
@@ -214,4 +209,4 @@ const uploadCommand = {
214
209
  handler,
215
210
  builder,
216
211
  };
217
- exports.default = uploadCommand;
212
+ export default uploadCommand;
@@ -1,4 +1,4 @@
1
- import { AccountArgs, CmsPublishModeArgs, CommonArgs, ConfigArgs, EnvironmentArgs, YargsCommandModule } from '../types/Yargs';
1
+ import { AccountArgs, CmsPublishModeArgs, CommonArgs, ConfigArgs, EnvironmentArgs, YargsCommandModule } from '../types/Yargs.js';
2
2
  type WatchCommandArgs = ConfigArgs & AccountArgs & EnvironmentArgs & CommonArgs & CmsPublishModeArgs & {
3
3
  src?: string;
4
4
  dest?: string;
package/commands/watch.js CHANGED
@@ -1,76 +1,71 @@
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 fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const watch_1 = require("@hubspot/local-dev-lib/cms/watch");
9
- const path_2 = require("@hubspot/local-dev-lib/path");
10
- const commonOpts_1 = require("../lib/commonOpts");
11
- const uploadPrompt_1 = require("../lib/prompts/uploadPrompt");
12
- const validation_1 = require("../lib/validation");
13
- const usageTracking_1 = require("../lib/usageTracking");
14
- const en_1 = require("../lang/en");
15
- const upload_1 = require("../lib/upload");
16
- const errorHandlers_1 = require("../lib/errorHandlers");
17
- const exitCodes_1 = require("../lib/enums/exitCodes");
18
- const yargsUtils_1 = require("../lib/yargsUtils");
19
- const logger_1 = require("../lib/ui/logger");
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { watch } from '@hubspot/local-dev-lib/cms/watch';
4
+ import { getCwd } from '@hubspot/local-dev-lib/path';
5
+ import { getCmsPublishMode } from '../lib/commonOpts.js';
6
+ import { uploadPrompt } from '../lib/prompts/uploadPrompt.js';
7
+ import { validateCmsPublishMode } from '../lib/validation.js';
8
+ import { trackCommandUsage } from '../lib/usageTracking.js';
9
+ import { commands } from '../lang/en.js';
10
+ import { getUploadableFileList } from '../lib/upload.js';
11
+ import { logError, ApiErrorContext } from '../lib/errorHandlers/index.js';
12
+ import { EXIT_CODES } from '../lib/enums/exitCodes.js';
13
+ import { makeYargsBuilder } from '../lib/yargsUtils.js';
14
+ import { uiLogger } from '../lib/ui/logger.js';
20
15
  const command = 'watch [src] [dest]';
21
- const describe = en_1.commands.watch.describe;
16
+ const describe = commands.watch.describe;
22
17
  const handler = async (args) => {
23
18
  const { remove, initialUpload, disableInitial, notify, derivedAccountId } = args;
24
- if (!(0, validation_1.validateCmsPublishMode)(args)) {
25
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
19
+ if (!validateCmsPublishMode(args)) {
20
+ process.exit(EXIT_CODES.ERROR);
26
21
  }
27
- const cmsPublishMode = (0, commonOpts_1.getCmsPublishMode)(args);
28
- const uploadPromptAnswers = await (0, uploadPrompt_1.uploadPrompt)(args);
22
+ const cmsPublishMode = getCmsPublishMode(args);
23
+ const uploadPromptAnswers = await uploadPrompt(args);
29
24
  const src = args.src || uploadPromptAnswers.src;
30
25
  const dest = args.dest || uploadPromptAnswers.dest;
31
- const absoluteSrcPath = path_1.default.resolve((0, path_2.getCwd)(), src);
26
+ const absoluteSrcPath = path.resolve(getCwd(), src);
32
27
  try {
33
- const stats = fs_1.default.statSync(absoluteSrcPath);
28
+ const stats = fs.statSync(absoluteSrcPath);
34
29
  if (!stats.isDirectory()) {
35
- logger_1.uiLogger.log(en_1.commands.watch.errors.invalidPath(src));
30
+ uiLogger.log(commands.watch.errors.invalidPath(src));
36
31
  return;
37
32
  }
38
33
  }
39
34
  catch (e) {
40
- logger_1.uiLogger.log(en_1.commands.watch.errors.invalidPath(src));
35
+ uiLogger.log(commands.watch.errors.invalidPath(src));
41
36
  return;
42
37
  }
43
38
  if (!dest) {
44
- logger_1.uiLogger.log(en_1.commands.watch.errors.destinationRequired);
39
+ uiLogger.log(commands.watch.errors.destinationRequired);
45
40
  return;
46
41
  }
47
42
  let filesToUpload = [];
48
43
  if (disableInitial) {
49
- logger_1.uiLogger.info(en_1.commands.watch.warnings.disableInitial);
44
+ uiLogger.info(commands.watch.warnings.disableInitial);
50
45
  }
51
46
  else if (!initialUpload) {
52
- logger_1.uiLogger.info(en_1.commands.watch.warnings.notUploaded(src));
53
- logger_1.uiLogger.info(en_1.commands.watch.warnings.initialUpload);
47
+ uiLogger.info(commands.watch.warnings.notUploaded(src));
48
+ uiLogger.info(commands.watch.warnings.initialUpload);
54
49
  }
55
50
  if (initialUpload) {
56
- filesToUpload = await (0, upload_1.getUploadableFileList)(absoluteSrcPath, args.convertFields);
51
+ filesToUpload = await getUploadableFileList(absoluteSrcPath, args.convertFields);
57
52
  }
58
- (0, usageTracking_1.trackCommandUsage)('watch', { mode: cmsPublishMode }, derivedAccountId);
53
+ trackCommandUsage('watch', { mode: cmsPublishMode }, derivedAccountId);
59
54
  const onUploadFolderError = (error) => {
60
- logger_1.uiLogger.error(en_1.commands.watch.errors.folderFailed(src, dest, derivedAccountId));
61
- (0, errorHandlers_1.logError)(error, {
55
+ uiLogger.error(commands.watch.errors.folderFailed(src, dest, derivedAccountId));
56
+ logError(error, {
62
57
  accountId: derivedAccountId,
63
58
  });
64
59
  };
65
60
  const onUploadFileError = (file, destPath, accountId) => (error) => {
66
- logger_1.uiLogger.error(en_1.commands.watch.errors.fileFailed(file, destPath, accountId));
67
- (0, errorHandlers_1.logError)(error, new errorHandlers_1.ApiErrorContext({
61
+ uiLogger.error(commands.watch.errors.fileFailed(file, destPath, accountId));
62
+ logError(error, new ApiErrorContext({
68
63
  accountId,
69
64
  request: destPath,
70
65
  payload: file,
71
66
  }));
72
67
  };
73
- (0, watch_1.watch)(derivedAccountId, absoluteSrcPath, dest, {
68
+ watch(derivedAccountId, absoluteSrcPath, dest, {
74
69
  cmsPublishMode,
75
70
  remove,
76
71
  disableInitial: !initialUpload,
@@ -81,53 +76,53 @@ const handler = async (args) => {
81
76
  };
82
77
  function watchBuilder(yargs) {
83
78
  yargs.positional('src', {
84
- describe: en_1.commands.watch.positionals.src,
79
+ describe: commands.watch.positionals.src,
85
80
  type: 'string',
86
81
  });
87
82
  yargs.positional('dest', {
88
- describe: en_1.commands.watch.positionals.dest,
83
+ describe: commands.watch.positionals.dest,
89
84
  type: 'string',
90
85
  });
91
86
  yargs.option('fieldOptions', {
92
- describe: en_1.commands.watch.options.options,
87
+ describe: commands.watch.options.options,
93
88
  type: 'array',
94
89
  default: [''],
95
90
  hidden: true,
96
91
  });
97
92
  yargs.option('remove', {
98
93
  alias: 'r',
99
- describe: en_1.commands.watch.options.remove,
94
+ describe: commands.watch.options.remove,
100
95
  type: 'boolean',
101
96
  });
102
97
  yargs.option('initial-upload', {
103
98
  alias: 'i',
104
- describe: en_1.commands.watch.options.initialUpload,
99
+ describe: commands.watch.options.initialUpload,
105
100
  type: 'boolean',
106
101
  });
107
102
  yargs.option('disable-initial', {
108
- describe: en_1.commands.watch.options.disableInitial,
103
+ describe: commands.watch.options.disableInitial,
109
104
  type: 'boolean',
110
105
  hidden: true,
111
106
  });
112
107
  yargs.option('notify', {
113
108
  alias: 'n',
114
- describe: en_1.commands.watch.options.notify,
109
+ describe: commands.watch.options.notify,
115
110
  type: 'string',
116
111
  requiresArg: true,
117
112
  });
118
113
  yargs.option('convertFields', {
119
- describe: en_1.commands.watch.options.convertFields,
114
+ describe: commands.watch.options.convertFields,
120
115
  type: 'boolean',
121
116
  default: false,
122
117
  });
123
118
  yargs.option('saveOutput', {
124
- describe: en_1.commands.watch.options.saveOutput,
119
+ describe: commands.watch.options.saveOutput,
125
120
  type: 'boolean',
126
121
  default: false,
127
122
  });
128
123
  return yargs;
129
124
  }
130
- const builder = (0, yargsUtils_1.makeYargsBuilder)(watchBuilder, command, describe, {
125
+ const builder = makeYargsBuilder(watchBuilder, command, describe, {
131
126
  useConfigOptions: true,
132
127
  useAccountOptions: true,
133
128
  useGlobalOptions: true,
@@ -140,5 +135,4 @@ const watchCommand = {
140
135
  handler,
141
136
  builder,
142
137
  };
143
- exports.default = watchCommand;
144
- module.exports = watchCommand;
138
+ export default watchCommand;
package/lang/en.d.ts CHANGED
@@ -1500,28 +1500,6 @@ ${string}`;
1500
1500
  readonly app: {
1501
1501
  readonly describe: "Commands for managing apps.";
1502
1502
  readonly subcommands: {
1503
- readonly install: {
1504
- readonly describe: "Install an OAuth app into a test account.";
1505
- readonly options: {
1506
- readonly appUid: "The uid of the app to install";
1507
- readonly projectName: "The name of the project that contains the app";
1508
- };
1509
- readonly positionals: {
1510
- readonly testAccountId: "The id of the test account to install the app into";
1511
- };
1512
- readonly errors: {
1513
- readonly mustSpecifyProjectName: `You must specify a project name. Use the ${string} flag to specify the project name or run this command from within a project directory.`;
1514
- readonly noAppUidFound: `No app uid found. Please specify the app uid with the ${string} flag or run this command from within a project that contains an app.`;
1515
- readonly appMustBeOauth: "This command only supports installing oauth apps. Please specify an app with oauth auth type.";
1516
- };
1517
- readonly polling: {
1518
- readonly start: "Installing app...";
1519
- readonly success: "App installed successfully";
1520
- readonly failure: "App installation failed";
1521
- readonly error: "Error installing app";
1522
- };
1523
- readonly example: "Install the app with uid my-app-uid from the project named \"my-project\" into the target account with id 1234567890";
1524
- };
1525
1503
  readonly secret: {
1526
1504
  readonly describe: "Commands for managing secrets.";
1527
1505
  readonly subcommands: {