@hubspot/cli 7.4.7-experimental.0 → 7.4.7

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 (225) hide show
  1. package/api/migrate.d.ts +14 -4
  2. package/api/migrate.js +16 -2
  3. package/bin/cli.js +8 -183
  4. package/commands/account/auth.d.ts +10 -0
  5. package/commands/account/auth.js +188 -0
  6. package/commands/account/clean.js +38 -5
  7. package/commands/account/createOverride.d.ts +10 -0
  8. package/commands/account/createOverride.js +104 -0
  9. package/commands/account/info.js +38 -4
  10. package/commands/account/list.js +23 -5
  11. package/commands/account/remove.js +36 -2
  12. package/commands/account/removeOverride.d.ts +10 -0
  13. package/commands/account/removeOverride.js +76 -0
  14. package/commands/account/use.js +25 -3
  15. package/commands/account.js +7 -2
  16. package/commands/app/migrate.d.ts +6 -6
  17. package/commands/app/migrate.js +62 -45
  18. package/commands/app.js +0 -2
  19. package/commands/auth.js +14 -11
  20. package/commands/cms/lighthouseScore.js +7 -3
  21. package/commands/cms.js +1 -2
  22. package/commands/completion.js +2 -3
  23. package/commands/config/migrate.d.ts +10 -0
  24. package/commands/config/migrate.js +84 -0
  25. package/commands/config/set.d.ts +10 -0
  26. package/commands/config/set.js +34 -29
  27. package/commands/config.d.ts +4 -1
  28. package/commands/config.js +45 -11
  29. package/commands/create/api-sample.js +3 -1
  30. package/commands/create/website-theme.js +1 -1
  31. package/commands/create.js +7 -8
  32. package/commands/customObject/schema/delete.js +4 -1
  33. package/commands/customObject/schema/fetch-all.js +2 -1
  34. package/commands/customObject/schema/fetch.js +2 -1
  35. package/commands/customObject.js +3 -4
  36. package/commands/doctor.js +5 -6
  37. package/commands/feedback.js +7 -8
  38. package/commands/fetch.js +6 -7
  39. package/commands/filemanager.js +1 -2
  40. package/commands/function.js +1 -2
  41. package/commands/hubdb/clear.js +5 -6
  42. package/commands/hubdb/create.js +7 -8
  43. package/commands/hubdb/delete.js +8 -7
  44. package/commands/hubdb/fetch.js +4 -5
  45. package/commands/hubdb.js +1 -2
  46. package/commands/init.js +18 -20
  47. package/commands/lint.js +3 -4
  48. package/commands/list.js +5 -6
  49. package/commands/logs.js +12 -13
  50. package/commands/module/marketplace-validate.js +5 -6
  51. package/commands/module.js +1 -3
  52. package/commands/mv.js +4 -5
  53. package/commands/open.js +4 -5
  54. package/commands/project/add.d.ts +3 -7
  55. package/commands/project/add.js +28 -23
  56. package/commands/project/cloneApp.d.ts +6 -8
  57. package/commands/project/cloneApp.js +49 -45
  58. package/commands/project/create.d.ts +10 -1
  59. package/commands/project/create.js +85 -63
  60. package/commands/project/deploy.d.ts +3 -6
  61. package/commands/project/deploy.js +27 -25
  62. package/commands/project/dev/deprecatedFlow.js +32 -25
  63. package/commands/project/dev/index.d.ts +4 -2
  64. package/commands/project/dev/index.js +31 -18
  65. package/commands/project/dev/unifiedFlow.js +10 -11
  66. package/commands/project/download.d.ts +3 -7
  67. package/commands/project/download.js +18 -19
  68. package/commands/project/installDeps.d.ts +6 -1
  69. package/commands/project/installDeps.js +48 -32
  70. package/commands/project/listBuilds.d.ts +3 -7
  71. package/commands/project/listBuilds.js +32 -27
  72. package/commands/project/logs.d.ts +10 -1
  73. package/commands/project/logs.js +73 -65
  74. package/commands/project/migrate.d.ts +6 -0
  75. package/commands/project/migrate.js +71 -0
  76. package/commands/project/migrateApp.d.ts +3 -8
  77. package/commands/project/migrateApp.js +23 -20
  78. package/commands/project/open.d.ts +3 -7
  79. package/commands/project/open.js +29 -21
  80. package/commands/project/upload.d.ts +9 -1
  81. package/commands/project/upload.js +78 -54
  82. package/commands/project/watch.d.ts +6 -1
  83. package/commands/project/watch.js +95 -61
  84. package/commands/project.d.ts +3 -1
  85. package/commands/project.js +47 -35
  86. package/commands/remove.js +7 -5
  87. package/commands/sandbox/create.js +10 -11
  88. package/commands/sandbox/delete.js +18 -19
  89. package/commands/sandbox.js +1 -2
  90. package/commands/secret/addSecret.js +5 -6
  91. package/commands/secret/deleteSecret.js +12 -9
  92. package/commands/secret/listSecret.js +3 -4
  93. package/commands/secret/updateSecret.js +9 -8
  94. package/commands/secret.js +1 -2
  95. package/commands/theme/generate-selectors.js +5 -6
  96. package/commands/theme/marketplace-validate.js +5 -6
  97. package/commands/theme/preview.js +16 -16
  98. package/commands/theme.js +1 -2
  99. package/commands/upload.js +23 -24
  100. package/commands/watch.js +18 -19
  101. package/lang/en.d.ts +2806 -0
  102. package/lang/en.js +2659 -3300
  103. package/lang/en.lyaml +98 -41
  104. package/lib/accountTypes.d.ts +1 -0
  105. package/lib/accountTypes.js +12 -0
  106. package/lib/app/migrate.d.ts +10 -4
  107. package/lib/app/migrate.js +208 -94
  108. package/lib/app/migrate_legacy.d.ts +2 -2
  109. package/lib/app/migrate_legacy.js +10 -7
  110. package/lib/buildAccount.d.ts +1 -2
  111. package/lib/buildAccount.js +11 -10
  112. package/lib/commonOpts.d.ts +3 -4
  113. package/lib/commonOpts.js +46 -18
  114. package/lib/configMigrate.d.ts +2 -0
  115. package/lib/configMigrate.js +104 -0
  116. package/lib/configOptions.js +11 -10
  117. package/lib/constants.d.ts +4 -0
  118. package/lib/constants.js +5 -1
  119. package/lib/dependencyManagement.js +2 -2
  120. package/lib/doctor/Diagnosis.d.ts +1 -2
  121. package/lib/doctor/Diagnosis.js +19 -16
  122. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  123. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  124. package/lib/doctor/Doctor.d.ts +1 -0
  125. package/lib/doctor/Doctor.js +57 -44
  126. package/lib/errorHandlers/index.js +6 -7
  127. package/lib/errorHandlers/suppressError.js +6 -7
  128. package/lib/generateSelectors.js +1 -2
  129. package/lib/hasFeature.d.ts +3 -1
  130. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  131. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  132. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  133. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  134. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  135. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  136. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  137. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  138. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  139. package/lib/middleware/__test__/utils.test.js +53 -0
  140. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  141. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  142. package/lib/middleware/configMiddleware.d.ts +13 -0
  143. package/lib/middleware/configMiddleware.js +116 -0
  144. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  145. package/lib/middleware/fireAlarmMiddleware.js +123 -0
  146. package/lib/middleware/gitMiddleware.d.ts +2 -0
  147. package/lib/middleware/gitMiddleware.js +14 -0
  148. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  149. package/lib/middleware/notificationsMiddleware.js +38 -0
  150. package/lib/middleware/requestMiddleware.d.ts +1 -0
  151. package/lib/middleware/requestMiddleware.js +11 -0
  152. package/lib/middleware/utils.d.ts +8 -0
  153. package/lib/middleware/utils.js +17 -0
  154. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  155. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  156. package/lib/oauth.js +1 -2
  157. package/lib/process.js +1 -2
  158. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  159. package/lib/projects/ProjectLogsManager.js +16 -21
  160. package/lib/projects/buildAndDeploy.js +28 -39
  161. package/lib/projects/config.d.ts +9 -0
  162. package/lib/projects/config.js +79 -0
  163. package/lib/projects/create.js +5 -6
  164. package/lib/projects/ensureProjectExists.d.ts +11 -0
  165. package/lib/projects/ensureProjectExists.js +97 -0
  166. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  167. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  168. package/lib/{DevServerManagerV2.d.ts → projects/localDev/DevServerManagerV2.d.ts} +1 -1
  169. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +3 -4
  170. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  171. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +49 -82
  172. package/lib/{LocalDevManagerV2.d.ts → projects/localDev/LocalDevManagerV2.d.ts} +2 -2
  173. package/lib/{LocalDevManagerV2.js → projects/localDev/LocalDevManagerV2.js} +43 -75
  174. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
  175. package/lib/{localDev.js → projects/localDev/helpers.js} +97 -114
  176. package/lib/projects/ui.d.ts +1 -0
  177. package/lib/projects/ui.js +15 -0
  178. package/lib/projects/upload.d.ts +13 -2
  179. package/lib/projects/upload.js +18 -34
  180. package/lib/projects/urls.d.ts +1 -0
  181. package/lib/projects/urls.js +6 -0
  182. package/lib/projects/watch.d.ts +1 -1
  183. package/lib/projects/watch.js +21 -18
  184. package/lib/prompts/accountNamePrompt.js +16 -13
  185. package/lib/prompts/accountsPrompt.js +1 -2
  186. package/lib/prompts/cmsFieldPrompt.js +1 -2
  187. package/lib/prompts/createApiSamplePrompt.js +4 -5
  188. package/lib/prompts/createFunctionPrompt.js +13 -14
  189. package/lib/prompts/createModulePrompt.js +8 -9
  190. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  191. package/lib/prompts/createProjectPrompt.js +14 -9
  192. package/lib/prompts/createTemplatePrompt.js +1 -2
  193. package/lib/prompts/downloadProjectPrompt.js +3 -4
  194. package/lib/prompts/installPublicAppPrompt.js +6 -5
  195. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  196. package/lib/prompts/previewPrompt.js +5 -6
  197. package/lib/prompts/projectAddPrompt.js +4 -5
  198. package/lib/prompts/projectDevTargetAccountPrompt.js +11 -12
  199. package/lib/prompts/projectNamePrompt.js +5 -6
  200. package/lib/prompts/projectsLogsPrompt.js +3 -2
  201. package/lib/prompts/promptUtils.d.ts +1 -1
  202. package/lib/prompts/sandboxesPrompt.js +5 -6
  203. package/lib/prompts/secretPrompt.js +2 -3
  204. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  205. package/lib/prompts/selectPublicAppPrompt.js +6 -7
  206. package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
  207. package/lib/prompts/uploadPrompt.js +4 -5
  208. package/lib/sandboxSync.js +15 -14
  209. package/lib/sandboxes.js +12 -13
  210. package/lib/serverlessLogs.js +4 -6
  211. package/lib/ui/SpinniesManager.d.ts +1 -1
  212. package/lib/ui/boxen.d.ts +5 -0
  213. package/lib/ui/boxen.js +30 -0
  214. package/lib/ui/git.js +8 -9
  215. package/lib/ui/index.d.ts +4 -2
  216. package/lib/ui/index.js +16 -16
  217. package/lib/ui/logger.d.ts +10 -0
  218. package/lib/ui/logger.js +15 -0
  219. package/lib/ui/serverlessFunctionLogs.js +2 -3
  220. package/lib/ui/spinniesUtils.d.ts +5 -5
  221. package/lib/yargsUtils.d.ts +1 -1
  222. package/package.json +7 -6
  223. package/types/Yargs.d.ts +5 -11
  224. package/lib/projects/index.d.ts +0 -20
  225. package/lib/projects/index.js +0 -195
