@hubspot/cli 7.4.9-experimental.0 → 7.4.10-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/api/migrate.d.ts +14 -4
  2. package/api/migrate.js +16 -2
  3. package/bin/cli.js +9 -187
  4. package/commands/account/auth.d.ts +6 -0
  5. package/commands/account/auth.js +198 -0
  6. package/commands/account/clean.d.ts +3 -7
  7. package/commands/account/clean.js +54 -14
  8. package/commands/account/createOverride.d.ts +6 -0
  9. package/commands/account/createOverride.js +121 -0
  10. package/commands/account/info.d.ts +3 -7
  11. package/commands/account/info.js +51 -9
  12. package/commands/account/list.d.ts +3 -7
  13. package/commands/account/list.js +38 -13
  14. package/commands/account/remove.d.ts +3 -7
  15. package/commands/account/remove.js +57 -11
  16. package/commands/account/removeOverride.d.ts +6 -0
  17. package/commands/account/removeOverride.js +93 -0
  18. package/commands/account/rename.d.ts +3 -7
  19. package/commands/account/rename.js +16 -9
  20. package/commands/account/use.d.ts +5 -9
  21. package/commands/account/use.js +39 -9
  22. package/commands/account.d.ts +3 -4
  23. package/commands/account.js +35 -53
  24. package/commands/app/migrate.d.ts +5 -6
  25. package/commands/app/migrate.js +60 -44
  26. package/commands/app.d.ts +2 -5
  27. package/commands/app.js +9 -9
  28. package/commands/auth.d.ts +3 -7
  29. package/commands/auth.js +25 -15
  30. package/commands/cms/convertFields.d.ts +7 -1
  31. package/commands/cms/convertFields.js +57 -41
  32. package/commands/cms/getReactModule.d.ts +7 -1
  33. package/commands/cms/getReactModule.js +52 -34
  34. package/commands/cms/lighthouseScore.d.ts +8 -1
  35. package/commands/cms/lighthouseScore.js +133 -100
  36. package/commands/cms.d.ts +3 -1
  37. package/commands/cms.js +24 -16
  38. package/commands/completion.d.ts +3 -1
  39. package/commands/completion.js +25 -13
  40. package/commands/config/migrate.d.ts +6 -0
  41. package/commands/config/migrate.js +94 -0
  42. package/commands/config/set.d.ts +10 -1
  43. package/commands/config/set.js +61 -32
  44. package/commands/config.d.ts +3 -1
  45. package/commands/config.js +21 -11
  46. package/commands/create/api-sample.d.ts +3 -1
  47. package/commands/create/api-sample.js +34 -36
  48. package/commands/create/app.d.ts +3 -1
  49. package/commands/create/app.js +9 -7
  50. package/commands/create/function.d.ts +3 -1
  51. package/commands/create/function.js +11 -10
  52. package/commands/create/index.d.ts +5 -1
  53. package/commands/create/index.js +23 -11
  54. package/commands/create/module.d.ts +3 -1
  55. package/commands/create/module.js +14 -13
  56. package/commands/create/react-app.d.ts +3 -1
  57. package/commands/create/react-app.js +10 -7
  58. package/commands/create/template.d.ts +3 -1
  59. package/commands/create/template.js +14 -14
  60. package/commands/create/vue-app.d.ts +3 -1
  61. package/commands/create/vue-app.js +10 -7
  62. package/commands/create/webpack-serverless.d.ts +3 -1
  63. package/commands/create/webpack-serverless.js +10 -7
  64. package/commands/create/website-theme.d.ts +3 -1
  65. package/commands/create/website-theme.js +10 -9
  66. package/commands/create.d.ts +4 -24
  67. package/commands/create.js +64 -75
  68. package/commands/customObject/create.d.ts +4 -9
  69. package/commands/customObject/create.js +17 -10
  70. package/commands/customObject/schema/create.d.ts +4 -9
  71. package/commands/customObject/schema/create.js +18 -11
  72. package/commands/customObject/schema/delete.d.ts +4 -9
  73. package/commands/customObject/schema/delete.js +21 -11
  74. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  75. package/commands/customObject/schema/fetch-all.js +19 -11
  76. package/commands/customObject/schema/fetch.d.ts +4 -9
  77. package/commands/customObject/schema/fetch.js +19 -11
  78. package/commands/customObject/schema/list.d.ts +4 -8
  79. package/commands/customObject/schema/list.js +17 -10
  80. package/commands/customObject/schema/update.d.ts +4 -9
  81. package/commands/customObject/schema/update.js +18 -11
  82. package/commands/customObject/schema.d.ts +3 -5
  83. package/commands/customObject/schema.js +27 -54
  84. package/commands/customObject.d.ts +3 -4
  85. package/commands/customObject.js +22 -48
  86. package/commands/doctor.d.ts +6 -8
  87. package/commands/doctor.js +32 -22
  88. package/commands/feedback.d.ts +4 -1
  89. package/commands/feedback.js +40 -48
  90. package/commands/fetch.d.ts +12 -1
  91. package/commands/fetch.js +49 -34
  92. package/commands/filemanager/fetch.d.ts +4 -9
  93. package/commands/filemanager/fetch.js +18 -11
  94. package/commands/filemanager/upload.d.ts +4 -9
  95. package/commands/filemanager/upload.js +17 -11
  96. package/commands/filemanager.d.ts +3 -4
  97. package/commands/filemanager.js +20 -42
  98. package/commands/function/deploy.d.ts +6 -1
  99. package/commands/function/deploy.js +70 -50
  100. package/commands/function/list.d.ts +6 -1
  101. package/commands/function/list.js +44 -32
  102. package/commands/function/server.d.ts +10 -1
  103. package/commands/function/server.js +49 -38
  104. package/commands/function.d.ts +5 -1
  105. package/commands/function.js +24 -11
  106. package/commands/hubdb/clear.d.ts +4 -9
  107. package/commands/hubdb/clear.js +21 -15
  108. package/commands/hubdb/create.d.ts +4 -9
  109. package/commands/hubdb/create.js +23 -17
  110. package/commands/hubdb/delete.d.ts +4 -9
  111. package/commands/hubdb/delete.js +24 -16
  112. package/commands/hubdb/fetch.d.ts +4 -9
  113. package/commands/hubdb/fetch.js +20 -14
  114. package/commands/hubdb.d.ts +3 -2
  115. package/commands/hubdb.js +24 -47
  116. package/commands/init.d.ts +3 -7
  117. package/commands/init.js +28 -23
  118. package/commands/lint.d.ts +6 -4
  119. package/commands/lint.js +44 -44
  120. package/commands/list.d.ts +3 -7
  121. package/commands/list.js +23 -16
  122. package/commands/logs.d.ts +10 -1
  123. package/commands/logs.js +53 -45
  124. package/commands/module/marketplace-validate.d.ts +6 -1
  125. package/commands/module/marketplace-validate.js +39 -28
  126. package/commands/module.d.ts +3 -1
  127. package/commands/module.js +22 -12
  128. package/commands/mv.d.ts +3 -7
  129. package/commands/mv.js +22 -15
  130. package/commands/open.d.ts +3 -7
  131. package/commands/open.js +22 -15
  132. package/commands/project/add.d.ts +3 -7
  133. package/commands/project/add.js +28 -23
  134. package/commands/project/cloneApp.d.ts +6 -8
  135. package/commands/project/cloneApp.js +49 -45
  136. package/commands/project/create.d.ts +10 -1
  137. package/commands/project/create.js +85 -63
  138. package/commands/project/deploy.d.ts +4 -6
  139. package/commands/project/deploy.js +66 -36
  140. package/commands/project/dev/deprecatedFlow.js +32 -25
  141. package/commands/project/dev/index.d.ts +4 -5
  142. package/commands/project/dev/index.js +70 -25
  143. package/commands/project/dev/unifiedFlow.d.ts +2 -1
  144. package/commands/project/dev/unifiedFlow.js +58 -27
  145. package/commands/project/download.d.ts +3 -7
  146. package/commands/project/download.js +18 -19
  147. package/commands/project/installDeps.d.ts +6 -1
  148. package/commands/project/installDeps.js +48 -32
  149. package/commands/project/listBuilds.d.ts +3 -7
  150. package/commands/project/listBuilds.js +32 -27
  151. package/commands/project/logs.d.ts +10 -1
  152. package/commands/project/logs.js +73 -65
  153. package/commands/project/migrate.d.ts +7 -0
  154. package/commands/project/migrate.js +71 -0
  155. package/commands/project/migrateApp.d.ts +3 -8
  156. package/commands/project/migrateApp.js +23 -20
  157. package/commands/project/open.d.ts +3 -7
  158. package/commands/project/open.js +29 -21
  159. package/commands/project/profile/add.d.ts +7 -0
  160. package/commands/project/profile/add.js +190 -0
  161. package/commands/project/profile/remove.d.ts +6 -0
  162. package/commands/project/profile/remove.js +119 -0
  163. package/commands/project/profile.d.ts +3 -0
  164. package/commands/project/profile.js +25 -0
  165. package/commands/project/upload.d.ts +10 -1
  166. package/commands/project/upload.js +110 -56
  167. package/commands/project/watch.d.ts +6 -1
  168. package/commands/project/watch.js +95 -61
  169. package/commands/project.d.ts +3 -1
  170. package/commands/project.js +49 -35
  171. package/commands/remove.d.ts +3 -7
  172. package/commands/remove.js +25 -15
  173. package/commands/sandbox/create.d.ts +4 -9
  174. package/commands/sandbox/create.js +27 -21
  175. package/commands/sandbox/delete.d.ts +4 -9
  176. package/commands/sandbox/delete.js +35 -29
  177. package/commands/sandbox.d.ts +3 -4
  178. package/commands/sandbox.js +20 -44
  179. package/commands/secret/addSecret.d.ts +4 -9
  180. package/commands/secret/addSecret.js +21 -15
  181. package/commands/secret/deleteSecret.d.ts +4 -9
  182. package/commands/secret/deleteSecret.js +28 -18
  183. package/commands/secret/listSecret.d.ts +4 -9
  184. package/commands/secret/listSecret.js +19 -13
  185. package/commands/secret/updateSecret.d.ts +4 -9
  186. package/commands/secret/updateSecret.js +25 -17
  187. package/commands/secret.d.ts +3 -4
  188. package/commands/secret.js +25 -49
  189. package/commands/theme/generate-selectors.d.ts +3 -7
  190. package/commands/theme/generate-selectors.js +18 -11
  191. package/commands/theme/marketplace-validate.d.ts +4 -9
  192. package/commands/theme/marketplace-validate.js +21 -15
  193. package/commands/theme/preview.d.ts +4 -9
  194. package/commands/theme/preview.js +31 -24
  195. package/commands/theme.d.ts +3 -4
  196. package/commands/theme.js +23 -47
  197. package/commands/upload.d.ts +12 -1
  198. package/commands/upload.js +118 -98
  199. package/commands/watch.d.ts +14 -1
  200. package/commands/watch.js +76 -66
  201. package/lang/en.d.ts +2932 -0
  202. package/lang/en.js +2796 -3318
  203. package/lang/en.lyaml +120 -58
  204. package/lib/accountTypes.d.ts +1 -0
  205. package/lib/accountTypes.js +12 -0
  206. package/lib/app/migrate.d.ts +33 -4
  207. package/lib/app/migrate.js +218 -93
  208. package/lib/app/migrate_legacy.d.ts +2 -2
  209. package/lib/app/migrate_legacy.js +15 -12
  210. package/lib/app/urls.d.ts +16 -0
  211. package/lib/app/urls.js +16 -0
  212. package/lib/buildAccount.d.ts +1 -2
  213. package/lib/buildAccount.js +11 -10
  214. package/lib/commonOpts.d.ts +3 -4
  215. package/lib/commonOpts.js +46 -18
  216. package/lib/configMigrate.d.ts +2 -0
  217. package/lib/configMigrate.js +118 -0
  218. package/lib/configOptions.d.ts +4 -0
  219. package/lib/configOptions.js +41 -45
  220. package/lib/constants.d.ts +10 -0
  221. package/lib/constants.js +11 -1
  222. package/lib/dependencyManagement.d.ts +0 -5
  223. package/lib/dependencyManagement.js +14 -40
  224. package/lib/doctor/Diagnosis.d.ts +1 -2
  225. package/lib/doctor/Diagnosis.js +19 -16
  226. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  227. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  228. package/lib/doctor/Doctor.d.ts +1 -0
  229. package/lib/doctor/Doctor.js +59 -45
  230. package/lib/errorHandlers/index.js +6 -7
  231. package/lib/errorHandlers/suppressError.js +18 -26
  232. package/lib/filesystem.d.ts +1 -1
  233. package/lib/generateSelectors.js +1 -2
  234. package/lib/hasFeature.d.ts +3 -1
  235. package/lib/interpolation.d.ts +2 -3
  236. package/lib/lang.d.ts +2 -3
  237. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  238. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  239. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  240. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  241. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  242. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  243. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  244. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  245. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  246. package/lib/middleware/__test__/utils.test.js +53 -0
  247. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  248. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  249. package/lib/middleware/autoUpdateMiddleware.d.ts +1 -0
  250. package/lib/middleware/autoUpdateMiddleware.js +89 -0
  251. package/lib/middleware/configMiddleware.d.ts +13 -0
  252. package/lib/middleware/configMiddleware.js +124 -0
  253. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  254. package/lib/middleware/fireAlarmMiddleware.js +123 -0
  255. package/lib/middleware/gitMiddleware.d.ts +2 -0
  256. package/lib/middleware/gitMiddleware.js +14 -0
  257. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  258. package/lib/middleware/notificationsMiddleware.js +38 -0
  259. package/lib/middleware/requestMiddleware.d.ts +1 -0
  260. package/lib/middleware/requestMiddleware.js +11 -0
  261. package/lib/middleware/utils.d.ts +8 -0
  262. package/lib/middleware/utils.js +17 -0
  263. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  264. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  265. package/lib/npm.d.ts +9 -0
  266. package/lib/npm.js +36 -0
  267. package/lib/oauth.js +1 -2
  268. package/lib/process.js +1 -2
  269. package/lib/projectProfiles.d.ts +6 -0
  270. package/lib/projectProfiles.js +65 -0
  271. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  272. package/lib/projects/ProjectLogsManager.js +16 -21
  273. package/lib/projects/buildAndDeploy.js +45 -41
  274. package/lib/projects/config.d.ts +9 -0
  275. package/lib/projects/config.js +79 -0
  276. package/lib/projects/create.js +5 -6
  277. package/lib/projects/ensureProjectExists.d.ts +11 -0
  278. package/lib/projects/ensureProjectExists.js +97 -0
  279. package/lib/projects/localDev/AppDevModeInterface.d.ts +26 -0
  280. package/lib/projects/localDev/AppDevModeInterface.js +156 -0
  281. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  282. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  283. package/lib/projects/localDev/DevServerManagerV2.d.ts +22 -0
  284. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
  285. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  286. package/lib/projects/localDev/LocalDevLogger.js +158 -0
  287. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  288. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +57 -83
  289. package/lib/projects/localDev/LocalDevProcess.d.ts +27 -0
  290. package/lib/projects/localDev/LocalDevProcess.js +171 -0
  291. package/lib/projects/localDev/LocalDevState.d.ts +37 -0
  292. package/lib/projects/localDev/LocalDevState.js +78 -0
  293. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  294. package/lib/projects/localDev/LocalDevWatcher.js +56 -0
  295. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +17 -0
  296. package/lib/projects/localDev/LocalDevWebsocketServer.js +92 -0
  297. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
  298. package/lib/{localDev.js → projects/localDev/helpers.js} +98 -114
  299. package/lib/projects/ui.d.ts +1 -0
  300. package/lib/projects/ui.js +15 -0
  301. package/lib/projects/upload.d.ts +14 -2
  302. package/lib/projects/upload.js +19 -35
  303. package/lib/projects/urls.d.ts +1 -0
  304. package/lib/projects/urls.js +6 -0
  305. package/lib/projects/watch.d.ts +1 -1
  306. package/lib/projects/watch.js +21 -18
  307. package/lib/prompts/accountNamePrompt.js +16 -13
  308. package/lib/prompts/accountsPrompt.js +1 -2
  309. package/lib/prompts/cmsFieldPrompt.js +1 -2
  310. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  311. package/lib/prompts/createApiSamplePrompt.js +4 -5
  312. package/lib/prompts/createFunctionPrompt.js +13 -14
  313. package/lib/prompts/createModulePrompt.js +8 -9
  314. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  315. package/lib/prompts/createProjectPrompt.js +14 -9
  316. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  317. package/lib/prompts/createTemplatePrompt.js +1 -2
  318. package/lib/prompts/downloadProjectPrompt.js +3 -4
  319. package/lib/prompts/installAppPrompt.d.ts +1 -0
  320. package/lib/prompts/installAppPrompt.js +35 -0
  321. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  322. package/lib/prompts/previewPrompt.js +5 -6
  323. package/lib/prompts/projectAddPrompt.js +4 -5
  324. package/lib/prompts/projectDevTargetAccountPrompt.js +18 -12
  325. package/lib/prompts/projectNamePrompt.js +5 -6
  326. package/lib/prompts/projectsLogsPrompt.js +3 -2
  327. package/lib/prompts/promptUtils.d.ts +3 -2
  328. package/lib/prompts/promptUtils.js +2 -1
  329. package/lib/prompts/sandboxesPrompt.js +5 -6
  330. package/lib/prompts/secretPrompt.js +2 -3
  331. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  332. package/lib/prompts/selectPublicAppPrompt.js +6 -7
  333. package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
  334. package/lib/prompts/uploadPrompt.js +4 -5
  335. package/lib/sandboxSync.js +15 -14
  336. package/lib/sandboxes.js +12 -13
  337. package/lib/serverlessLogs.js +4 -6
  338. package/lib/testUtils.d.ts +3 -3
  339. package/lib/testUtils.js +8 -9
  340. package/lib/ui/SpinniesManager.d.ts +1 -1
  341. package/lib/ui/boxen.d.ts +5 -0
  342. package/lib/ui/boxen.js +30 -0
  343. package/lib/ui/git.js +8 -9
  344. package/lib/ui/index.d.ts +4 -2
  345. package/lib/ui/index.js +20 -17
  346. package/lib/ui/logger.d.ts +10 -0
  347. package/lib/ui/logger.js +15 -0
  348. package/lib/ui/serverlessFunctionLogs.js +2 -3
  349. package/lib/ui/spinniesUtils.d.ts +5 -5
  350. package/lib/upload.d.ts +1 -1
  351. package/lib/validation.js +4 -5
  352. package/lib/yargsUtils.d.ts +5 -1
  353. package/lib/yargsUtils.js +6 -0
  354. package/package.json +10 -6
  355. package/types/Cms.d.ts +30 -0
  356. package/types/Cms.js +2 -0
  357. package/types/LocalDev.d.ts +24 -0
  358. package/types/LocalDev.js +2 -0
  359. package/types/Yargs.d.ts +12 -11
  360. package/lib/DevServerManagerV2.d.ts +0 -33
  361. package/lib/LocalDevManagerV2.d.ts +0 -64
  362. package/lib/LocalDevManagerV2.js +0 -377
  363. package/lib/projects/index.d.ts +0 -20
  364. package/lib/projects/index.js +0 -194
  365. package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
  366. package/lib/prompts/installPublicAppPrompt.js +0 -40
