@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,71 +1,25 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.CONFIG_FILES = void 0;
37
- exports.getComponentTypeFromConfigFile = getComponentTypeFromConfigFile;
38
- exports.loadConfigFile = loadConfigFile;
39
- exports.getAppCardConfigs = getAppCardConfigs;
40
- exports.getIsLegacyApp = getIsLegacyApp;
41
- exports.findProjectComponents = findProjectComponents;
42
- exports.getProjectComponentTypes = getProjectComponentTypes;
43
- exports.getComponentUid = getComponentUid;
44
- exports.componentIsApp = componentIsApp;
45
- exports.componentIsPublicApp = componentIsPublicApp;
46
- exports.isAppIRNode = isAppIRNode;
47
- const fs = __importStar(require("fs"));
48
- const path = __importStar(require("path"));
49
- const fs_1 = require("@hubspot/local-dev-lib/fs");
50
- const logger_1 = require("@hubspot/local-dev-lib/logger");
51
- const index_1 = require("../errorHandlers/index");
52
- const Projects_1 = require("../../types/Projects");
53
- const constants_1 = require("../constants");
54
- exports.CONFIG_FILES = {
55
- [Projects_1.ComponentTypes.PrivateApp]: 'app.json',
56
- [Projects_1.ComponentTypes.PublicApp]: 'public-app.json',
57
- [Projects_1.ComponentTypes.HublTheme]: 'theme.json',
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { walk } from '@hubspot/local-dev-lib/fs';
4
+ import { logger } from '@hubspot/local-dev-lib/logger';
5
+ import { logError } from '../errorHandlers/index.js';
6
+ import { ComponentTypes, } from '../../types/Projects.js';
7
+ import { IR_COMPONENT_TYPES } from '../constants.js';
8
+ export const CONFIG_FILES = {
9
+ [ComponentTypes.PrivateApp]: 'app.json',
10
+ [ComponentTypes.PublicApp]: 'public-app.json',
11
+ [ComponentTypes.HublTheme]: 'theme.json',
58
12
  };
59
- function getComponentTypeFromConfigFile(configFile) {
13
+ export function getComponentTypeFromConfigFile(configFile) {
60
14
  let key;
61
- for (key in exports.CONFIG_FILES) {
62
- if (exports.CONFIG_FILES[key] === configFile) {
15
+ for (key in CONFIG_FILES) {
16
+ if (CONFIG_FILES[key] === configFile) {
63
17
  return key;
64
18
  }
65
19
  }
66
20
  return null;
67
21
  }
68
- function loadConfigFile(configPath) {
22
+ export function loadConfigFile(configPath) {
69
23
  if (configPath) {
70
24
  try {
71
25
  const source = fs.readFileSync(configPath);
@@ -73,12 +27,12 @@ function loadConfigFile(configPath) {
73
27
  return parsedConfig;
74
28
  }
75
29
  catch (e) {
76
- logger_1.logger.debug(e);
30
+ logger.debug(e);
77
31
  }
78
32
  }
79
33
  return null;
80
34
  }
81
- function getAppCardConfigs(appConfig, appPath) {
35
+ export function getAppCardConfigs(appConfig, appPath) {
82
36
  const cardConfigs = [];
83
37
  let cards;
84
38
  if (appConfig && appConfig.extensions && appConfig.extensions.crm) {
@@ -97,7 +51,7 @@ function getAppCardConfigs(appConfig, appPath) {
97
51
  }
98
52
  return cardConfigs;
99
53
  }
100
- function getIsLegacyApp(appConfig, appPath) {
54
+ export function getIsLegacyApp(appConfig, appPath) {
101
55
  let hasAnyReactExtensions = false;
102
56
  if (appConfig && 'extensions' in appConfig) {
103
57
  const cardConfigs = getAppCardConfigs(appConfig, appPath);
@@ -117,23 +71,23 @@ function getIsLegacyApp(appConfig, appPath) {
117
71
  }
118
72
  return !hasAnyReactExtensions;
119
73
  }
120
- async function findProjectComponents(projectSourceDir) {
74
+ export async function findProjectComponents(projectSourceDir) {
121
75
  const components = [];
122
76
  let projectFiles = [];
123
77
  try {
124
- projectFiles = await (0, fs_1.walk)(projectSourceDir);
78
+ projectFiles = await walk(projectSourceDir);
125
79
  }
126
80
  catch (e) {
127
- (0, index_1.logError)(e);
81
+ logError(e);
128
82
  }
129
83
  projectFiles.forEach(projectFile => {
130
84
  // Find app components
131
85
  const { base, dir } = path.parse(projectFile);
132
- if (Object.values(exports.CONFIG_FILES).includes(base)) {
86
+ if (Object.values(CONFIG_FILES).includes(base)) {
133
87
  const parsedConfig = loadConfigFile(projectFile);
134
88
  if (parsedConfig) {
135
89
  const isLegacy = getIsLegacyApp(parsedConfig, dir);
136
- const isHublTheme = base === exports.CONFIG_FILES[Projects_1.ComponentTypes.HublTheme];
90
+ const isHublTheme = base === CONFIG_FILES[ComponentTypes.HublTheme];
137
91
  const componentType = getComponentTypeFromConfigFile(base);
138
92
  if (componentType) {
139
93
  components.push({
@@ -148,12 +102,12 @@ async function findProjectComponents(projectSourceDir) {
148
102
  });
149
103
  return components;
150
104
  }
151
- function getProjectComponentTypes(components) {
105
+ export function getProjectComponentTypes(components) {
152
106
  const projectContents = {};
153
107
  components.forEach(({ type }) => (projectContents[type] = true));
154
108
  return projectContents;
155
109
  }
156
- function getComponentUid(component) {
110
+ export function getComponentUid(component) {
157
111
  if (!component) {
158
112
  return null;
159
113
  }
@@ -164,13 +118,13 @@ function getComponentUid(component) {
164
118
  return component.config.data.uid;
165
119
  }
166
120
  }
167
- function componentIsApp(component) {
168
- return (component?.type === Projects_1.ComponentTypes.PublicApp ||
169
- component?.type === Projects_1.ComponentTypes.PrivateApp);
121
+ export function componentIsApp(component) {
122
+ return (component?.type === ComponentTypes.PublicApp ||
123
+ component?.type === ComponentTypes.PrivateApp);
170
124
  }
171
- function componentIsPublicApp(component) {
172
- return component?.type === Projects_1.ComponentTypes.PublicApp;
125
+ export function componentIsPublicApp(component) {
126
+ return component?.type === ComponentTypes.PublicApp;
173
127
  }
174
- function isAppIRNode(component) {
175
- return component.componentType === constants_1.IR_COMPONENT_TYPES.APPLICATION;
128
+ export function isAppIRNode(component) {
129
+ return component.componentType === IR_COMPONENT_TYPES.APPLICATION;
176
130
  }
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logFeedbackMessage = logFeedbackMessage;
4
- const logger_1 = require("../ui/logger");
5
- const constants_1 = require("../constants");
6
- const ui_1 = require("../ui");
7
- const en_1 = require("../../lang/en");
8
- function logFeedbackMessage(buildId) {
9
- if (buildId > 0 && buildId % constants_1.FEEDBACK_INTERVAL === 0) {
10
- (0, ui_1.uiLine)();
11
- logger_1.uiLogger.log(en_1.lib.projects.logFeedbackMessage.feedbackHeader);
12
- (0, ui_1.uiLine)();
13
- logger_1.uiLogger.log(en_1.lib.projects.logFeedbackMessage.feedbackMessage);
1
+ import { uiLogger } from '../ui/logger.js';
2
+ import { FEEDBACK_INTERVAL } from '../constants.js';
3
+ import { uiLine } from '../ui/index.js';
4
+ import { lib } from '../../lang/en.js';
5
+ export function logFeedbackMessage(buildId) {
6
+ if (buildId > 0 && buildId % FEEDBACK_INTERVAL === 0) {
7
+ uiLine();
8
+ uiLogger.log(lib.projects.logFeedbackMessage.feedbackHeader);
9
+ uiLine();
10
+ uiLogger.log(lib.projects.logFeedbackMessage.feedbackMessage);
14
11
  }
15
12
  }
@@ -1,5 +1,5 @@
1
1
  import { FileResult } from 'tmp';
2
- import { ProjectConfig } from '../../types/Projects';
2
+ import { ProjectConfig } from '../../types/Projects.js';
3
3
  type ProjectUploadCallbackFunction<T> = (accountId: number, projectConfig: ProjectConfig, tempFile: FileResult, buildId: number) => Promise<T>;
4
4
  type ProjectUploadResult<T> = {
5
5
  result?: T;
@@ -1,88 +1,80 @@
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.handleProjectUpload = handleProjectUpload;
7
- exports.validateSourceDirectory = validateSourceDirectory;
8
- exports.validateNoHSMetaMismatch = validateNoHSMetaMismatch;
9
- exports.handleTranslate = handleTranslate;
10
- const archiver_1 = __importDefault(require("archiver"));
11
- const tmp_1 = __importDefault(require("tmp"));
12
- const fs_extra_1 = __importDefault(require("fs-extra"));
13
- const path_1 = __importDefault(require("path"));
14
- const projects_1 = require("@hubspot/local-dev-lib/api/projects");
15
- const ignoreRules_1 = require("@hubspot/local-dev-lib/ignoreRules");
16
- const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
17
- const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
18
- const ui_1 = require("../ui");
19
- const errorHandlers_1 = require("../errorHandlers");
20
- const node_util_1 = __importDefault(require("node:util"));
21
- const en_1 = require("../../lang/en");
22
- const ensureProjectExists_1 = require("./ensureProjectExists");
23
- const logger_1 = require("../ui/logger");
24
- const buildAndDeploy_1 = require("./buildAndDeploy");
25
- const exitCodes_1 = require("../enums/exitCodes");
1
+ import archiver from 'archiver';
2
+ import tmp from 'tmp';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import { uploadProject } from '@hubspot/local-dev-lib/api/projects';
6
+ import { shouldIgnoreFile } from '@hubspot/local-dev-lib/ignoreRules';
7
+ import { isTranslationError, translate, projectContainsHsMetaFiles, } from '@hubspot/project-parsing-lib';
8
+ import SpinniesManager from '../ui/SpinniesManager.js';
9
+ import { uiAccountDescription } from '../ui/index.js';
10
+ import { logError } from '../errorHandlers/index.js';
11
+ import util from 'node:util';
12
+ import { lib } from '../../lang/en.js';
13
+ import { ensureProjectExists } from './ensureProjectExists.js';
14
+ import { uiLogger } from '../ui/logger.js';
15
+ import { useV3Api } from './buildAndDeploy.js';
16
+ import { EXIT_CODES } from '../enums/exitCodes.js';
17
+ import ProjectValidationError from '../errors/ProjectValidationError.js';
26
18
  async function uploadProjectFiles(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation) {
27
- SpinniesManager_1.default.init({});
28
- const accountIdentifier = (0, ui_1.uiAccountDescription)(accountId) || `${accountId}`;
29
- SpinniesManager_1.default.add('upload', {
30
- text: en_1.lib.projectUpload.uploadProjectFiles.add(projectName, accountIdentifier),
19
+ SpinniesManager.init({});
20
+ const accountIdentifier = uiAccountDescription(accountId) || `${accountId}`;
21
+ SpinniesManager.add('upload', {
22
+ text: lib.projectUpload.uploadProjectFiles.add(projectName, accountIdentifier),
31
23
  succeedColor: 'white',
32
24
  });
33
25
  let buildId;
34
26
  let error;
35
27
  try {
36
- const { data: upload } = await (0, projects_1.uploadProject)(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation);
28
+ const { data: upload } = await uploadProject(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation);
37
29
  buildId = upload.buildId;
38
- SpinniesManager_1.default.succeed('upload', {
39
- text: en_1.lib.projectUpload.uploadProjectFiles.succeed(projectName, accountIdentifier),
30
+ SpinniesManager.succeed('upload', {
31
+ text: lib.projectUpload.uploadProjectFiles.succeed(projectName, accountIdentifier),
40
32
  });
41
33
  if (buildId) {
42
- logger_1.uiLogger.debug(en_1.lib.projectUpload.uploadProjectFiles.buildCreated(projectName, buildId));
34
+ uiLogger.debug(lib.projectUpload.uploadProjectFiles.buildCreated(projectName, buildId));
43
35
  }
44
36
  }
45
37
  catch (err) {
46
- SpinniesManager_1.default.fail('upload', {
47
- text: en_1.lib.projectUpload.uploadProjectFiles.fail(projectName, accountIdentifier),
38
+ SpinniesManager.fail('upload', {
39
+ text: lib.projectUpload.uploadProjectFiles.fail(projectName, accountIdentifier),
48
40
  });
49
41
  error = err;
50
42
  }
51
43
  return { buildId, error };
52
44
  }
53
- async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
54
- const srcDir = path_1.default.resolve(projectDir, projectConfig.srcDir);
45
+ export async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
46
+ const srcDir = path.resolve(projectDir, projectConfig.srcDir);
55
47
  try {
56
48
  validateSourceDirectory(srcDir, projectConfig);
57
49
  }
58
50
  catch (e) {
59
- (0, errorHandlers_1.logError)(e);
60
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
51
+ logError(e);
52
+ process.exit(EXIT_CODES.ERROR);
61
53
  }
62
54
  try {
63
55
  await validateNoHSMetaMismatch(srcDir, projectConfig);
64
56
  }
65
57
  catch (e) {
66
- (0, errorHandlers_1.logError)(e);
67
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
58
+ logError(e);
59
+ process.exit(EXIT_CODES.ERROR);
68
60
  }
69
- const tempFile = tmp_1.default.fileSync({ postfix: '.zip' });
70
- logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.compressing(tempFile.name));
71
- const output = fs_extra_1.default.createWriteStream(tempFile.name);
72
- const archive = (0, archiver_1.default)('zip');
61
+ const tempFile = tmp.fileSync({ postfix: '.zip' });
62
+ uiLogger.debug(lib.projectUpload.handleProjectUpload.compressing(tempFile.name));
63
+ const output = fs.createWriteStream(tempFile.name);
64
+ const archive = archiver('zip');
73
65
  const result = new Promise(resolve => output.on('close', async function () {
74
- logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.compressed(archive.pointer()));
66
+ uiLogger.debug(lib.projectUpload.handleProjectUpload.compressed(archive.pointer()));
75
67
  let intermediateRepresentation;
76
68
  if (sendIR) {
77
69
  try {
78
70
  intermediateRepresentation = await handleTranslate(projectDir, projectConfig, accountId, skipValidation, profile);
79
71
  }
80
72
  catch (e) {
81
- (0, errorHandlers_1.logError)(e);
82
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
73
+ logError(e);
74
+ process.exit(EXIT_CODES.ERROR);
83
75
  }
84
76
  }
85
- await (0, ensureProjectExists_1.ensureProjectExists)(accountId, projectConfig.name, {
77
+ await ensureProjectExists(accountId, projectConfig.name, {
86
78
  forceCreate,
87
79
  uploadCommand: isUploadCommand,
88
80
  });
@@ -98,11 +90,11 @@ async function handleProjectUpload({ accountId, projectConfig, projectDir, callb
98
90
  archive.pipe(output);
99
91
  let loggedIgnoredNodeModule = false;
100
92
  archive.directory(srcDir, false, file => {
101
- const ignored = (0, ignoreRules_1.shouldIgnoreFile)(file.name, true);
93
+ const ignored = shouldIgnoreFile(file.name, true);
102
94
  if (ignored) {
103
95
  const isNodeModule = file.name.includes('node_modules');
104
96
  if (!isNodeModule || !loggedIgnoredNodeModule) {
105
- logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.fileFiltered(file.name));
97
+ uiLogger.debug(lib.projectUpload.handleProjectUpload.fileFiltered(file.name));
106
98
  }
107
99
  if (isNodeModule && !loggedIgnoredNodeModule) {
108
100
  loggedIgnoredNodeModule = true;
@@ -113,40 +105,32 @@ async function handleProjectUpload({ accountId, projectConfig, projectDir, callb
113
105
  archive.finalize();
114
106
  return result;
115
107
  }
116
- function validateSourceDirectory(srcDir, projectConfig) {
117
- const filenames = fs_extra_1.default.readdirSync(srcDir);
108
+ export function validateSourceDirectory(srcDir, projectConfig) {
109
+ const filenames = fs.readdirSync(srcDir);
118
110
  if (!filenames || filenames.length === 0) {
119
- const validationError = new Error(en_1.lib.projectUpload.handleProjectUpload.emptySource(projectConfig.srcDir));
120
- validationError.name = 'ProjectValidationError';
121
- throw validationError;
111
+ throw new ProjectValidationError(lib.projectUpload.handleProjectUpload.emptySource(projectConfig.srcDir));
122
112
  }
123
113
  }
124
- async function validateNoHSMetaMismatch(srcDir, projectConfig) {
125
- const hasHsMetaFiles = await (0, project_parsing_lib_1.projectContainsHsMetaFiles)(srcDir);
126
- if (!(0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion) && hasHsMetaFiles) {
127
- const validationError = new Error(en_1.lib.projectUpload.wrongPlatformVersionMetaFiles);
128
- validationError.name = 'ProjectValidationError';
129
- throw validationError;
114
+ export async function validateNoHSMetaMismatch(srcDir, projectConfig) {
115
+ const hasHsMetaFiles = await projectContainsHsMetaFiles(srcDir);
116
+ if (!useV3Api(projectConfig.platformVersion) && hasHsMetaFiles) {
117
+ throw new ProjectValidationError(lib.projectUpload.wrongPlatformVersionMetaFiles);
130
118
  }
131
119
  }
132
- async function handleTranslate(projectDir, projectConfig, accountId, skipValidation, profile) {
120
+ export async function handleTranslate(projectDir, projectConfig, accountId, skipValidation, profile) {
133
121
  try {
134
- const intermediateRepresentation = await (0, project_parsing_lib_1.translate)({
135
- projectSourceDir: path_1.default.join(projectDir, projectConfig.srcDir),
122
+ const intermediateRepresentation = await translate({
123
+ projectSourceDir: path.join(projectDir, projectConfig.srcDir),
136
124
  platformVersion: projectConfig.platformVersion,
137
125
  accountId,
138
126
  }, { skipValidation, profile });
139
- logger_1.uiLogger.debug(node_util_1.default.inspect(intermediateRepresentation, false, null, true));
127
+ uiLogger.debug(util.inspect(intermediateRepresentation, false, null, true));
140
128
  return intermediateRepresentation;
141
129
  }
142
130
  catch (e) {
143
- if ((0, project_parsing_lib_1.isTranslationError)(e)) {
144
- const validationError = new Error(e.toString());
145
- validationError.name = 'ProjectValidationError';
146
- throw validationError;
147
- }
148
- else {
149
- (0, errorHandlers_1.logError)(e);
131
+ if (isTranslationError(e)) {
132
+ throw new ProjectValidationError(e.toString(), { cause: e });
150
133
  }
134
+ throw e;
151
135
  }
152
136
  }
@@ -5,4 +5,4 @@ export declare function getProjectSettingsUrl(projectName: string, accountId: nu
5
5
  export declare function getProjectActivityUrl(projectName: string, accountId: number): string;
6
6
  export declare function getProjectBuildDetailUrl(projectName: string, buildId: number, accountId: number): string;
7
7
  export declare function getProjectDeployDetailUrl(projectName: string, deployId: number, accountId: number): string;
8
- export declare function getLocalDevUiUrl(accountId: number): string;
8
+ export declare function getLocalDevUiUrl(accountId: number, showWelcomeScreen?: boolean): string;
@@ -1,49 +1,39 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProjectComponentDistributionUrl = getProjectComponentDistributionUrl;
4
- exports.getDeveloperOverviewUrl = getDeveloperOverviewUrl;
5
- exports.getProjectDetailUrl = getProjectDetailUrl;
6
- exports.getProjectSettingsUrl = getProjectSettingsUrl;
7
- exports.getProjectActivityUrl = getProjectActivityUrl;
8
- exports.getProjectBuildDetailUrl = getProjectBuildDetailUrl;
9
- exports.getProjectDeployDetailUrl = getProjectDeployDetailUrl;
10
- exports.getLocalDevUiUrl = getLocalDevUiUrl;
11
- const urls_1 = require("@hubspot/local-dev-lib/urls");
12
- const config_1 = require("@hubspot/local-dev-lib/config");
13
- const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
1
+ import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
2
+ import { getEnv } from '@hubspot/local-dev-lib/config';
3
+ import { ENVIRONMENTS } from '@hubspot/local-dev-lib/constants/environments';
14
4
  function getBaseUrl(accountId) {
15
- return (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)(accountId) === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
5
+ return getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
16
6
  }
17
7
  function getProjectHomeUrl(accountId) {
18
8
  return `${getBaseUrl(accountId)}/developer-projects/${accountId}`;
19
9
  }
20
- function getProjectComponentDistributionUrl(projectName, componentName, accountId) {
21
- const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)(accountId) === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
10
+ export function getProjectComponentDistributionUrl(projectName, componentName, accountId) {
11
+ const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
22
12
  return `${baseUrl}/developer-projects/${accountId}/project/${projectName}/component/${componentName}/distribution`;
23
13
  }
24
- function getDeveloperOverviewUrl(accountId) {
25
- const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)(accountId) === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
14
+ export function getDeveloperOverviewUrl(accountId) {
15
+ const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
26
16
  return `${baseUrl}/developer-overview/${accountId}`;
27
17
  }
28
- function getProjectDetailUrl(projectName, accountId) {
18
+ export function getProjectDetailUrl(projectName, accountId) {
29
19
  if (!projectName)
30
20
  return;
31
21
  return `${getProjectHomeUrl(accountId)}/project/${projectName}`;
32
22
  }
33
- function getProjectSettingsUrl(projectName, accountId) {
23
+ export function getProjectSettingsUrl(projectName, accountId) {
34
24
  if (!projectName)
35
25
  return;
36
26
  return `${getProjectDetailUrl(projectName, accountId)}/settings`;
37
27
  }
38
- function getProjectActivityUrl(projectName, accountId) {
28
+ export function getProjectActivityUrl(projectName, accountId) {
39
29
  return `${getProjectDetailUrl(projectName, accountId)}/activity`;
40
30
  }
41
- function getProjectBuildDetailUrl(projectName, buildId, accountId) {
31
+ export function getProjectBuildDetailUrl(projectName, buildId, accountId) {
42
32
  return `${getProjectActivityUrl(projectName, accountId)}/build/${buildId}`;
43
33
  }
44
- function getProjectDeployDetailUrl(projectName, deployId, accountId) {
34
+ export function getProjectDeployDetailUrl(projectName, deployId, accountId) {
45
35
  return `${getProjectActivityUrl(projectName, accountId)}/deploy/${deployId}`;
46
36
  }
47
- function getLocalDevUiUrl(accountId) {
48
- return `${getBaseUrl(accountId)}/developer-projects-local-dev/${accountId}`;
37
+ export function getLocalDevUiUrl(accountId, showWelcomeScreen) {
38
+ return `${getBaseUrl(accountId)}/developer-projects-local-dev/${accountId}${showWelcomeScreen ? '?welcome' : ''}`;
49
39
  }
@@ -1,4 +1,4 @@
1
- import { ProjectConfig } from '../../types/Projects';
1
+ import { ProjectConfig } from '../../types/Projects.js';
2
2
  type ProjectWatchHandlerFunction = (accountId: number, projectName: string, currentBuildId: number) => Promise<void> | void;
3
3
  export declare function createWatcher(accountId: number, projectConfig: ProjectConfig, projectDir: string, handleBuildStatusFn: ProjectWatchHandlerFunction, handleUserInputFn: ProjectWatchHandlerFunction): Promise<void>;
4
4
  export {};