@@ -13,16 +13,15 @@ const config_1 = require("@hubspot/local-dev-lib/config");
13
13
  const environment_1 = require("@hubspot/local-dev-lib/environment");
14
14
  const errorHandlers_1 = require("../../../lib/errorHandlers");
15
15
  const exitCodes_1 = require("../../../lib/enums/exitCodes");
16
- const projects_1 = require("../../../lib/projects");
17
- const localDev_1 = require("../../../lib/localDev");
16
+ const ensureProjectExists_1 = require("../../../lib/projects/ensureProjectExists");
17
+ const helpers_1 = require("../../../lib/projects/localDev/helpers");
18
18
  const projectDevTargetAccountPrompt_1 = require("../../../lib/prompts/projectDevTargetAccountPrompt");
19
19
  const SpinniesManager_1 = __importDefault(require("../../../lib/ui/SpinniesManager"));
20
- const LocalDevManagerV2_1 = __importDefault(require("../../../lib/LocalDevManagerV2"));
20
+ const LocalDevManagerV2_1 = __importDefault(require("../../../lib/projects/localDev/LocalDevManagerV2"));
21
21
  const process_1 = require("../../../lib/process");
22
22
  const accountTypes_1 = require("../../../lib/accountTypes");
23
23
  const ui_1 = require("../../../lib/ui");