@@ -1,52 +1,97 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describe = exports.command = void 0;
4
- exports.handler = handler;
5
- exports.builder = builder;
6
- const commonOpts_1 = require("../../../lib/commonOpts");
3
+ exports.builder = void 0;
7
4
  const usageTracking_1 = require("../../../lib/usageTracking");
8
5
  const lang_1 = require("../../../lib/lang");
9
6
  const logger_1 = require("@hubspot/local-dev-lib/logger");
10
7
  const config_1 = require("@hubspot/local-dev-lib/config");
11
- const projects_1 = require("../../../lib/projects");
8
+ const config_2 = require("../../../lib/projects/config");
12
9
  const exitCodes_1 = require("../../../lib/enums/exitCodes");
13
10
  const ui_1 = require("../../../lib/ui");
14
11
  const deprecatedFlow_1 = require("./deprecatedFlow");
15
12
  const unifiedFlow_1 = require("./unifiedFlow");
16
13
  const buildAndDeploy_1 = require("../../../lib/projects/buildAndDeploy");
17
- const i18nKey = 'commands.project.subcommands.dev';
18
- exports.command = 'dev';
19
- exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
14
+ const yargsUtils_1 = require("../../../lib/yargsUtils");
15
+ const projectProfiles_1 = require("../../../lib/projectProfiles");
16
+ const command = 'dev';
17
+ const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.dev.describe`), false);
20
18
  async function handler(args) {
21
- const { derivedAccountId } = args;
22
- const accountConfig = (0, config_1.getAccountConfig)(derivedAccountId);
23
- (0, usageTracking_1.trackCommandUsage)('project-dev', {}, derivedAccountId);
24
- const { projectConfig, projectDir } = await (0, projects_1.getProjectConfig)();
25
- (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.logs.betaMessage`));
26
- logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.logs.learnMoreLocalDevServer`), 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
27
- if (!projectConfig || !projectDir) {
28
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noProjectConfig`, {
19
+ const { derivedAccountId, providedAccountId } = args;
20
+ const { projectConfig, projectDir } = await (0, config_2.getProjectConfig)();
21
+ (0, config_2.validateProjectConfig)(projectConfig, projectDir);
22
+ if (!projectDir) {
23
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noProjectConfig`, {
29
24
  accountId: derivedAccountId,
30
25
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
31
26
  }));
32
27
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
33
28
  }
29
+ let targetAccountId = providedAccountId;
30
+ let profile;
31
+ if (!targetAccountId && (0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
32
+ if (args.profile) {
33
+ (0, projectProfiles_1.logProfileHeader)(args.profile);
34
+ profile = (0, projectProfiles_1.loadProfile)(projectConfig, projectDir, args.profile);
35
+ if (!profile) {
36
+ (0, ui_1.uiLine)();
37
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
38
+ }
39
+ targetAccountId = profile.accountId;
40
+ (0, projectProfiles_1.logProfileFooter)(profile);
41
+ }
42
+ else {
43
+ // A profile must be specified if this project has profiles configured
44
+ await (0, projectProfiles_1.exitIfUsingProfiles)(projectConfig, projectDir);
45
+ }
46
+ }
47
+ if (!targetAccountId) {
48
+ // The user is not using profiles, so we can use the derived accountId
49
+ targetAccountId = derivedAccountId;
50
+ }
51
+ (0, usageTracking_1.trackCommandUsage)('project-dev', {}, targetAccountId);
52
+ const accountConfig = (0, config_1.getAccountConfig)(targetAccountId);
53
+ (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.dev.logs.betaMessage`));
54
+ logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.dev.logs.learnMoreLocalDevServer`), 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
34
55
  if (!accountConfig) {
35
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noAccount`));
56
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noAccount`, {
57
+ accountId: (0, ui_1.uiAccountDescription)(targetAccountId),
58
+ authCommand: (0, ui_1.uiCommandReference)('hs auth'),
59
+ }));
36
60
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
37
61
  }
38
- (0, projects_1.validateProjectConfig)(projectConfig, projectDir);
39
- if ((0, buildAndDeploy_1.useV3Api)(projectConfig?.platformVersion)) {
40
- await (0, unifiedFlow_1.unifiedProjectDevFlow)(args, accountConfig, projectConfig, projectDir);
62
+ if ((0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
63
+ await (0, unifiedFlow_1.unifiedProjectDevFlow)(args, accountConfig, projectConfig, projectDir, profile);
41
64
  }
42
65
  else {
43
66
  await (0, deprecatedFlow_1.deprecatedProjectDevFlow)(args, accountConfig, projectConfig, projectDir);
44
67
  }
45
68
  }
46
- function builder(yargs) {
47
- (0, commonOpts_1.addConfigOptions)(yargs);
48
- (0, commonOpts_1.addAccountOptions)(yargs);
49
- (0, commonOpts_1.addUseEnvironmentOptions)(yargs);
50
- yargs.example([['$0 project dev', (0, lang_1.i18n)(`${i18nKey}.examples.default`)]]);
69
+ function projectDevBuilder(yargs) {
70
+ yargs.option('profile', {
71
+ type: 'string',
72
+ alias: 'p',
73
+ description: (0, lang_1.i18n)(`commands.project.subcommands.dev.options.profile`),
74
+ hidden: true,
75
+ });
76
+ yargs.example([
77
+ [
78
+ '$0 project dev',
79
+ (0, lang_1.i18n)(`commands.project.subcommands.dev.examples.default`),
80
+ ],
81
+ ]);
82
+ yargs.conflicts('profile', 'account');
51
83
  return yargs;
52
84
  }
85
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectDevBuilder, command, describe, {
86
+ useGlobalOptions: true,
87
+ useAccountOptions: true,
88
+ useConfigOptions: true,
89
+ useEnvironmentOptions: true,
90
+ });
91
+ const projectDevCommand = {
92
+ command,
93
+ describe,
94
+ handler,
95
+ builder: exports.builder,
96
+ };
97
+ exports.default = projectDevCommand;
@@ -1,5 +1,6 @@
1
1
  import { ArgumentsCamelCase } from 'yargs';
2
+ import { HsProfileFile } from '@hubspot/project-parsing-lib/src/lib/types';
2
3
  import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
3
4
  import { ProjectDevArgs } from '../../../types/Yargs';
4
5
  import { ProjectConfig } from '../../../types/Projects';
5
- export declare function unifiedProjectDevFlow(args: ArgumentsCamelCase<ProjectDevArgs>, accountConfig: CLIAccount, projectConfig: ProjectConfig, projectDir: string): Promise<void>;
6
+ export declare function unifiedProjectDevFlow(args: ArgumentsCamelCase<ProjectDevArgs>, accountConfig: CLIAccount, projectConfig: ProjectConfig, projectDir: string, profileConfig?: HsProfileFile): Promise<void>;
@@ -7,26 +7,30 @@ exports.unifiedProjectDevFlow = unifiedProjectDevFlow;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const util_1 = __importDefault(require("util"));
9
9
  const logger_1 = require("@hubspot/local-dev-lib/logger");
10
+ const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
10
11
  const errors_1 = require("@hubspot/project-parsing-lib/src/lib/errors");
11
12
  const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
12
13
  const config_1 = require("@hubspot/local-dev-lib/config");
13
14
  const environment_1 = require("@hubspot/local-dev-lib/environment");
14
15
  const errorHandlers_1 = require("../../../lib/errorHandlers");
15
16
  const exitCodes_1 = require("../../../lib/enums/exitCodes");
16
- const projects_1 = require("../../../lib/projects");
17
- const localDev_1 = require("../../../lib/localDev");
17
+ const ensureProjectExists_1 = require("../../../lib/projects/ensureProjectExists");
18
+ const helpers_1 = require("../../../lib/projects/localDev/helpers");
18
19
  const projectDevTargetAccountPrompt_1 = require("../../../lib/prompts/projectDevTargetAccountPrompt");
19
20
  const SpinniesManager_1 = __importDefault(require("../../../lib/ui/SpinniesManager"));
20
- const LocalDevManagerV2_1 = __importDefault(require("../../../lib/LocalDevManagerV2"));
21
+ const LocalDevProcess_1 = __importDefault(require("../../../lib/projects/localDev/LocalDevProcess"));
22
+ const LocalDevWatcher_1 = __importDefault(require("../../../lib/projects/localDev/LocalDevWatcher"));
21
23
  const process_1 = require("../../../lib/process");
22
24
  const accountTypes_1 = require("../../../lib/accountTypes");
23
25
  const ui_1 = require("../../../lib/ui");
24
26
  const lang_1 = require("../../../lib/lang");
25
- const i18nKey = 'commands.project.subcommands.dev';
26
- async function unifiedProjectDevFlow(args, accountConfig, projectConfig, projectDir) {
27
- logger_1.logger.log('Unified Apps Local Dev');
28
- const targetProjectAccountId = args.derivedAccountId;
27
+ // import LocalDevWebsocketServer from '../../../lib/projects/localDev/LocalDevWebsocketServer';
28
+ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, projectDir, profileConfig) {
29
+ const targetProjectAccountId = (0, getAccountIdentifier_1.getAccountIdentifier)(accountConfig);
29
30
  const env = (0, environment_1.getValidEnv)((0, config_1.getEnv)(targetProjectAccountId));
31
+ if (!targetProjectAccountId) {
32
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
33
+ }
30
34
  let projectNodes;
31
35
  // Get IR
32
36
  try {
@@ -34,7 +38,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
34
38
  projectSourceDir: path_1.default.join(projectDir, projectConfig.srcDir),
35
39
  platformVersion: projectConfig.platformVersion,
36
40
  accountId: targetProjectAccountId,
37
- });
41
+ }, { profile: args.profile });
38
42
  projectNodes = intermediateRepresentation.intermediateNodesIndexedByUid;
39
43
  logger_1.logger.debug(util_1.default.inspect(projectNodes, false, null, true));
40
44
  }
@@ -49,7 +53,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
49
53
  }
50
54
  // @TODO Do we need to do more than this or leave it to the dev servers?
51
55
  if (!Object.keys(projectNodes).length) {
52
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noRunnableComponents`, {
56
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noRunnableComponents`, {
53
57
  projectDir,
54
58
  command: (0, ui_1.uiCommandReference)('hs project add'),
55
59
  }));
@@ -60,26 +64,32 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
60
64
  // TODO Ideally this should require the user to target a Combined account
61
65
  // For now, check if the account is either developer or standard
62
66
  const derivedAccountIsRecommendedType = (0, accountTypes_1.isAppDeveloperAccount)(accountConfig) || (0, accountTypes_1.isStandardAccount)(accountConfig);
63
- if (!derivedAccountIsRecommendedType) {
64
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.invalidUnifiedAppsAccount`), {
67
+ if (!derivedAccountIsRecommendedType && !profileConfig) {
68
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.invalidUnifiedAppsAccount`), {
65
69
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
66
70
  });
67
71
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
68
72
  }
69
73
  let targetTestingAccountId = null;
70
- const devAccountPromptResponse = await (0, projectDevTargetAccountPrompt_1.selectDeveloperTestTargetAccountPrompt)(accounts, accountConfig);
71
- targetTestingAccountId = devAccountPromptResponse.targetAccountId;
72
- if (!!devAccountPromptResponse.notInConfigAccount) {
73
- // When the developer test account isn't configured in the CLI config yet
74
- // Walk the user through adding the account's PAK to the config
75
- await (0, localDev_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
74
+ if (profileConfig) {
75
+ // Bypass the prompt for the testing account if the user has a profile configured
76
+ targetTestingAccountId = profileConfig.accountId;
76
77
  }
77
- else if (devAccountPromptResponse.createNestedAccount) {
78
- // Create a new developer test account and automatically add it to the CLI config
79
- targetTestingAccountId = await (0, localDev_1.createDeveloperTestAccountForLocalDev)(targetProjectAccountId, accountConfig, env);
78
+ else {
79
+ const devAccountPromptResponse = await (0, projectDevTargetAccountPrompt_1.selectDeveloperTestTargetAccountPrompt)(accounts, accountConfig);
80
+ targetTestingAccountId = devAccountPromptResponse.targetAccountId;
81
+ if (!!devAccountPromptResponse.notInConfigAccount) {
82
+ // When the developer test account isn't configured in the CLI config yet
83
+ // Walk the user through adding the account's PAK to the config
84
+ await (0, helpers_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
85
+ }
86
+ else if (devAccountPromptResponse.createNestedAccount) {
87
+ // Create a new developer test account and automatically add it to the CLI config
88
+ targetTestingAccountId = await (0, helpers_1.createDeveloperTestAccountForLocalDev)(targetProjectAccountId, accountConfig, env);
89
+ }
80
90
  }
81
91
  // Check if project exists in HubSpot
82
- const { projectExists, project: uploadedProject } = await (0, projects_1.ensureProjectExists)(targetProjectAccountId, projectConfig.name, {
92
+ const { projectExists, project: uploadedProject } = await (0, ensureProjectExists_1.ensureProjectExists)(targetProjectAccountId, projectConfig.name, {
83
93
  allowCreate: false,
84
94
  noLogs: true,
85
95
  });
@@ -92,11 +102,12 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
92
102
  isGithubLinked = Boolean(project.sourceIntegration && project.sourceIntegration.source === 'GITHUB');
93
103
  }
94
104
  else {
95
- project = await (0, localDev_1.createNewProjectForLocalDev)(projectConfig, targetProjectAccountId, false, false);
96
- deployedBuild = await (0, localDev_1.createInitialBuildForNewProject)(projectConfig, projectDir, targetProjectAccountId, true);
105
+ project = await (0, helpers_1.createNewProjectForLocalDev)(projectConfig, targetProjectAccountId, false, false);
106
+ deployedBuild = await (0, helpers_1.createInitialBuildForNewProject)(projectConfig, projectDir, targetProjectAccountId, true, args.profile);
97
107
  }
98
- const LocalDev = new LocalDevManagerV2_1.default({
99
- projectNodes,
108
+ // End setup, start local dev process
109
+ const localDevProcess = new LocalDevProcess_1.default({
110
+ initialProjectNodes: projectNodes,
100
111
  debug: args.debug,
101
112
  deployedBuild,
102
113
  isGithubLinked,
@@ -107,6 +118,26 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
107
118
  projectId: project.id,
108
119
  env,
109
120
  });
110
- await LocalDev.start();
111
- (0, process_1.handleExit)(({ isSIGHUP }) => LocalDev.stop(!isSIGHUP));
121
+ await localDevProcess.start();
122
+ const watcher = new LocalDevWatcher_1.default(localDevProcess);
123
+ watcher.start();
124
+ // const websocketServer = new LocalDevWebsocketServer(
125
+ // localDevProcess,
126
+ // args.debug
127
+ // );
128
+ // await websocketServer.start();
129
+ (0, process_1.handleKeypress)(async (key) => {
130
+ if ((key.ctrl && key.name === 'c') || key.name === 'q') {
131
+ await Promise.all([
132
+ localDevProcess.stop(),
133
+ watcher.stop(),
134
+ // websocketServer.shutdown(),
135
+ ]);
136
+ }
137
+ });
138
+ (0, process_1.handleExit)(({ isSIGHUP }) => {
139
+ localDevProcess.stop(!isSIGHUP);
140
+ watcher.stop();
141
+ // websocketServer.shutdown();
142
+ });
112
143
  }
@@ -1,12 +1,8 @@
1
- import { Argv, ArgumentsCamelCase } from 'yargs';
2
- import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs } from '../../types/Yargs';
3
- export declare const command = "download";
4
- export declare const describe: string;
1
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
5
2
  type ProjectDownloadArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
6
3
  project?: string;
7
4
  dest?: string;
8
5
  build?: number;
9
6
  };
10
- export declare function handler(args: ArgumentsCamelCase<ProjectDownloadArgs>): Promise<void>;
11
- export declare const builder: (yargs: Argv) => Promise<Argv<ProjectDownloadArgs>>;
12
- export {};
7
+ declare const projectDownloadCommand: YargsCommandModule<unknown, ProjectDownloadArgs>;
8
+ export default projectDownloadCommand;
@@ -3,28 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.builder = exports.describe = exports.command = void 0;
7
- exports.handler = handler;
8
6
  const path_1 = __importDefault(require("path"));
9
7
  const path_2 = require("@hubspot/local-dev-lib/path");
10
8
  const logger_1 = require("@hubspot/local-dev-lib/logger");
11
9
  const archive_1 = require("@hubspot/local-dev-lib/archive");
12
10
  const projects_1 = require("@hubspot/local-dev-lib/api/projects");
13
11
  const index_1 = require("../../lib/errorHandlers/index");
14
- const projects_2 = require("../../lib/projects");
12
+ const config_1 = require("../../lib/projects/config");
15
13
  const downloadProjectPrompt_1 = require("../../lib/prompts/downloadProjectPrompt");
16
14
  const lang_1 = require("../../lib/lang");
17
15
  const ui_1 = require("../../lib/ui");
18
16
  const usageTracking_1 = require("../../lib/usageTracking");
19
17
  const exitCodes_1 = require("../../lib/enums/exitCodes");
20
18
  const yargsUtils_1 = require("../../lib/yargsUtils");
21
- const i18nKey = 'commands.project.subcommands.download';
22
- exports.command = 'download';
23
- exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
19
+ const command = 'download';
20
+ const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.download.describe`), false);
24
21
  async function handler(args) {
25
- const { projectConfig } = await (0, projects_2.getProjectConfig)();
22
+ const { projectConfig } = await (0, config_1.getProjectConfig)();
26
23
  if (projectConfig) {
27
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.warnings.cannotDownloadWithinProject`));
24
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.download.warnings.cannotDownloadWithinProject`));
28
25
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
29
26
  }
