@hubspot/cli 8.0.11-experimental.0 → 8.0.11-experimental.2

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 (595) hide show
  1. package/api/migrate.js +3 -3
  2. package/bin/cli.js +5 -0
  3. package/commands/account/auth.js +12 -22
  4. package/commands/account/clean.js +5 -6
  5. package/commands/account/createOverride.js +7 -7
  6. package/commands/account/info.js +2 -1
  7. package/commands/account/list.js +3 -5
  8. package/commands/account/remove.js +2 -3
  9. package/commands/account/removeOverride.js +8 -10
  10. package/commands/account/rename.js +5 -6
  11. package/commands/account/use.js +8 -19
  12. package/commands/api.d.ts +10 -0
  13. package/commands/api.js +164 -0
  14. package/commands/app/migrate.js +12 -12
  15. package/commands/app/secret/add.js +6 -7
  16. package/commands/app/secret/delete.js +9 -10
  17. package/commands/app/secret/list.js +6 -7
  18. package/commands/app/secret/update.js +8 -9
  19. package/commands/auth.js +12 -12
  20. package/commands/cms/app/create.js +9 -5
  21. package/commands/cms/convertFields.js +8 -8
  22. package/commands/cms/delete.js +2 -3
  23. package/commands/cms/fetch.js +7 -7
  24. package/commands/cms/function/create.js +9 -5
  25. package/commands/cms/function/deploy.js +2 -3
  26. package/commands/cms/function/list.js +11 -7
  27. package/commands/cms/function/logs.js +17 -23
  28. package/commands/cms/function/server.js +2 -3
  29. package/commands/cms/getReactModule.js +7 -8
  30. package/commands/cms/lighthouseScore.js +25 -24
  31. package/commands/cms/lint.js +4 -5
  32. package/commands/cms/list.js +5 -6
  33. package/commands/cms/module/create.js +9 -5
  34. package/commands/cms/module/marketplace-validate.js +7 -8
  35. package/commands/cms/mv.js +2 -3
  36. package/commands/cms/template/create.js +10 -6
  37. package/commands/cms/theme/create.js +5 -5
  38. package/commands/cms/theme/generate-selectors.js +5 -4
  39. package/commands/cms/theme/marketplace-validate.js +8 -9
  40. package/commands/cms/theme/preview.js +16 -8
  41. package/commands/cms/upload.js +15 -12
  42. package/commands/cms/watch.js +5 -5
  43. package/commands/cms/webpack/create.js +5 -5
  44. package/commands/completion.js +3 -5
  45. package/commands/config/migrate.js +6 -7
  46. package/commands/config/set.js +5 -6
  47. package/commands/customObject/create.js +4 -5
  48. package/commands/customObject/createSchema.js +4 -5
  49. package/commands/customObject/deleteSchema.js +4 -5
  50. package/commands/customObject/fetchAllSchemas.js +2 -3
  51. package/commands/customObject/fetchSchema.js +2 -3
  52. package/commands/customObject/listSchemas.js +2 -3
  53. package/commands/customObject/updateSchema.js +4 -5
  54. package/commands/doctor.js +8 -8
  55. package/commands/feedback.js +6 -4
  56. package/commands/filemanager/fetch.js +5 -6
  57. package/commands/filemanager/upload.js +5 -5
  58. package/commands/getStarted.js +16 -18
  59. package/commands/hubdb/clear.js +5 -6
  60. package/commands/hubdb/create.js +4 -5
  61. package/commands/hubdb/delete.js +8 -9
  62. package/commands/hubdb/fetch.js +5 -6
  63. package/commands/hubdb/list.js +16 -14
  64. package/commands/init.js +14 -17
  65. package/commands/mcp/setup.js +5 -6
  66. package/commands/mcp/start.js +2 -3
  67. package/commands/open.js +4 -5
  68. package/commands/project/add.js +13 -8
  69. package/commands/project/create.js +20 -17
  70. package/commands/project/delete.d.ts +7 -0
  71. package/commands/project/delete.js +74 -0
  72. package/commands/project/deploy.js +39 -36
  73. package/commands/project/dev/deprecatedFlow.js +42 -15
  74. package/commands/project/dev/index.d.ts +3 -3
  75. package/commands/project/dev/index.js +29 -34
  76. package/commands/project/dev/unifiedFlow.js +37 -14
  77. package/commands/project/download.js +10 -11
  78. package/commands/project/info.js +19 -19
  79. package/commands/project/installDeps.js +9 -6
  80. package/commands/project/lint.js +11 -8
  81. package/commands/project/list.js +14 -14
  82. package/commands/project/listBuilds.js +8 -6
  83. package/commands/project/logs.js +5 -6
  84. package/commands/project/migrate.js +13 -13
  85. package/commands/project/open.js +5 -6
  86. package/commands/project/profile/add.js +12 -8
  87. package/commands/project/profile/delete.js +15 -11
  88. package/commands/project/updateDeps.js +9 -6
  89. package/commands/project/upload.js +33 -19
  90. package/commands/project/validate.js +12 -12
  91. package/commands/project/watch.js +22 -22
  92. package/commands/project.js +8 -3
  93. package/commands/sandbox/create.js +15 -15
  94. package/commands/sandbox/delete.js +13 -14
  95. package/commands/secret/addSecret.js +6 -7
  96. package/commands/secret/deleteSecret.js +5 -6
  97. package/commands/secret/listSecret.js +2 -3
  98. package/commands/secret/updateSecret.js +4 -5
  99. package/commands/testAccount/create.d.ts +1 -1
  100. package/commands/testAccount/create.js +24 -20
  101. package/commands/testAccount/createConfig.js +7 -8
  102. package/commands/testAccount/delete.js +27 -18
  103. package/commands/testAccount/importData.js +6 -7
  104. package/commands/upgrade.js +9 -10
  105. package/lang/en.d.ts +95 -7
  106. package/lang/en.js +98 -13
  107. package/lib/accountAuth.js +2 -2
  108. package/lib/app/migrate.js +7 -0
  109. package/lib/buildAccount.js +3 -3
  110. package/lib/constants.d.ts +0 -1
  111. package/lib/constants.js +0 -1
  112. package/lib/doctor/Diagnosis.js +5 -5
  113. package/lib/doctor/Doctor.js +2 -2
  114. package/lib/errorHandlers/index.js +4 -3
  115. package/lib/errorHandlers/suppressError.js +4 -0
  116. package/lib/errors/PromptExitError.d.ts +4 -2
  117. package/lib/errors/PromptExitError.js +3 -0
  118. package/lib/getStartedV2Actions.js +2 -2
  119. package/lib/hasFeature.js +1 -2
  120. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  121. package/lib/process.d.ts +1 -1
  122. package/lib/process.js +10 -3
  123. package/lib/projects/ProjectLogsManager.js +2 -2
  124. package/lib/projects/create/index.js +2 -2
  125. package/lib/projects/create/legacy.js +2 -2
  126. package/lib/projects/create/v2.js +3 -4
  127. package/lib/projects/delete.d.ts +13 -0
  128. package/lib/projects/delete.js +193 -0
  129. package/lib/projects/deploy.d.ts +1 -1
  130. package/lib/projects/deploy.js +2 -2
  131. package/lib/projects/localDev/AppDevModeInterface.js +11 -11
  132. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +3 -1
  133. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +2 -2
  134. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  135. package/lib/projects/localDev/DevSessionManager.js +31 -19
  136. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +3 -0
  137. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +16 -12
  138. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  139. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  140. package/lib/projects/localDev/LocalDevState.js +3 -1
  141. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  142. package/lib/projects/localDev/helpers/account.js +16 -19
  143. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  144. package/lib/projects/localDev/helpers/process.js +4 -10
  145. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  146. package/lib/projects/localDev/helpers/project.js +31 -15
  147. package/lib/projects/projectInfo.d.ts +3 -20
  148. package/lib/projects/projectInfo.js +32 -54
  149. package/lib/projects/projectProfiles.d.ts +1 -2
  150. package/lib/projects/projectProfiles.js +5 -17
  151. package/lib/projects/upload.js +22 -3
  152. package/lib/projects/workspaces.d.ts +42 -0
  153. package/lib/projects/workspaces.js +350 -0
  154. package/lib/prompts/createApiSamplePrompt.js +4 -0
  155. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  156. package/lib/prompts/projectProfilePrompt.js +46 -0
  157. package/lib/prompts/promptUtils.js +3 -2
  158. package/lib/prompts/selectHubDBTablePrompt.js +2 -2
  159. package/lib/prompts/selectPublicAppForMigrationPrompt.js +2 -2
  160. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  161. package/lib/theme/cmsDevServerProcess.js +8 -7
  162. package/lib/ui/SpinniesManager.d.ts +1 -0
  163. package/lib/ui/SpinniesManager.js +20 -6
  164. package/lib/ui/spinniesUtils.d.ts +0 -1
  165. package/lib/ui/spinniesUtils.js +6 -16
  166. package/lib/usageTracking.d.ts +3 -4
  167. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  168. package/lib/yargs/makeYargsBuilder.js +33 -0
  169. package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
  170. package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
  171. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  172. package/lib/yargs/strictEnforceBoolean.js +13 -0
  173. package/lib/yargsUtils.d.ts +3 -16
  174. package/lib/yargsUtils.js +3 -48
  175. package/mcp-server/Tool.d.ts +15 -0
  176. package/mcp-server/Tool.js +53 -0
  177. package/mcp-server/server.js +5 -3
  178. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  179. package/mcp-server/tools/cms/HsCreateFunctionTool.js +8 -6
  180. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  181. package/mcp-server/tools/cms/HsCreateModuleTool.js +8 -6
  182. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +5 -3
  183. package/mcp-server/tools/cms/HsCreateTemplateTool.js +8 -6
  184. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  185. package/mcp-server/tools/cms/HsFunctionLogsTool.js +8 -6
  186. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  187. package/mcp-server/tools/cms/HsListFunctionsTool.js +8 -6
  188. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  189. package/mcp-server/tools/cms/HsListTool.js +8 -6
  190. package/mcp-server/tools/index.d.ts +3 -2
  191. package/mcp-server/tools/index.js +22 -22
  192. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +6 -4
  193. package/mcp-server/tools/project/AddFeatureToProjectTool.js +8 -6
  194. package/mcp-server/tools/project/CreateProjectTool.d.ts +6 -4
  195. package/mcp-server/tools/project/CreateProjectTool.js +9 -7
  196. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  197. package/mcp-server/tools/project/CreateTestAccountTool.js +20 -8
  198. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  199. package/mcp-server/tools/project/DeployProjectTool.js +4 -6
  200. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  201. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  202. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  203. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  204. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  205. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +8 -6
  206. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  207. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  208. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
  209. package/mcp-server/tools/project/GetBuildLogsTool.js +8 -6
  210. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
  211. package/mcp-server/tools/project/GetBuildStatusTool.js +8 -6
  212. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  213. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  214. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
  215. package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
  216. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  217. package/mcp-server/tools/project/UploadProjectTools.js +9 -7
  218. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  219. package/mcp-server/tools/project/ValidateProjectTool.js +8 -6
  220. package/mcp-server/tools/project/constants.d.ts +2 -2
  221. package/mcp-server/types.d.ts +0 -7
  222. package/mcp-server/types.js +1 -13
  223. package/mcp-server/utils/logger.d.ts +10 -0
  224. package/mcp-server/utils/logger.js +29 -0
  225. package/mcp-server/utils/toolUsageTracking.js +0 -2
  226. package/package.json +12 -7
  227. package/types/LocalDev.d.ts +5 -0
  228. package/types/Projects.d.ts +19 -0
  229. package/types/Yargs.d.ts +18 -1
  230. package/api/__tests__/migrate.test.d.ts +0 -1
  231. package/api/__tests__/migrate.test.js +0 -199
  232. package/commands/__tests__/account.test.d.ts +0 -1
  233. package/commands/__tests__/account.test.js +0 -69
  234. package/commands/__tests__/auth.test.d.ts +0 -1
  235. package/commands/__tests__/auth.test.js +0 -43
  236. package/commands/__tests__/cms.test.d.ts +0 -1
  237. package/commands/__tests__/cms.test.js +0 -87
  238. package/commands/__tests__/config.test.d.ts +0 -1
  239. package/commands/__tests__/config.test.js +0 -44
  240. package/commands/__tests__/customObject.test.d.ts +0 -1
  241. package/commands/__tests__/customObject.test.js +0 -68
  242. package/commands/__tests__/doctor.test.d.ts +0 -1
  243. package/commands/__tests__/doctor.test.js +0 -132
  244. package/commands/__tests__/feedback.test.d.ts +0 -1
  245. package/commands/__tests__/feedback.test.js +0 -24
  246. package/commands/__tests__/filemanager.test.d.ts +0 -1
  247. package/commands/__tests__/filemanager.test.js +0 -45
  248. package/commands/__tests__/getStarted.test.d.ts +0 -1
  249. package/commands/__tests__/getStarted.test.js +0 -173
  250. package/commands/__tests__/hubdb.test.d.ts +0 -1
  251. package/commands/__tests__/hubdb.test.js +0 -50
  252. package/commands/__tests__/init.test.d.ts +0 -1
  253. package/commands/__tests__/init.test.js +0 -42
  254. package/commands/__tests__/mcp.test.d.ts +0 -1
  255. package/commands/__tests__/mcp.test.js +0 -46
  256. package/commands/__tests__/open.test.d.ts +0 -1
  257. package/commands/__tests__/open.test.js +0 -58
  258. package/commands/__tests__/project.test.d.ts +0 -1
  259. package/commands/__tests__/project.test.js +0 -125
  260. package/commands/__tests__/sandbox.test.d.ts +0 -1
  261. package/commands/__tests__/sandbox.test.js +0 -44
  262. package/commands/__tests__/secret.test.d.ts +0 -1
  263. package/commands/__tests__/secret.test.js +0 -49
  264. package/commands/__tests__/testAccount.test.d.ts +0 -1
  265. package/commands/__tests__/testAccount.test.js +0 -57
  266. package/commands/__tests__/upgrade.test.d.ts +0 -1
  267. package/commands/__tests__/upgrade.test.js +0 -309
  268. package/commands/account/__tests__/auth.test.d.ts +0 -1
  269. package/commands/account/__tests__/auth.test.js +0 -206
  270. package/commands/account/__tests__/clean.test.d.ts +0 -1
  271. package/commands/account/__tests__/clean.test.js +0 -28
  272. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  273. package/commands/account/__tests__/createOverride.test.js +0 -32
  274. package/commands/account/__tests__/info.test.d.ts +0 -1
  275. package/commands/account/__tests__/info.test.js +0 -28
  276. package/commands/account/__tests__/list.test.d.ts +0 -1
  277. package/commands/account/__tests__/list.test.js +0 -153
  278. package/commands/account/__tests__/remove.test.d.ts +0 -1
  279. package/commands/account/__tests__/remove.test.js +0 -36
  280. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  281. package/commands/account/__tests__/removeOverride.js +0 -25
  282. package/commands/account/__tests__/rename.test.d.ts +0 -1
  283. package/commands/account/__tests__/rename.test.js +0 -82
  284. package/commands/account/__tests__/use.test.d.ts +0 -1
  285. package/commands/account/__tests__/use.test.js +0 -170
  286. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  287. package/commands/app/__tests__/migrate.test.js +0 -111
  288. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  289. package/commands/app/secret/__tests__/add.test.js +0 -140
  290. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  291. package/commands/app/secret/__tests__/delete.test.js +0 -28
  292. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  293. package/commands/app/secret/__tests__/list.test.js +0 -25
  294. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  295. package/commands/app/secret/__tests__/update.test.js +0 -28
  296. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  297. package/commands/cms/__tests__/delete.test.js +0 -39
  298. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  299. package/commands/cms/__tests__/fetch.test.js +0 -156
  300. package/commands/cms/__tests__/function.test.d.ts +0 -1
  301. package/commands/cms/__tests__/function.test.js +0 -50
  302. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  303. package/commands/cms/__tests__/lint.test.js +0 -33
  304. package/commands/cms/__tests__/list.test.d.ts +0 -1
  305. package/commands/cms/__tests__/list.test.js +0 -42
  306. package/commands/cms/__tests__/module.test.d.ts +0 -1
  307. package/commands/cms/__tests__/module.test.js +0 -45
  308. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  309. package/commands/cms/__tests__/mv.test.js +0 -46
  310. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  311. package/commands/cms/__tests__/theme.test.js +0 -54
  312. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  313. package/commands/cms/__tests__/upload.test.js +0 -312
  314. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  315. package/commands/cms/__tests__/watch.test.js +0 -204
  316. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  317. package/commands/cms/function/__tests__/logs.test.js +0 -70
  318. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  319. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  320. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  321. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  322. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  323. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  324. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  325. package/commands/customObject/__tests__/create.test.js +0 -40
  326. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  327. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  328. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  329. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  330. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  331. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  332. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  333. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  334. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  335. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  336. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  337. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  338. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  339. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  340. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  341. package/commands/filemanager/__tests__/upload.test.js +0 -191
  342. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  343. package/commands/hubdb/__tests__/clear.test.js +0 -28
  344. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  345. package/commands/hubdb/__tests__/create.test.js +0 -28
  346. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  347. package/commands/hubdb/__tests__/delete.test.js +0 -28
  348. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  349. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  350. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  351. package/commands/hubdb/__tests__/list.test.js +0 -88
  352. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  353. package/commands/mcp/__tests__/setup.test.js +0 -26
  354. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  355. package/commands/mcp/__tests__/start.test.js +0 -144
  356. package/commands/project/__tests__/add.test.d.ts +0 -1
  357. package/commands/project/__tests__/add.test.js +0 -107
  358. package/commands/project/__tests__/create.test.d.ts +0 -1
  359. package/commands/project/__tests__/create.test.js +0 -97
  360. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  361. package/commands/project/__tests__/deploy.test.js +0 -307
  362. package/commands/project/__tests__/dev.test.d.ts +0 -1
  363. package/commands/project/__tests__/dev.test.js +0 -273
  364. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  365. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  366. package/commands/project/__tests__/download.test.d.ts +0 -1
  367. package/commands/project/__tests__/download.test.js +0 -39
  368. package/commands/project/__tests__/info.test.d.ts +0 -1
  369. package/commands/project/__tests__/info.test.js +0 -145
  370. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  371. package/commands/project/__tests__/installDeps.test.js +0 -140
  372. package/commands/project/__tests__/lint.test.d.ts +0 -1
  373. package/commands/project/__tests__/lint.test.js +0 -704
  374. package/commands/project/__tests__/list.test.d.ts +0 -1
  375. package/commands/project/__tests__/list.test.js +0 -31
  376. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  377. package/commands/project/__tests__/listBuilds.test.js +0 -38
  378. package/commands/project/__tests__/logs.test.d.ts +0 -1
  379. package/commands/project/__tests__/logs.test.js +0 -202
  380. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  381. package/commands/project/__tests__/migrate.test.js +0 -106
  382. package/commands/project/__tests__/open.test.d.ts +0 -1
  383. package/commands/project/__tests__/open.test.js +0 -39
  384. package/commands/project/__tests__/profile.test.d.ts +0 -1
  385. package/commands/project/__tests__/profile.test.js +0 -42
  386. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  387. package/commands/project/__tests__/updateDeps.test.js +0 -140
  388. package/commands/project/__tests__/upload.test.d.ts +0 -1
  389. package/commands/project/__tests__/upload.test.js +0 -234
  390. package/commands/project/__tests__/validate.test.d.ts +0 -1
  391. package/commands/project/__tests__/validate.test.js +0 -381
  392. package/commands/project/__tests__/watch.test.d.ts +0 -1
  393. package/commands/project/__tests__/watch.test.js +0 -35
  394. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  395. package/commands/sandbox/__tests__/create.test.js +0 -198
  396. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  397. package/commands/sandbox/__tests__/delete.test.js +0 -31
  398. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  399. package/commands/secret/__tests__/addSecret.test.js +0 -162
  400. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  401. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  402. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  403. package/commands/secret/__tests__/listSecret.test.js +0 -29
  404. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  405. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  406. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  407. package/commands/testAccount/__tests__/create.test.js +0 -106
  408. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  409. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  410. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  411. package/commands/testAccount/__tests__/delete.test.js +0 -29
  412. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  413. package/commands/testAccount/__tests__/importData.test.js +0 -92
  414. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  415. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  416. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  417. package/lib/__tests__/accountAuth.test.js +0 -258
  418. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  419. package/lib/__tests__/accountTypes.test.js +0 -98
  420. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  421. package/lib/__tests__/buildAccount.test.js +0 -211
  422. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  423. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  424. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  425. package/lib/__tests__/commandSuggestion.test.js +0 -121
  426. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  427. package/lib/__tests__/commonOpts.test.js +0 -80
  428. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  429. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  430. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  431. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  432. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  433. package/lib/__tests__/hasFeature.test.js +0 -167
  434. package/lib/__tests__/http.test.d.ts +0 -1
  435. package/lib/__tests__/http.test.js +0 -40
  436. package/lib/__tests__/importData.test.d.ts +0 -1
  437. package/lib/__tests__/importData.test.js +0 -98
  438. package/lib/__tests__/npmCli.test.d.ts +0 -1
  439. package/lib/__tests__/npmCli.test.js +0 -84
  440. package/lib/__tests__/oauth.test.d.ts +0 -1
  441. package/lib/__tests__/oauth.test.js +0 -109
  442. package/lib/__tests__/parsing.test.d.ts +0 -1
  443. package/lib/__tests__/parsing.test.js +0 -34
  444. package/lib/__tests__/polling.test.d.ts +0 -1
  445. package/lib/__tests__/polling.test.js +0 -76
  446. package/lib/__tests__/process.test.d.ts +0 -1
  447. package/lib/__tests__/process.test.js +0 -89
  448. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  449. package/lib/__tests__/sandboxes.test.js +0 -128
  450. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  451. package/lib/__tests__/serverlessLogs.test.js +0 -163
  452. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  453. package/lib/__tests__/usageTracking.test.js +0 -197
  454. package/lib/__tests__/validation.test.d.ts +0 -1
  455. package/lib/__tests__/validation.test.js +0 -143
  456. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  457. package/lib/__tests__/yargsUtils.test.js +0 -124
  458. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  459. package/lib/app/__tests__/migrate.test.js +0 -638
  460. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  461. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  462. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  463. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  464. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  465. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  466. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  467. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  468. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  469. package/lib/mcp/__tests__/setup.test.js +0 -523
  470. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  471. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  472. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  473. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  474. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  475. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  476. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  477. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  478. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  479. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  480. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  481. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  482. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  483. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  484. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  485. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  486. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  487. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  488. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  489. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  490. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  491. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  492. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  493. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  494. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  495. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  496. package/lib/projects/__tests__/components.test.d.ts +0 -1
  497. package/lib/projects/__tests__/components.test.js +0 -440
  498. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  499. package/lib/projects/__tests__/deploy.test.js +0 -231
  500. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  501. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  502. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  503. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  504. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  505. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  506. package/lib/projects/__tests__/projectInfo.test.d.ts +0 -1
  507. package/lib/projects/__tests__/projectInfo.test.js +0 -114
  508. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  509. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  510. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  511. package/lib/projects/__tests__/projects.test.js +0 -58
  512. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  513. package/lib/projects/__tests__/structure.test.js +0 -210
  514. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  515. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  516. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  517. package/lib/projects/__tests__/upload.test.js +0 -183
  518. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  519. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  520. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  521. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  522. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  523. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  524. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  525. package/lib/projects/create/__tests__/v2.test.js +0 -257
  526. package/lib/projects/platformVersion.d.ts +0 -9
  527. package/lib/projects/platformVersion.js +0 -39
  528. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  529. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  530. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  531. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  532. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  533. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  534. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  535. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  536. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  537. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  538. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  539. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  540. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  541. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  542. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  543. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  544. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  545. package/lib/theme/__tests__/migrate.test.js +0 -247
  546. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  547. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  548. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  549. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  550. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  551. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  552. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  553. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  554. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  555. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  556. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  557. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  558. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  559. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  560. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  561. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  562. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  563. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  564. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  565. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -131
  566. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  567. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  568. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  569. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  570. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  571. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  572. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  573. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  574. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  575. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  576. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  577. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  578. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  579. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  580. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  581. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  582. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  583. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  584. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  585. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  586. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  587. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  588. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  589. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  590. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  591. package/mcp-server/utils/__tests__/command.test.js +0 -275
  592. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  593. package/mcp-server/utils/__tests__/content.test.js +0 -164
  594. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  595. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -15,7 +15,7 @@ import { componentIsApp, componentIsPublicApp, CONFIG_FILES, getAppCardConfigs,
15
15
  import { ComponentTypes, } from '../../../types/Projects.js';
16
16
  import { UI_COLORS, uiCommandReference, uiAccountDescription, uiLink, uiLine, } from '../../ui/index.js';
17
17
  import { logError } from '../../errorHandlers/index.js';
18
- import { PromptExitError } from '../../errors/PromptExitError.js';
18
+ import { isPromptExitError } from '../../errors/PromptExitError.js';
19
19
  import { installAppBrowserPrompt } from '../../prompts/installAppPrompt.js';
20
20
  import { confirmPrompt } from '../../prompts/promptUtils.js';
21
21
  import { handleKeypress } from '../../process.js';
@@ -47,6 +47,7 @@ class LocalDevManager_DEPRECATED {
47
47
  projectSourceDir;
48
48
  mostRecentUploadWarning;
49
49
  devSessionManager;
50
+ exit;
50
51
  constructor(options) {
51
52
  this.targetAccountId = options.targetAccountId;
52
53
  // The account that the project exists in. This is not always the targetAccountId
@@ -65,19 +66,21 @@ class LocalDevManager_DEPRECATED {
65
66
  this.env = options.env;
66
67
  this.publicAppActiveInstalls = null;
67
68
  this.mostRecentUploadWarning = null;
69
+ this.exit = options.exit;
68
70
  this.projectSourceDir = path.join(this.projectDir, this.projectConfig.srcDir);
69
71
  if (!this.targetAccountId || !this.projectConfig || !this.projectDir) {
70
- uiLogger.log(lib.LocalDevManager.failedToInitialize);
71
- process.exit(EXIT_CODES.ERROR);
72
+ uiLogger.error(lib.LocalDevManager.failedToInitialize);
73
+ throw new Error(lib.LocalDevManager.failedToInitialize);
72
74
  }
73
75
  this.devSessionManager = new DevSessionManager({
74
76
  targetTestingAccountId: this.targetAccountId,
77
+ exit: this.exit,
75
78
  });
76
79
  }
77
80
  async setActiveApp(appUid) {
78
81
  if (!appUid) {
79
82
  uiLogger.error(lib.LocalDevManager.missingUid);
80
- process.exit(EXIT_CODES.ERROR);
83
+ return this.exit(EXIT_CODES.ERROR);
81
84
  }
82
85
  this.activeApp =
83
86
  this.runnableComponents.find(component => {
@@ -90,7 +93,7 @@ class LocalDevManager_DEPRECATED {
90
93
  await this.checkPublicAppInstallation();
91
94
  }
92
95
  catch (e) {
93
- if (e instanceof PromptExitError) {
96
+ if (isPromptExitError(e)) {
94
97
  throw e;
95
98
  }
96
99
  logError(e);
@@ -122,7 +125,7 @@ class LocalDevManager_DEPRECATED {
122
125
  uiLine();
123
126
  const proceed = await confirmPrompt(lib.LocalDevManager.activeInstallWarning.confirmationPrompt, { defaultAnswer: false });
124
127
  if (!proceed) {
125
- process.exit(EXIT_CODES.SUCCESS);
128
+ return this.exit(EXIT_CODES.SUCCESS);
126
129
  }
127
130
  }
128
131
  async start() {
@@ -132,11 +135,11 @@ class LocalDevManager_DEPRECATED {
132
135
  if (!this.deployedBuild) {
133
136
  uiLogger.error(lib.LocalDevManager.noDeployedBuild(this.projectConfig.name, uiAccountDescription(this.targetProjectAccountId), this.getUploadCommand()));
134
137
  uiLogger.log('');
135
- process.exit(EXIT_CODES.SUCCESS);
138
+ return this.exit(EXIT_CODES.SUCCESS);
136
139
  }
137
140
  const setupSucceeded = await this.devServerSetup();
138
141
  if (!setupSucceeded) {
139
- process.exit(EXIT_CODES.ERROR);
142
+ return this.exit(EXIT_CODES.ERROR);
140
143
  }
141
144
  else if (!this.debug) {
142
145
  console.clear();
@@ -156,7 +159,7 @@ class LocalDevManager_DEPRECATED {
156
159
  await this.devServerStart();
157
160
  const devSessionRegistered = await this.devSessionManager.registerSession();
158
161
  if (!devSessionRegistered) {
159
- process.exit(EXIT_CODES.ERROR);
162
+ return this.exit(EXIT_CODES.ERROR);
160
163
  }
161
164
  // Initialize project file watcher to detect configuration file changes
162
165
  this.startWatching();
@@ -181,14 +184,14 @@ class LocalDevManager_DEPRECATED {
181
184
  text: lib.LocalDevManager.exitingFail,
182
185
  });
183
186
  }
184
- process.exit(EXIT_CODES.ERROR);
187
+ return this.exit(EXIT_CODES.ERROR);
185
188
  }
186
189
  if (showProgress) {
187
190
  SpinniesManager.succeed('cleanupMessage', {
188
191
  text: lib.LocalDevManager.exitingSucceed,
189
192
  });
190
193
  }
191
- process.exit(EXIT_CODES.SUCCESS);
194
+ return this.exit(EXIT_CODES.SUCCESS);
192
195
  }
193
196
  async checkPublicAppInstallation() {
194
197
  if (!componentIsPublicApp(this.activeApp) || !this.activePublicAppData) {
@@ -333,6 +336,7 @@ class LocalDevManager_DEPRECATED {
333
336
  onUploadRequired: this.logUploadWarning.bind(this),
334
337
  accountId: this.targetAccountId,
335
338
  setActiveApp: this.setActiveApp.bind(this),
339
+ exit: this.exit,
336
340
  });
337
341
  return true;
338
342
  }
@@ -356,7 +360,7 @@ class LocalDevManager_DEPRECATED {
356
360
  uiLogger.error(getErrorMessage(e));
357
361
  }
358
362
  uiLogger.error(lib.LocalDevManager.devServer.startError(getErrorMessage(e)));
359
- process.exit(EXIT_CODES.ERROR);
363
+ return this.exit(EXIT_CODES.ERROR);
360
364
  }
361
365
  }
362
366
  devServerFileChange(filePath, event) {
@@ -32,6 +32,7 @@ class LocalDevProcess {
32
32
  this.devSessionManager = new DevSessionManager({
33
33
  targetTestingAccountId: this.state.targetTestingAccountId,
34
34
  localDevLogger: this._logger,
35
+ exit: this.state.actions.exit,
35
36
  });
36
37
  }
37
38
  get projectDir() {
@@ -68,7 +69,7 @@ class LocalDevProcess {
68
69
  }
69
70
  catch (e) {
70
71
  this.logger.devServerStartError(e);
71
- process.exit(EXIT_CODES.ERROR);
72
+ return this.state.actions.exit(EXIT_CODES.ERROR);
72
73
  }
73
74
  }
74
75
  async cleanupDevServers() {
@@ -148,7 +149,7 @@ class LocalDevProcess {
148
149
  this.logger.resetSpinnies();
149
150
  const setupSucceeded = await this.setupDevServers();
150
151
  if (!setupSucceeded) {
151
- process.exit(EXIT_CODES.ERROR);
152
+ return this.state.actions.exit(EXIT_CODES.ERROR);
152
153
  }
153
154
  this.logger.startupMessage();
154
155
  if (isConfigFlagEnabled(CONFIG_FLAGS.AUTO_OPEN_BROWSER, true)) {
@@ -157,7 +158,7 @@ class LocalDevProcess {
157
158
  await this.startDevServers();
158
159
  const devSessionRegistered = await this.devSessionManager.registerSession();
159
160
  if (!devSessionRegistered) {
160
- process.exit(EXIT_CODES.ERROR);
161
+ return this.state.actions.exit(EXIT_CODES.ERROR);
161
162
  }
162
163
  this.state.devServersStarted = true;
163
164
  this.logger.monitorConsoleOutput();
@@ -172,12 +173,12 @@ class LocalDevProcess {
172
173
  if (showProgress) {
173
174
  this.logger.cleanupError();
174
175
  }
175
- process.exit(EXIT_CODES.ERROR);
176
+ return this.state.actions.exit(EXIT_CODES.ERROR);
176
177
  }
177
178
  if (showProgress) {
178
179
  this.logger.cleanupSuccess();
179
180
  }
180
- process.exit(EXIT_CODES.SUCCESS);
181
+ return this.state.actions.exit(EXIT_CODES.SUCCESS);
181
182
  }
182
183
  async uploadProject() {
183
184
  this.logger.uploadInitiated();
@@ -3,7 +3,7 @@ import type { HSProfileVariables } from '@hubspot/project-parsing-lib/profiles';
3
3
  import { Environment } from '@hubspot/local-dev-lib/types/Accounts';
4
4
  import { Project } from '@hubspot/local-dev-lib/types/Project';
5
5
  import { ProjectConfig } from '../../../types/Projects.js';
6
- import { LocalDevStateConstructorOptions, LocalDevStateListener, AppLocalDevData, LocalDevServerMessage } from '../../../types/LocalDev.js';
6
+ import { LocalDevStateConstructorOptions, LocalDevStateListener, LocalDevActions, AppLocalDevData, LocalDevServerMessage } from '../../../types/LocalDev.js';
7
7
  declare class LocalDevState {
8
8
  private _targetProjectAccountId;
9
9
  private _targetTestingAccountId;
@@ -21,7 +21,8 @@ declare class LocalDevState {
21
21
  private _devServerMessage;
22
22
  private _uploadWarnings;
23
23
  private _devServersStarted;
24
- constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, }: LocalDevStateConstructorOptions);
24
+ actions: LocalDevActions;
25
+ constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, actions, }: LocalDevStateConstructorOptions);
25
26
  private runListeners;
26
27
  get targetProjectAccountId(): number;
27
28
  get targetTestingAccountId(): number;
@@ -16,7 +16,8 @@ class LocalDevState {
16
16
  _devServerMessage;
17
17
  _uploadWarnings;
18
18
  _devServersStarted;
19
- constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, }) {
19
+ actions;
20
+ constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, actions, }) {
20
21
  this._targetProjectAccountId = targetProjectAccountId;
21
22
  this._targetTestingAccountId = targetTestingAccountId;
22
23
  this._profile = profile;
@@ -32,6 +33,7 @@ class LocalDevState {
32
33
  this._devServerMessage = LOCAL_DEV_SERVER_MESSAGE_TYPES.INITIAL;
33
34
  this._uploadWarnings = new Set();
34
35
  this._devServersStarted = false;
36
+ this.actions = actions;
35
37
  this._listeners = {};
36
38
  }
37
39
  runListeners(key) {
@@ -2,13 +2,14 @@ import { HubSpotConfigAccount } from '@hubspot/local-dev-lib/types/Accounts';
2
2
  import { Environment } from '@hubspot/local-dev-lib/types/Accounts';
3
3
  import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTestAccounts.js';
4
4
  import { ProjectDevTargetAccountPromptResponse } from '../../../prompts/projectDevTargetAccountPrompt.js';
5
- export declare function confirmDefaultAccountIsTarget(accountConfig: HubSpotConfigAccount): Promise<void>;
6
- export declare function checkIfDefaultAccountIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): Promise<void>;
5
+ import { ExitFunction } from '../../../../types/Yargs.js';
6
+ export declare function confirmDefaultAccountIsTarget(accountConfig: HubSpotConfigAccount, exit: ExitFunction): Promise<void>;
7
+ export declare function checkIfDefaultAccountIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean, exit: ExitFunction): Promise<void>;
7
8
  export declare function checkIfParentAccountIsAuthed(accountConfig: HubSpotConfigAccount): void;
8
9
  export declare function checkIfAccountFlagIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): void;
9
10
  export declare function suggestRecommendedNestedAccount(accounts: HubSpotConfigAccount[], accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): Promise<ProjectDevTargetAccountPromptResponse>;
10
11
  export declare function createSandboxForLocalDev(accountId: number, accountConfig: HubSpotConfigAccount, env: Environment): Promise<number>;
11
12
  export declare function createDeveloperTestAccountForLocalDev(accountId: number, accountConfig: HubSpotConfigAccount, env: Environment, useV2?: boolean): Promise<number>;
12
- export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<void>;
13
+ export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<boolean>;
13
14
  export declare function hasSandboxes(account: HubSpotConfigAccount): Promise<boolean>;
14
15
  export declare function selectAccountTypePrompt(accountConfig: HubSpotConfigAccount): Promise<string | null>;
@@ -27,54 +27,51 @@ import { listPrompt } from '../../../prompts/promptUtils.js';
27
27
  import { confirmUseExistingDeveloperTestAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
28
28
  // If the user passed in the --account flag, confirm they want to use that account as
29
29
  // their target account, otherwise exit
30
- export async function confirmDefaultAccountIsTarget(accountConfig) {
30
+ export async function confirmDefaultAccountIsTarget(accountConfig, exit) {
31
31
  if (!accountConfig.name || !accountConfig.accountType) {
32
32
  uiLogger.error(lib.localDevHelpers.account.confirmDefaultAccountIsTarget.configError);
33
- process.exit(EXIT_CODES.ERROR);
33
+ return exit(EXIT_CODES.ERROR);
34
34
  }
35
35
  uiLogger.log('');
36
36
  const useDefaultAccount = await confirmDefaultAccountPrompt(accountConfig.name, HUBSPOT_ACCOUNT_TYPE_STRINGS[accountConfig.accountType]);
37
37
  if (!useDefaultAccount) {
38
38
  uiLogger.log(lib.localDevHelpers.account.confirmDefaultAccountIsTarget
39
39
  .declineDefaultAccountExplanation);
40
- process.exit(EXIT_CODES.SUCCESS);
40
+ return exit(EXIT_CODES.SUCCESS);
41
41
  }
42
42
  }
43
43
  // Confirm the default account is supported for the type of apps being developed
44
- export async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps) {
44
+ export async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps, exit) {
45
45
  const defaultAccountIsUnified = await isUnifiedAccount(accountConfig);
46
46
  if (hasPublicApps &&
47
47
  !(isAppDeveloperAccount(accountConfig) ||
48
48
  isDeveloperTestAccount(accountConfig) ||
49
49
  defaultAccountIsUnified)) {
50
50
  uiLogger.error(lib.localDevHelpers.account.checkIfDefaultAccountIsSupported.publicApp);
51
- process.exit(EXIT_CODES.SUCCESS);
51
+ return exit(EXIT_CODES.SUCCESS);
52
52
  }
53
53
  else if (!hasPublicApps && isAppDeveloperAccount(accountConfig)) {
54
54
  uiLogger.error(lib.localDevHelpers.account.checkIfDefaultAccountIsSupported.privateApp);
55
- process.exit(EXIT_CODES.SUCCESS);
55
+ return exit(EXIT_CODES.SUCCESS);
56
56
  }
57
57
  }
58
58
  export function checkIfParentAccountIsAuthed(accountConfig) {
59
59
  if (!accountConfig.parentAccountId ||
60
60
  !getConfigAccountIfExists(accountConfig.parentAccountId)?.accountId) {
61
- uiLogger.error(lib.localDevHelpers.account.checkIfParentAccountIsAuthed.notAuthedError(accountConfig.parentAccountId || '', uiAccountDescription(accountConfig.accountId)));
62
- process.exit(EXIT_CODES.SUCCESS);
61
+ throw new Error(lib.localDevHelpers.account.checkIfParentAccountIsAuthed.notAuthedError(accountConfig.parentAccountId || '', uiAccountDescription(accountConfig.accountId)));
63
62
  }
64
63
  }
65
64
  // Confirm the default account is a developer account if developing public apps
66
65
  export function checkIfAccountFlagIsSupported(accountConfig, hasPublicApps) {
67
66
  if (hasPublicApps) {
68
67
  if (!isDeveloperTestAccount(accountConfig)) {
69
- uiLogger.error(lib.localDevHelpers.account.validateAccountOption
68
+ throw new Error(lib.localDevHelpers.account.validateAccountOption
70
69
  .invalidPublicAppAccount);
71
- process.exit(EXIT_CODES.SUCCESS);
72
70
  }
73
71
  checkIfParentAccountIsAuthed(accountConfig);
74
72
  }
75
73
  else if (isAppDeveloperAccount(accountConfig)) {
76
- uiLogger.error(lib.localDevHelpers.account.validateAccountOption.invalidPrivateAppAccount);
77
- process.exit(EXIT_CODES.SUCCESS);
74
+ throw new Error(lib.localDevHelpers.account.validateAccountOption.invalidPrivateAppAccount);
78
75
  }
79
76
  }
80
77
  // If the user isn't using the recommended account type, prompt them to use or create one
@@ -110,7 +107,7 @@ export async function createSandboxForLocalDev(accountId, accountConfig, env) {
110
107
  else {
111
108
  logError(err);
112
109
  }
113
- process.exit(EXIT_CODES.ERROR);
110
+ throw err;
114
111
  }
115
112
  try {
116
113
  const { name } = await hubspotAccountNamePrompt({
@@ -123,7 +120,7 @@ export async function createSandboxForLocalDev(accountId, accountConfig, env) {
123
120
  }
124
121
  catch (err) {
125
122
  logError(err);
126
- process.exit(EXIT_CODES.ERROR);
123
+ throw err;
127
124
  }
128
125
  }
129
126
  // Create a developer test account and return its accountId
@@ -149,7 +146,7 @@ export async function createDeveloperTestAccountForLocalDev(accountId, accountCo
149
146
  else {
150
147
  logError(err);
151
148
  }
152
- process.exit(EXIT_CODES.ERROR);
149
+ throw err;
153
150
  }
154
151
  try {
155
152
  const { name } = await hubspotAccountNamePrompt({
@@ -157,12 +154,11 @@ export async function createDeveloperTestAccountForLocalDev(accountId, accountCo
157
154
  accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
158
155
  });
159
156
  trackCommandMetadataUsage('developer-test-account-create', { step: 'project-dev' }, accountId);
160
- const result = await buildDeveloperTestAccount(name, accountConfig, env, maxTestPortals, useV2);
161
- return result;
157
+ return await buildDeveloperTestAccount(name, accountConfig, env, maxTestPortals, useV2);
162
158
  }
163
159
  catch (err) {
164
160
  logError(err);
165
- process.exit(EXIT_CODES.ERROR);
161
+ throw err;
166
162
  }
167
163
  }
168
164
  // Prompt user to confirm usage of an existing developer test account that is not currently in the config
@@ -173,10 +169,11 @@ export async function useExistingDevTestAccount(env, account) {
173
169
  uiLogger.log(lib.localDevHelpers.account.confirmDefaultAccountIsTarget
174
170
  .declineDefaultAccountExplanation);
175
171
  uiLogger.log('');
176
- process.exit(EXIT_CODES.SUCCESS);
172
+ return false;
177
173
  }
178
174
  const devTestAcctConfigName = await saveAccountToConfig(account.id, account.accountName, env);
179
175
  uiLogger.success(lib.developerTestAccount.create.success.configFileUpdated(devTestAcctConfigName, PERSONAL_ACCESS_KEY_AUTH_METHOD.name));
176
+ return true;
180
177
  }
181
178
  export async function hasSandboxes(account) {
182
179
  const accountId = account.accountId;
@@ -1 +1 @@
1
- export declare function confirmLocalDevIsNotRunning(): Promise<void>;
1
+ export declare function isLocalDevRunning(): Promise<boolean>;
@@ -1,17 +1,11 @@
1
1
  import { LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID } from '../../../constants.js';
2
- import { EXIT_CODES } from '../../../enums/exitCodes.js';
3
2
  import { getServerPortByInstanceId } from '@hubspot/local-dev-lib/portManager';
4
- import { uiLogger } from '../../../ui/logger.js';
5
- import { commands } from '../../../../lang/en.js';
6
- export async function confirmLocalDevIsNotRunning() {
3
+ export async function isLocalDevRunning() {
7
4
  try {
8
5
  const existingPortInUse = await getServerPortByInstanceId(LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID);
9
- if (existingPortInUse) {
10
- uiLogger.error(commands.project.dev.errors.localDevAlreadyRunning);
11
- process.exit(EXIT_CODES.ERROR);
12
- }
6
+ return Boolean(existingPortInUse);
13
7
  }
14
- catch (error) {
15
- return;
8
+ catch {
9
+ return false;
16
10
  }
17
11
  }
@@ -2,11 +2,12 @@ import { type IntermediateRepresentationNode, type IntermediateRepresentationNod
2
2
  import { Build } from '@hubspot/local-dev-lib/types/Build';
3
3
  import { Project } from '@hubspot/local-dev-lib/types/Project';
4
4
  import { ProjectConfig } from '../../../../types/Projects.js';
5
- export declare function createNewProjectForLocalDev(projectConfig: ProjectConfig, targetAccountId: number, shouldCreateWithoutConfirmation: boolean, hasPublicApps: boolean): Promise<Project>;
6
- export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, sendIR?: boolean, profile?: string): Promise<Build>;
5
+ import { ExitFunction } from '../../../../types/Yargs.js';
6
+ export declare function createNewProjectForLocalDev(projectConfig: ProjectConfig, targetAccountId: number, shouldCreateWithoutConfirmation: boolean, hasPublicApps: boolean, exit: ExitFunction): Promise<Project>;
7
+ export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, exit: ExitFunction, sendIR?: boolean, profile?: string): Promise<Build>;
7
8
  export declare function compareLocalProjectToDeployed(projectConfig: ProjectConfig, accountId: number, deployedBuildId: number | undefined, localProjectNodes: {
8
9
  [key: string]: IntermediateRepresentationNodeLocalDev;
9
- }, profile?: string): Promise<void>;
10
+ }, exit: ExitFunction, profile?: string): Promise<void>;
10
11
  export declare function getDeployedProjectNodes(projectConfig: ProjectConfig, accountId: number, deployedBuildId: number, profile?: string): Promise<{
11
12
  [key: string]: IntermediateRepresentationNode;
12
13
  }>;
@@ -8,7 +8,7 @@ import { sanitizeFileName } from '@hubspot/local-dev-lib/path';
8
8
  import { isDeepEqual } from '@hubspot/local-dev-lib/isDeepEqual';
9
9
  import { translate, } from '@hubspot/project-parsing-lib/translate';
10
10
  import { isSpecifiedError } from '@hubspot/local-dev-lib/errors/index';
11
- import { PROJECT_ERROR_TYPES, PROJECT_BUILD_TEXT, PROJECT_DEPLOY_TEXT, } from '../../../constants.js';
11
+ import { PROJECT_ERROR_TYPES, PROJECT_BUILD_TEXT, PROJECT_DEPLOY_TEXT, PROJECT_CONFIG_FILE, } from '../../../constants.js';
12
12
  import { lib } from '../../../../lang/en.js';
13
13
  import { uiLogger } from '../../../ui/logger.js';
14
14
  import { uiLine } from '../../../ui/index.js';
@@ -22,7 +22,7 @@ import { debugError, logError } from '../../../errorHandlers/index.js';
22
22
  import { ApiErrorContext } from '../../../errorHandlers/index.js';
23
23
  import { getProjectPackageJsonLocations, hasMissingPackages, installPackages, } from '../../../dependencyManagement.js';
24
24
  // Prompt the user to create a new project if one doesn't exist on their target account
25
- export async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps) {
25
+ export async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps, exit) {
26
26
  // Create the project without prompting if this is a newly created sandbox
27
27
  let shouldCreateProject = shouldCreateWithoutConfirmation;
28
28
  if (!shouldCreateProject) {
@@ -54,7 +54,7 @@ export async function createNewProjectForLocalDev(projectConfig, targetAccountId
54
54
  SpinniesManager.fail('createProject');
55
55
  uiLogger.log(lib.localDevHelpers.project.createNewProjectForLocalDev
56
56
  .failedToCreateProject);
57
- process.exit(EXIT_CODES.ERROR);
57
+ return exit(EXIT_CODES.ERROR);
58
58
  }
59
59
  }
60
60
  else {
@@ -62,24 +62,24 @@ export async function createNewProjectForLocalDev(projectConfig, targetAccountId
62
62
  uiLogger.log('');
63
63
  uiLogger.log(lib.localDevHelpers.project.createNewProjectForLocalDev
64
64
  .choseNotToCreateProject);
65
- process.exit(EXIT_CODES.SUCCESS);
65
+ return exit(EXIT_CODES.SUCCESS);
66
66
  }
67
67
  }
68
- function projectUploadCallback(accountId, projectConfig, tempFile, buildId) {
68
+ function projectUploadCallback(accountId, projectConfig, tempFile, exit, buildId) {
69
69
  if (!buildId) {
70
70
  uiLogger.error(lib.localDevHelpers.project.createInitialBuildForNewProject.genericError);
71
- process.exit(EXIT_CODES.ERROR);
71
+ return exit(EXIT_CODES.ERROR);
72
72
  }
73
73
  return pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, true);
74
74
  }
75
75
  // Create an initial build if the project was newly created in the account
76
76
  // Return the newly deployed build
77
- export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR, profile) {
77
+ export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, exit, sendIR, profile) {
78
78
  const { result: initialUploadResult, uploadError } = await handleProjectUpload({
79
79
  accountId: targetAccountId,
80
80
  projectConfig,
81
81
  projectDir,
82
- callbackFunc: projectUploadCallback,
82
+ callbackFunc: (accountId, config, tempFile, buildId) => projectUploadCallback(accountId, config, tempFile, exit, buildId),
83
83
  uploadMessage: lib.localDevHelpers.project.createInitialBuildForNewProject
84
84
  .initialUploadMessage,
85
85
  forceCreate: true,
@@ -102,7 +102,7 @@ export async function createInitialBuildForNewProject(projectConfig, projectDir,
102
102
  projectName: projectConfig.name,
103
103
  }));
104
104
  }
105
- process.exit(EXIT_CODES.ERROR);
105
+ return exit(EXIT_CODES.ERROR);
106
106
  }
107
107
  if (!initialUploadResult?.succeeded) {
108
108
  let subTasks = [];
@@ -120,15 +120,15 @@ export async function createInitialBuildForNewProject(projectConfig, projectDir,
120
120
  uiLogger.error(failedSubTask.errorMessage);
121
121
  });
122
122
  uiLogger.log('');
123
- process.exit(EXIT_CODES.ERROR);
123
+ return exit(EXIT_CODES.ERROR);
124
124
  }
125
125
  return initialUploadResult.buildResult;
126
126
  }
127
- export async function compareLocalProjectToDeployed(projectConfig, accountId, deployedBuildId, localProjectNodes, profile) {
127
+ export async function compareLocalProjectToDeployed(projectConfig, accountId, deployedBuildId, localProjectNodes, exit, profile) {
128
128
  uiLogger.log('');
129
129
  if (!deployedBuildId) {
130
130
  uiLogger.error(lib.localDevHelpers.project.compareLocalProjectToDeployed.noDeployedBuild(projectConfig.name, uiAccountDescription(accountId)));
131
- process.exit(EXIT_CODES.SUCCESS);
131
+ return exit(EXIT_CODES.SUCCESS);
132
132
  }
133
133
  SpinniesManager.add('compareLocalProjectToDeployed', {
134
134
  text: lib.localDevHelpers.project.compareLocalProjectToDeployed.checking,
@@ -146,7 +146,7 @@ export async function compareLocalProjectToDeployed(projectConfig, accountId, de
146
146
  });
147
147
  uiLogger.log('');
148
148
  uiLogger.log(lib.localDevHelpers.project.compareLocalProjectToDeployed.notUpToDateExplanation(profile));
149
- process.exit(EXIT_CODES.SUCCESS);
149
+ return exit(EXIT_CODES.SUCCESS);
150
150
  }
151
151
  }
152
152
  export async function getDeployedProjectNodes(projectConfig, accountId, deployedBuildId, profile) {
@@ -155,7 +155,23 @@ export async function getDeployedProjectNodes(projectConfig, accountId, deployed
155
155
  tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'hubspot-project-compare-'));
156
156
  const { data: zippedProject } = await downloadProject(accountId, projectConfig.name, deployedBuildId);
157
157
  await extractZipArchive(zippedProject, sanitizeFileName(projectConfig.name), tempDir, { hideLogs: true });
158
- const deployedProjectSourceDir = path.join(tempDir, projectConfig.srcDir);
158
+ // Read the deployed project's hsproject.json to get its srcDir
159
+ // Deployed projects always use "src" as the srcDir
160
+ const possibleProjectPaths = [
161
+ path.join(tempDir, PROJECT_CONFIG_FILE),
162
+ path.join(tempDir, sanitizeFileName(projectConfig.name), PROJECT_CONFIG_FILE),
163
+ ];
164
+ let deployedSrcDir = 'src';
165
+ for (const projectJsonPath of possibleProjectPaths) {
166
+ if (await fs.pathExists(projectJsonPath)) {
167
+ const deployedProjectConfig = await fs.readJson(projectJsonPath);
168
+ if (deployedProjectConfig.srcDir) {
169
+ deployedSrcDir = deployedProjectConfig.srcDir;
170
+ }
171
+ break;
172
+ }
173
+ }
174
+ const deployedProjectSourceDir = path.join(tempDir, deployedSrcDir);
159
175
  const { intermediateNodesIndexedByUid } = await translate({
160
176
  projectSourceDir: deployedProjectSourceDir,
161
177
  platformVersion: projectConfig.platformVersion,
@@ -211,6 +227,6 @@ export async function checkAndInstallDependencies() {
211
227
  text: lib.localDevHelpers.project.checkAndInstallDependencies
212
228
  .dependenciesFailure,
213
229
  });
214
- process.exit(EXIT_CODES.ERROR);
230
+ throw e;
215
231
  }
216
232
  }
@@ -1,22 +1,5 @@
1
1
  import { Project } from '@hubspot/local-dev-lib/types/Project';
2
- export type ProjectInfo = {
3
- projectName: string;
4
- platformVersion: string;
5
- projectId: number;
6
- deployedBuildId: number;
7
- autoDeployEnabled: boolean;
8
- projectUrl?: string;
9
- app?: {
10
- name: string;
11
- id: number;
12
- uid: string;
13
- authType?: string;
14
- distributionType?: string;
15
- };
16
- components: {
17
- uid: string;
18
- type: string;
19
- }[];
20
- };
2
+ import { ProjectInfo } from '../../types/Projects.js';
3
+ export type { ProjectInfo };
21
4
  export declare function getProjectInfo(project: Project, platformVersion: string, accountId: number): Promise<ProjectInfo>;
22
- export declare function renderProjectInfo(projectInfo: ProjectInfo): Promise<void>;
5
+ export declare function logProjectInfo(projectInfo: ProjectInfo): void;