24
24
  const lang_1 = require("../../../lib/lang");
25
- const i18nKey = 'commands.project.subcommands.dev';
26
25
  async function unifiedProjectDevFlow(args, accountConfig, projectConfig, projectDir) {
27
26
  logger_1.logger.log('Unified Apps Local Dev');
28
27
  const targetProjectAccountId = args.derivedAccountId;
@@ -49,7 +48,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
49
48
  }
50
49
  // @TODO Do we need to do more than this or leave it to the dev servers?
51
50
  if (!Object.keys(projectNodes).length) {
52
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noRunnableComponents`, {
51
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noRunnableComponents`, {
53
52
  projectDir,
54
53
  command: (0, ui_1.uiCommandReference)('hs project add'),
55
54
  }));
@@ -61,7 +60,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
61
60
  // For now, check if the account is either developer or standard
62
61
  const derivedAccountIsRecommendedType = (0, accountTypes_1.isAppDeveloperAccount)(accountConfig) || (0, accountTypes_1.isStandardAccount)(accountConfig);
63
62
  if (!derivedAccountIsRecommendedType) {
64
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.invalidUnifiedAppsAccount`), {
63
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.invalidUnifiedAppsAccount`), {
65
64
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
66
65
  });
67
66
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
@@ -72,14 +71,14 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
72
71
  if (!!devAccountPromptResponse.notInConfigAccount) {
73
72
  // When the developer test account isn't configured in the CLI config yet
74
73
  // Walk the user through adding the account's PAK to the config
75
- await (0, localDev_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
74
+ await (0, helpers_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
76
75
  }
77
76
  else if (devAccountPromptResponse.createNestedAccount) {
78
77
  // 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
+ targetTestingAccountId = await (0, helpers_1.createDeveloperTestAccountForLocalDev)(targetProjectAccountId, accountConfig, env);
80
79
  }
81
80
  // Check if project exists in HubSpot
82
- const { projectExists, project: uploadedProject } = await (0, projects_1.ensureProjectExists)(targetProjectAccountId, projectConfig.name, {
81
+ const { projectExists, project: uploadedProject } = await (0, ensureProjectExists_1.ensureProjectExists)(targetProjectAccountId, projectConfig.name, {
83
82
  allowCreate: false,
84
83
  noLogs: true,
85
84
  });
@@ -92,8 +91,8 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
92
91
  isGithubLinked = Boolean(project.sourceIntegration && project.sourceIntegration.source === 'GITHUB');
93
92
  }
94
93
  else {
95
- project = await (0, localDev_1.createNewProjectForLocalDev)(projectConfig, targetProjectAccountId, false, false);
96
- deployedBuild = await (0, localDev_1.createInitialBuildForNewProject)(projectConfig, projectDir, targetProjectAccountId, true);
94
+ project = await (0, helpers_1.createNewProjectForLocalDev)(projectConfig, targetProjectAccountId, false, false);
95
+ deployedBuild = await (0, helpers_1.createInitialBuildForNewProject)(projectConfig, projectDir, targetProjectAccountId, true);
97
96
  }
98
97
  const LocalDev = new LocalDevManagerV2_1.default({
99
98
  projectNodes,
@@ -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;
@@ -3,44 +3,40 @@ 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.describe = exports.command = void 0;
7
- exports.handler = handler;
8
- exports.builder = builder;
9
6
  const index_1 = require("@hubspot/local-dev-lib/errors/index");
10
7
  const logger_1 = require("@hubspot/local-dev-lib/logger");
11
8
  const projects_1 = require("@hubspot/local-dev-lib/api/projects");
12
9
  const table_1 = require("../../lib/ui/table");
13
10
  const ui_1 = require("../../lib/ui");
14
- const projects_2 = require("../../lib/projects");
11
+ const config_1 = require("../../lib/projects/config");
15
12
  const urls_1 = require("../../lib/projects/urls");
16
13
  const moment_1 = __importDefault(require("moment"));
17
14
  const promptUtils_1 = require("../../lib/prompts/promptUtils");
18
- const commonOpts_1 = require("../../lib/commonOpts");
19
15
  const usageTracking_1 = require("../../lib/usageTracking");
20
16
  const lang_1 = require("../../lib/lang");
21
17
  const index_2 = require("../../lib/errorHandlers/index");
22
18
  const exitCodes_1 = require("../../lib/enums/exitCodes");
23
- const i18nKey = 'commands.project.subcommands.listBuilds';
24
- exports.command = 'list-builds';
25
- exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
19
+ const yargsUtils_1 = require("../../lib/yargsUtils");
20
+ const command = 'list-builds';
21
+ const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.describe`), false);
26
22
  async function fetchAndDisplayBuilds(accountId, project, options) {
27
23
  const { data: { results, paging }, } = await (0, projects_1.fetchProjectBuilds)(accountId, project.name, options);
28
24
  const currentDeploy = project.deployedBuildId;
29
25
  if (options && options.after) {
30
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.showingNextBuilds`, {
26
+ logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.showingNextBuilds`, {
31
27
  count: results.length,
32
28
  projectName: project.name,
33
29
  }));
34
30
  }
35
31
  else {
36
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.showingRecentBuilds`, {
32
+ logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.showingRecentBuilds`, {
37
33
  count: results.length,
38
34
  projectName: project.name,
39
- viewBuildsLink: (0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.logs.viewAllBuildsLink`), (0, urls_1.getProjectDetailUrl)(project.name, accountId)),
35
+ viewBuildsLink: (0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.viewAllBuildsLink`), (0, urls_1.getProjectDetailUrl)(project.name, accountId)),
40
36
  }));
41
37
  }
42
38
  if (results.length === 0) {
43
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.errors.noBuilds`));
39
+ logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.errors.noBuilds`));
44
40
  }
45
41
  else {
46
42
  const builds = results.map(build => {
@@ -70,7 +66,7 @@ async function fetchAndDisplayBuilds(accountId, project, options) {
70
66
  if (paging && paging.next) {
71
67
  await (0, promptUtils_1.promptUser)({
72
68
  name: 'more',
73
- message: (0, lang_1.i18n)(`${i18nKey}.continueOrExitPrompt`),
69
+ message: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.continueOrExitPrompt`),
74
70
  });
75
71
  await fetchAndDisplayBuilds(accountId, project, {
76
72
  limit: options.limit,
@@ -83,8 +79,8 @@ async function handler(args) {
83
79
  (0, usageTracking_1.trackCommandUsage)('project-list-builds', undefined, derivedAccountId);
84
80
  let projectName = projectFlagValue;
85
81
  if (!projectName) {
86
- const { projectConfig, projectDir } = await (0, projects_2.getProjectConfig)();
87
- (0, projects_2.validateProjectConfig)(projectConfig, projectDir);
82
+ const { projectConfig, projectDir } = await (0, config_1.getProjectConfig)();
83
+ (0, config_1.validateProjectConfig)(projectConfig, projectDir);
88
84
  projectName = projectConfig.name;
89
85
  }
90
86
  try {
@@ -93,7 +89,9 @@ async function handler(args) {
93
89
  }
94
90
  catch (e) {
95
91
  if ((0, index_1.isHubSpotHttpError)(e) && e.status === 404) {
96
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.projectNotFound`, { projectName }));
92
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.errors.projectNotFound`, {
93
+ projectName,
94
+ }));
97
95
  }
98
96
  else {
99
97
  (0, index_2.logError)(e, new index_2.ApiErrorContext({
@@ -104,28 +102,35 @@ async function handler(args) {
104
102
  }
105
103
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
106
104
  }
107
- function builder(yargs) {
108
- (0, commonOpts_1.addConfigOptions)(yargs);
109
- (0, commonOpts_1.addAccountOptions)(yargs);
110
- (0, commonOpts_1.addUseEnvironmentOptions)(yargs);
105
+ function projectListBuildsBuilder(yargs) {
111
106
  yargs.options({
112
107
  project: {
113
- describe: (0, lang_1.i18n)(`${i18nKey}.options.project.describe`),
108
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.options.project.describe`),
114
109
  type: 'string',
115
110
  },
116
111
  limit: {
117
- describe: (0, lang_1.i18n)(`${i18nKey}.options.limit.describe`),
112
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.options.limit.describe`),
118
113
  type: 'string',
119
114
  },
120
115
  });
121
116
  yargs.example([
122
- ['$0 project list-builds', (0, lang_1.i18n)(`${i18nKey}.examples.default`)],
117
+ [
118
+ '$0 project list-builds',
119
+ (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.examples.default`),
120
+ ],
123
121
  ]);
124
122
  return yargs;
125
123
  }
126
- module.exports = {
127
- command: exports.command,
128
- describe: exports.describe,
129
- builder,
124
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(projectListBuildsBuilder, command, describe, {
125
+ useGlobalOptions: true,
126
+ useConfigOptions: true,
127
+ useAccountOptions: true,
128
+ useEnvironmentOptions: true,
129
+ });
130
+ const projectListBuildsCommand = {
131
+ command,
132
+ describe,
130
133
  handler,
134
+ builder,
131
135
  };
136
+ exports.default = projectListBuildsCommand;
@@ -1 +1,10 @@
1
- export {};
1
+ import { CommonArgs, YargsCommandModule } from '../../types/Yargs';
2
+ export type ProjectLogsArgs = CommonArgs & {
3
+ function?: string;
4
+ latest?: boolean;
5
+ compact?: boolean;
6
+ tail?: boolean;
7
+ limit?: number;
8
+ };
9
+ declare const projectLogsCommand: YargsCommandModule<unknown, ProjectLogsArgs>;
10
+ export default projectLogsCommand;