30
27
  const { dest, build, derivedAccountId } = args;
@@ -41,13 +38,13 @@ async function handler(args) {
41
38
  }
42
39
  }
43
40
  if (!buildNumberToDownload) {
44
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noBuildIdToDownload`));
41
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.download.errors.noBuildIdToDownload`));
45
42
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
46
43
  }
47
44
  const absoluteDestPath = dest ? path_1.default.resolve((0, path_2.getCwd)(), dest) : (0, path_2.getCwd)();
48
45
  const { data: zippedProject } = await (0, projects_1.downloadProject)(derivedAccountId, projectName, buildNumberToDownload);
49
46
  await (0, archive_1.extractZipArchive)(zippedProject, (0, path_2.sanitizeFileName)(projectName), path_1.default.resolve(absoluteDestPath), { includesRootDir: false });
50
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.downloadSucceeded`, {
47
+ logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.download.logs.downloadSucceeded`, {
51
48
  buildId: buildNumberToDownload,
52
49
  projectName,
53
50
  }));
@@ -64,15 +61,15 @@ async function handler(args) {
64
61
  function projectDownloadBuilder(yargs) {
65
62
  yargs.options({
66
63
  project: {
67
- describe: (0, lang_1.i18n)(`${i18nKey}.options.project.describe`),
64
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.download.options.project.describe`),
68
65
  type: 'string',
69
66
  },
70
67
  dest: {
71
- describe: (0, lang_1.i18n)(`${i18nKey}.options.dest.describe`),
68
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.download.options.dest.describe`),
72
69
  type: 'string',
73
70
  },
74
71
  build: {
75
- describe: (0, lang_1.i18n)(`${i18nKey}.options.build.describe`),
72
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.download.options.build.describe`),
76
73
  alias: ['build-id'],
77
74
  type: 'number',
78
75
  },
@@ -80,19 +77,21 @@ function projectDownloadBuilder(yargs) {
80
77
  yargs.example([
81
78
  [
82
79
  '$0 project download --project=myProject --dest=myProjectFolder',
83
- (0, lang_1.i18n)(`${i18nKey}.examples.default`),
80
+ (0, lang_1.i18n)(`commands.project.subcommands.download.examples.default`),
84
81
  ],
85
82
  ]);
86
83
  return yargs;
87
84
  }
88
- exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectDownloadBuilder, exports.command, exports.describe, {
85
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(projectDownloadBuilder, command, describe, {
86
+ useGlobalOptions: true,
89
87
  useConfigOptions: true,
90
88
  useAccountOptions: true,
91
89
  useEnvironmentOptions: true,
92
90
  });
93
- module.exports = {
94
- command: exports.command,
95
- describe: exports.describe,
96
- builder: exports.builder,
91
+ const projectDownloadCommand = {
92
+ command,
93
+ describe,
97
94
  handler,
95
+ builder,
98
96
  };
97
+ exports.default = projectDownloadCommand;
@@ -1 +1,6 @@
1
- export {};
1
+ import { CommonArgs, YargsCommandModule } from '../../types/Yargs';
2
+ export type ProjectInstallDepsArgs = CommonArgs & {
3
+ packages?: string[];
4
+ };
5
+ declare const projectInstallDepsCommand: YargsCommandModule<unknown, ProjectInstallDepsArgs>;
6
+ export default projectInstallDepsCommand;
@@ -1,43 +1,46 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { installPackages, getProjectPackageJsonLocations, } = require('../../lib/dependencyManagement');
5
- const { logger } = require('@hubspot/local-dev-lib/logger');
6
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
7
- const { getProjectConfig } = require('../../lib/projects');
8
- const { promptUser } = require('../../lib/prompts/promptUtils');
9
- const path = require('path');
10
- const { i18n } = require('../../lib/lang');
11
- const { trackCommandUsage } = require('../../lib/usageTracking');
12
- const { uiBetaTag } = require('../../lib/ui');
13
- const i18nKey = `commands.project.subcommands.installDeps`;
14
- exports.command = 'install-deps [packages..]';
15
- exports.describe = uiBetaTag(i18n(`${i18nKey}.help.describe`), false);
16
- exports.handler = async (options) => {
17
- const { derivedAccountId, packages } = options || {};
6
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
7
+ const dependencyManagement_1 = require("../../lib/dependencyManagement");
8
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
9
+ const config_1 = require("../../lib/projects/config");
10
+ const promptUtils_1 = require("../../lib/prompts/promptUtils");
11
+ const path_1 = __importDefault(require("path"));
12
+ const lang_1 = require("../../lib/lang");
13
+ const usageTracking_1 = require("../../lib/usageTracking");
14
+ const ui_1 = require("../../lib/ui");
15
+ const errorHandlers_1 = require("../../lib/errorHandlers");
16
+ const yargsUtils_1 = require("../../lib/yargsUtils");
17
+ const command = 'install-deps [packages..]';
18
+ const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.describe`), false);
19
+ async function handler(args) {
20
+ const { derivedAccountId, packages } = args;
18
21
  try {
19
- trackCommandUsage('project-install-deps', null, derivedAccountId);
20
- const projectConfig = await getProjectConfig();
22
+ (0, usageTracking_1.trackCommandUsage)('project-install-deps', undefined, derivedAccountId);
23
+ const projectConfig = await (0, config_1.getProjectConfig)();
21
24
  if (!projectConfig || !projectConfig.projectDir) {
22
- logger.error(i18n(`${i18nKey}.noProjectConfig`));
23
- return process.exit(EXIT_CODES.ERROR);
25
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.installDeps.noProjectConfig`));
26
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
24
27
  }
25
28
  const { projectDir } = projectConfig;
26
- let installLocations = await getProjectPackageJsonLocations();
29
+ let installLocations = await (0, dependencyManagement_1.getProjectPackageJsonLocations)();
27
30
  if (packages) {
28
- const { selectedInstallLocations } = await promptUser([
31
+ const { selectedInstallLocations } = await (0, promptUtils_1.promptUser)([
29
32
  {
30
33
  name: 'selectedInstallLocations',
31
34
  type: 'checkbox',
32
35
  when: () => packages && packages.length > 0,
33
- message: i18n(`${i18nKey}.installLocationPrompt`),
36
+ message: (0, lang_1.i18n)(`commands.project.subcommands.installDeps.installLocationPrompt`),
34
37
  choices: installLocations.map(dir => ({
35
- name: path.relative(projectDir, dir),
38
+ name: path_1.default.relative(projectDir, dir),
36
39
  value: dir,
37
40
  })),
38
41
  validate: choices => {
39
42
  if (choices === undefined || choices.length === 0) {
40
- return i18n(`${i18nKey}.installLocationPromptRequired`);
43
+ return (0, lang_1.i18n)(`commands.project.subcommands.installDeps.installLocationPromptRequired`);
41
44
  }
42
45
  return true;
43
46
  },
@@ -47,23 +50,36 @@ exports.handler = async (options) => {
47
50
  installLocations = selectedInstallLocations;
48
51
  }
49
52
  }
50
- await installPackages({
53
+ await (0, dependencyManagement_1.installPackages)({
51
54
  packages,
52
55
  installLocations,
53
56
  });
54
57
  }
55
58
  catch (e) {
56
- logger.debug(e);
57
- logger.error(e.message);
58
- return process.exit(EXIT_CODES.ERROR);
59
+ (0, errorHandlers_1.logError)(e);
60
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
59
61
  }
60
- };
61
- exports.builder = yargs => {
62
+ }
63
+ function projectInstallDepsBuilder(yargs) {
62
64
  yargs.example([
63
- ['$0 project install-deps', i18n(`${i18nKey}.help.installAppDepsExample`)],
65
+ [
66
+ '$0 project install-deps',
67
+ (0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.installAppDepsExample`),
68
+ ],
64
69
  [
65
70
  '$0 project install-deps dependency1 dependency2',
66
- i18n(`${i18nKey}.help.addDepToSubComponentExample`),
71
+ (0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.addDepToSubComponentExample`),
67
72
  ],
68
73
  ]);
74
+ return yargs;
75
+ }
76
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(projectInstallDepsBuilder, command, describe, {
77
+ useGlobalOptions: true,
78
+ });
79
+ const projectInstallDepsCommand = {
80
+ command,
81
+ describe,
82
+ handler,
83
+ builder,
69
84
  };
85
+ exports.default = projectInstallDepsCommand;
@@ -1,11 +1,7 @@
1
- import { Argv, ArgumentsCamelCase } from 'yargs';
2
- import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs } from '../../types/Yargs';
3
- export declare const command = "list-builds";
4
- export declare const describe: string;
1
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
5
2
  type ProjectListBuildsArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
6
3
  project?: string;
7
4
  limit?: number;
8
5
  };
9
- export declare function handler(args: ArgumentsCamelCase<ProjectListBuildsArgs>): Promise<void>;
10
- export declare function builder(yargs: Argv): Argv<ProjectListBuildsArgs>;
11
- export {};
6
+ declare const projectListBuildsCommand: YargsCommandModule<unknown, ProjectListBuildsArgs>;
7
+ export default projectListBuildsCommand;