@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
@@ -1 +1,6 @@
1
- export {};
1
+ import { CommonArgs, AccountArgs, ConfigArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
2
+ type ProjectWatchArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
3
+ initialUpload?: boolean;
4
+ };
5
+ declare const projectWatchCommand: YargsCommandModule<unknown, ProjectWatchArgs>;
6
+ export default projectWatchCommand;
@@ -1,92 +1,111 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { i18n } = require('../../lib/lang');
5
- const { createWatcher } = require('../../lib/projects/watch');
6
- const { logError, ApiErrorContext } = require('../../lib/errorHandlers/index');
7
- const { logger } = require('@hubspot/local-dev-lib/logger');
8
- const { PROJECT_ERROR_TYPES } = require('../../lib/constants');
9
- const { addAccountOptions, addConfigOptions, addUseEnvironmentOptions, } = require('../../lib/commonOpts');
10
- const { trackCommandUsage } = require('../../lib/usageTracking');
11
- const { uiBetaTag } = require('../../lib/ui');
12
- const { ensureProjectExists, getProjectConfig, validateProjectConfig, logFeedbackMessage, } = require('../../lib/projects');
13
- const { handleProjectUpload } = require('../../lib/projects/upload');
14
- const { pollBuildStatus, pollDeployStatus, } = require('../../lib/projects/buildAndDeploy');
15
- const { cancelStagedBuild, fetchProjectBuilds, } = require('@hubspot/local-dev-lib/api/projects');
16
- const { isSpecifiedError } = require('@hubspot/local-dev-lib/errors/index');
17
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
18
- const { handleKeypress, handleExit } = require('../../lib/process');
19
- const i18nKey = 'commands.project.subcommands.watch';
20
- exports.command = 'watch';
21
- exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
22
- const handleBuildStatus = async (accountId, projectName, buildId) => {
23
- const { isAutoDeployEnabled, deployStatusTaskLocator } = await pollBuildStatus(accountId, projectName, buildId);
3
+ const projects_1 = require("@hubspot/local-dev-lib/api/projects");
4
+ const index_1 = require("@hubspot/local-dev-lib/errors/index");
5
+ const buildAndDeploy_1 = require("../../lib/projects/buildAndDeploy");
6
+ const ui_1 = require("../../lib/ui");
7
+ const lang_1 = require("../../lib/lang");
8
+ const watch_1 = require("../../lib/projects/watch");
9
+ const index_2 = require("../../lib/errorHandlers/index");
10
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
11
+ const constants_1 = require("../../lib/constants");
12
+ const usageTracking_1 = require("../../lib/usageTracking");
13
+ const config_1 = require("../../lib/projects/config");
14
+ const ui_2 = require("../../lib/projects/ui");
15
+ const upload_1 = require("../../lib/projects/upload");
16
+ const buildAndDeploy_2 = require("../../lib/projects/buildAndDeploy");
17
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
18
+ const process_1 = require("../../lib/process");
19
+ const yargsUtils_1 = require("../../lib/yargsUtils");
20
+ const command = 'watch';
21
+ const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.watch.describe`), false);
22
+ async function handleBuildStatus(accountId, projectName, buildId) {
23
+ const { isAutoDeployEnabled, deployStatusTaskLocator } = await (0, buildAndDeploy_2.pollBuildStatus)(accountId, projectName, buildId, null);
24
24
  if (isAutoDeployEnabled && deployStatusTaskLocator) {
25
- await pollDeployStatus(accountId, projectName, deployStatusTaskLocator.id, buildId);
25
+ await (0, buildAndDeploy_2.pollDeployStatus)(accountId, projectName, Number(deployStatusTaskLocator.id), buildId);
26
26
  }
27
- logFeedbackMessage(buildId);
28
- };
29
- const handleUserInput = (accountId, projectName, currentBuildId) => {
27
+ (0, ui_2.logFeedbackMessage)(buildId);
28
+ }
29
+ function handleUserInput(accountId, projectName, currentBuildId) {
30
30
  const onTerminate = async () => {
31
- logger.log(i18n(`${i18nKey}.logs.processExited`));
31
+ logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.watch.logs.processExited`));
32
32
  if (currentBuildId) {
33
33
  try {
34
- await cancelStagedBuild(accountId, projectName);
35
- process.exit(EXIT_CODES.SUCCESS);
34
+ await (0, projects_1.cancelStagedBuild)(accountId, projectName);
35
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
36
36
  }
37
37
  catch (err) {
38
- if (isSpecifiedError(err, {
39
- subCategory: PROJECT_ERROR_TYPES.BUILD_NOT_IN_PROGRESS,
38
+ if ((0, index_1.isSpecifiedError)(err, {
39
+ subCategory: constants_1.PROJECT_ERROR_TYPES.BUILD_NOT_IN_PROGRESS,
40
40
  })) {
41
- process.exit(EXIT_CODES.SUCCESS);
41
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
42
42
  }
43
43
  else {
44
- logError(err, new ApiErrorContext({ accountId }));
45
- process.exit(EXIT_CODES.ERROR);
44
+ (0, index_2.logError)(err, new index_2.ApiErrorContext({ accountId }));
45
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
46
46
  }
47
47
  }
48
48
  }
49
49
  else {
50
- process.exit(EXIT_CODES.SUCCESS);
50
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
51
51
  }
52
52
  };
53
- handleExit(onTerminate);
54
- handleKeypress(key => {
53
+ (0, process_1.handleExit)(onTerminate);
54
+ (0, process_1.handleKeypress)(key => {
55
55
  if ((key.ctrl && key.name === 'c') || key.name === 'q') {
56
56
  onTerminate();
57
57
  }
58
58
  });
59
- };
60
- exports.handler = async (options) => {
61
- const { initialUpload, derivedAccountId } = options;
62
- trackCommandUsage('project-watch', null, derivedAccountId);
63
- const { projectConfig, projectDir } = await getProjectConfig();
64
- validateProjectConfig(projectConfig, projectDir);
65
- await ensureProjectExists(derivedAccountId, projectConfig.name);
59
+ }
60
+ async function handler(args) {
61
+ const { initialUpload, derivedAccountId } = args;
62
+ (0, usageTracking_1.trackCommandUsage)('project-watch', undefined, derivedAccountId);
63
+ const { projectConfig, projectDir } = await (0, config_1.getProjectConfig)();
64
+ (0, config_1.validateProjectConfig)(projectConfig, projectDir);
65
+ if (!projectConfig || !projectDir) {
66
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.watch.errors.projectConfigNotFound`));
67
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
68
+ }
69
+ if ((0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
70
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.watch.errors.v3ApiError`, {
71
+ command: (0, ui_1.uiCommandReference)('hs project watch'),
72
+ newCommand: (0, ui_1.uiCommandReference)('hs project dev'),
73
+ platformVersion: projectConfig.platformVersion,
74
+ linkToDocs: (0, ui_1.uiLink)('How to develop locally.', 'https://developers.hubspot.com/docs/guides/crm/ui-extensions/local-development'),
75
+ }));
76
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
77
+ }
78
+ (0, config_1.validateProjectConfig)(projectConfig, projectDir);
66
79
  try {
67
- const { data: { results: builds }, } = await fetchProjectBuilds(derivedAccountId, projectConfig.name, options);
80
+ const { data: { results: builds }, } = await (0, projects_1.fetchProjectBuilds)(derivedAccountId, projectConfig.name);
68
81
  const hasNoBuilds = !builds || !builds.length;
69
82
  const startWatching = async () => {
70
- await createWatcher(derivedAccountId, projectConfig, projectDir, handleBuildStatus, handleUserInput);
83
+ await (0, watch_1.createWatcher)(derivedAccountId, projectConfig, projectDir, handleBuildStatus, handleUserInput);
71
84
  };
72
85
  // Upload all files if no build exists for this project yet
73
86
  if (initialUpload || hasNoBuilds) {
74
- const { uploadError } = await handleProjectUpload(derivedAccountId, projectConfig, projectDir, startWatching);
87
+ const { uploadError } = await (0, upload_1.handleProjectUpload)({
88
+ accountId: derivedAccountId,
89
+ projectConfig,
90
+ projectDir,
91
+ callbackFunc: startWatching,
92
+ isUploadCommand: false,
93
+ });
75
94
  if (uploadError) {
76
- if (isSpecifiedError(uploadError, {
77
- subCategory: PROJECT_ERROR_TYPES.PROJECT_LOCKED,
95
+ if ((0, index_1.isSpecifiedError)(uploadError, {
96
+ subCategory: constants_1.PROJECT_ERROR_TYPES.PROJECT_LOCKED,
78
97
  })) {
79
- logger.log();
80
- logger.error(i18n(`${i18nKey}.errors.projectLockedError`));
81
- logger.log();
98
+ logger_1.logger.log();
99
+ logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.watch.errors.projectLockedError`));
100
+ logger_1.logger.log();
82
101
  }
83
102
  else {
84
- logError(uploadError, new ApiErrorContext({
103
+ (0, index_2.logError)(uploadError, new index_2.ApiErrorContext({
85
104
  accountId: derivedAccountId,
86
105
  request: 'project upload',
87
106
  }));
88
107
  }
89
- process.exit(EXIT_CODES.ERROR);
108
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
90
109
  }
91
110
  }
92
111
  else {
@@ -94,18 +113,33 @@ exports.handler = async (options) => {
94
113
  }
95
114
  }
96
115
  catch (e) {
97
- logError(e, new ApiErrorContext({ accountId: derivedAccountId }));
116
+ (0, index_2.logError)(e, new index_2.ApiErrorContext({ accountId: derivedAccountId }));
98
117
  }
99
- };
100
- exports.builder = yargs => {
118
+ }
119
+ function projectWatchBuilder(yargs) {
101
120
  yargs.option('initial-upload', {
102
121
  alias: 'i',
103
- describe: i18n(`${i18nKey}.options.initialUpload.describe`),
122
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.watch.options.initialUpload.describe`),
104
123
  type: 'boolean',
105
124
  });
106
- yargs.example([['$0 project watch', i18n(`${i18nKey}.examples.default`)]]);
107
- addConfigOptions(yargs);
108
- addAccountOptions(yargs);
109
- addUseEnvironmentOptions(yargs);
125
+ yargs.example([
126
+ [
127
+ '$0 project watch',
128
+ (0, lang_1.i18n)(`commands.project.subcommands.watch.examples.default`),
129
+ ],
130
+ ]);
110
131
  return yargs;
132
+ }
133
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(projectWatchBuilder, command, describe, {
134
+ useGlobalOptions: true,
135
+ useAccountOptions: true,
136
+ useConfigOptions: true,
137
+ useEnvironmentOptions: true,
138
+ });
139
+ const projectWatchCommand = {
140
+ command,
141
+ describe,
142
+ handler,
143
+ builder,
111
144
  };
145
+ exports.default = projectWatchCommand;
@@ -1 +1,3 @@
1
- export {};
1
+ import { YargsCommandModuleBucket } from '../types/Yargs';
2
+ declare const projectCommand: YargsCommandModuleBucket;
3
+ export default projectCommand;
@@ -1,41 +1,53 @@
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 { addGlobalOptions } = require('../lib/commonOpts');
5
- const { i18n } = require('../lib/lang');
6
- const { uiBetaTag } = require('../lib/ui');
7
- const deploy = require('./project/deploy');
8
- const create = require('./project/create');
9
- const upload = require('./project/upload');
10
- const listBuilds = require('./project/listBuilds');
11
- const logs = require('./project/logs');
12
- const watch = require('./project/watch');
13
- const download = require('./project/download');
14
- const open = require('./project/open');
15
- const dev = require('./project/dev');
16
- const add = require('./project/add');
17
- const migrateApp = require('./project/migrateApp');
18
- const cloneApp = require('./project/cloneApp');
19
- const installDeps = require('./project/installDeps');
20
- const i18nKey = 'commands.project';
21
- exports.command = ['project', 'projects'];
22
- exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
23
- exports.builder = yargs => {
24
- addGlobalOptions(yargs);
6
+ const lang_1 = require("../lib/lang");
7
+ const ui_1 = require("../lib/ui");
8
+ const deploy_1 = __importDefault(require("./project/deploy"));
9
+ const create_1 = __importDefault(require("./project/create"));
10
+ const upload_1 = __importDefault(require("./project/upload"));
11
+ const listBuilds_1 = __importDefault(require("./project/listBuilds"));
12
+ const logs_1 = __importDefault(require("./project/logs"));
13
+ const watch_1 = __importDefault(require("./project/watch"));
14
+ const download_1 = __importDefault(require("./project/download"));
15
+ const open_1 = __importDefault(require("./project/open"));
16
+ const dev_1 = __importDefault(require("./project/dev"));
17
+ const add_1 = __importDefault(require("./project/add"));
18
+ const migrate_1 = __importDefault(require("./project/migrate"));
19
+ const migrateApp_1 = __importDefault(require("./project/migrateApp"));
20
+ const cloneApp_1 = __importDefault(require("./project/cloneApp"));
21
+ const installDeps_1 = __importDefault(require("./project/installDeps"));
22
+ const yargsUtils_1 = require("../lib/yargsUtils");
23
+ const command = ['project', 'projects'];
24
+ const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.describe`), false);
25
+ function projectBuilder(yargs) {
25
26
  yargs
26
- .command(create)
27
- .command(add)
28
- .command(watch)
29
- .command(dev)
30
- .command(upload)
31
- .command(deploy)
32
- .command(logs)
33
- .command(listBuilds)
34
- .command(download)
35
- .command(open)
36
- .command(migrateApp)
37
- .command(cloneApp)
38
- .command(installDeps)
27
+ .command(create_1.default)
28
+ .command(add_1.default)
29
+ .command(watch_1.default)
30
+ .command(dev_1.default)
31
+ .command(upload_1.default)
32
+ .command(deploy_1.default)
33
+ .command(logs_1.default)
34
+ .command(listBuilds_1.default)
35
+ .command(download_1.default)
36
+ .command(open_1.default)
37
+ .command(migrateApp_1.default)
38
+ .command(migrate_1.default)
39
+ .command(cloneApp_1.default)
40
+ .command(installDeps_1.default)
39
41
  .demandCommand(1, '');
40
42
  return yargs;
43
+ }
44
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(projectBuilder, command, describe);
45
+ const projectCommand = {
46
+ command,
47
+ describe,
48
+ builder,
49
+ handler: () => { },
41
50
  };
51
+ exports.default = projectCommand;
52
+ // TODO Remove this legacy export once we've migrated all commands to TS
53
+ module.exports = projectCommand;
@@ -9,18 +9,20 @@ const index_1 = require("../lib/errorHandlers/index");
9
9
  const commonOpts_1 = require("../lib/commonOpts");
10
10
  const usageTracking_1 = require("../lib/usageTracking");
11
11
  const lang_1 = require("../lib/lang");
12
- const i18nKey = 'commands.remove';
13
12
  exports.command = 'remove <path>';
14
- exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
13
+ exports.describe = (0, lang_1.i18n)(`commands.remove.describe`);
15
14
  async function handler(args) {
16
15
  const { path: hsPath, derivedAccountId } = args;
17
16
  (0, usageTracking_1.trackCommandUsage)('remove', undefined, derivedAccountId);
18
17
  try {
19
18
  await (0, fileMapper_1.deleteFile)(derivedAccountId, hsPath);
20
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.deleted`, { accountId: derivedAccountId, path: hsPath }));
19
+ logger_1.logger.log((0, lang_1.i18n)(`commands.remove.deleted`, {
20
+ accountId: derivedAccountId,
21
+ path: hsPath,
22
+ }));
21
23
  }
22
24
  catch (error) {
23
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.deleteFailed`, {
25
+ logger_1.logger.error((0, lang_1.i18n)(`commands.remove.errors.deleteFailed`, {
24
26
  accountId: derivedAccountId,
25
27
  path: hsPath,
26
28
  }));
@@ -36,7 +38,7 @@ function builder(yargs) {
36
38
  (0, commonOpts_1.addUseEnvironmentOptions)(yargs);
37
39
  (0, commonOpts_1.addGlobalOptions)(yargs);
38
40
  yargs.positional('path', {
39
- describe: (0, lang_1.i18n)(`${i18nKey}.positionals.path.describe`),
41
+ describe: (0, lang_1.i18n)(`commands.remove.positionals.path.describe`),
40
42
  type: 'string',
41
43
  });
42
44
  return yargs;
@@ -21,9 +21,8 @@ const sandboxSync_1 = require("../../lib/sandboxSync");
21
21
  const index_2 = require("../../lib/errorHandlers/index");
22
22
  const buildAccount_1 = require("../../lib/buildAccount");
23
23
  const accountNamePrompt_1 = require("../../lib/prompts/accountNamePrompt");
24
- const i18nKey = 'commands.sandbox.subcommands.create';
25
24
  exports.command = 'create';
26
- exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
25
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.sandbox.subcommands.create.describe`), false);
27
26
  async function handler(args) {
28
27
  const { name, type, force, derivedAccountId } = args;
29
28
  const accountConfig = (0, config_1.getAccountConfig)(derivedAccountId);
@@ -31,7 +30,7 @@ async function handler(args) {
31
30
  (0, usageTracking_1.trackCommandUsage)('sandbox-create', {}, derivedAccountId);
32
31
  // Check if account config exists
33
32
  if (!accountConfig) {
34
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noAccountConfig`, {
33
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.create.failure.noAccountConfig`, {
35
34
  accountId: derivedAccountId,
36
35
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
37
36
  }));
@@ -40,7 +39,7 @@ async function handler(args) {
40
39
  // Default account is not a production portal
41
40
  if (accountConfig.accountType &&
42
41
  accountConfig.accountType !== config_2.HUBSPOT_ACCOUNT_TYPES.STANDARD) {
43
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.invalidAccountType`, {
42
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.create.failure.invalidAccountType`, {
44
43
  accountType: config_2.HUBSPOT_ACCOUNT_TYPE_STRINGS[config_2.HUBSPOT_ACCOUNT_TYPES[accountConfig.accountType]],
45
44
  accountName: accountConfig.name || '',
46
45
  }));
@@ -53,7 +52,7 @@ async function handler(args) {
53
52
  typePrompt = await (0, sandboxesPrompt_1.sandboxTypePrompt)();
54
53
  }
55
54
  else {
56
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.optionMissing.type`));
55
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.create.failure.optionMissing.type`));
57
56
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
58
57
  }
59
58
  }
@@ -86,7 +85,7 @@ async function handler(args) {
86
85
  namePrompt = await (0, accountNamePrompt_1.hubspotAccountNamePrompt)({ accountType: sandboxType });
87
86
  }
88
87
  else {
89
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.optionMissing.name`));
88
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.create.failure.optionMissing.name`));
90
89
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
91
90
  }
92
91
  }
@@ -111,7 +110,7 @@ async function handler(args) {
111
110
  const sandboxAccountConfig = (0, config_1.getAccountConfig)(result.sandbox.sandboxHubId);
112
111
  // Check if sandbox account config exists
113
112
  if (!sandboxAccountConfig) {
114
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noSandboxAccountConfig`, {
113
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.create.failure.noSandboxAccountConfig`, {
115
114
  accountId: result.sandbox.sandboxHubId,
116
115
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
117
116
  }));
@@ -151,20 +150,20 @@ function builder(yargs) {
151
150
  yargs.option('force', {
152
151
  type: 'boolean',
153
152
  alias: 'f',
154
- describe: (0, lang_1.i18n)(`${i18nKey}.options.force.describe`),
153
+ describe: (0, lang_1.i18n)(`commands.sandbox.subcommands.create.options.force.describe`),
155
154
  });
156
155
  yargs.option('name', {
157
- describe: (0, lang_1.i18n)(`${i18nKey}.options.name.describe`),
156
+ describe: (0, lang_1.i18n)(`commands.sandbox.subcommands.create.options.name.describe`),
158
157
  type: 'string',
159
158
  });
160
159
  yargs.option('type', {
161
- describe: (0, lang_1.i18n)(`${i18nKey}.options.type.describe`),
160
+ describe: (0, lang_1.i18n)(`commands.sandbox.subcommands.create.options.type.describe`),
162
161
  choices: Object.keys(sandboxes_1.SANDBOX_TYPE_MAP),
163
162
  });
164
163
  yargs.example([
165
164
  [
166
165
  '$0 sandbox create --name=MySandboxAccount --type=STANDARD',
167
- (0, lang_1.i18n)(`${i18nKey}.examples.default`),
166
+ (0, lang_1.i18n)(`commands.sandbox.subcommands.create.examples.default`),
168
167
  ],
169
168
  ]);
170
169
  (0, commonOpts_1.addConfigOptions)(yargs);
@@ -19,9 +19,8 @@ const accountsPrompt_1 = require("../../lib/prompts/accountsPrompt");
19
19
  const exitCodes_1 = require("../../lib/enums/exitCodes");
20
20
  const promptUtils_1 = require("../../lib/prompts/promptUtils");
21
21
  const ui_1 = require("../../lib/ui");
22
- const i18nKey = 'commands.sandbox.subcommands.delete';
23
22
  exports.command = 'delete';
24
- exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
23
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.describe`), false);
25
24
  async function handler(args) {
26
25
  const { providedAccountId, force } = args;
27
26
  (0, usageTracking_1.trackCommandUsage)('sandbox-delete', {}, providedAccountId);
@@ -33,12 +32,12 @@ async function handler(args) {
33
32
  else {
34
33
  // Account is required, throw error if force flag is present and no account is specified
35
34
  logger_1.logger.log('');
36
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noAccount`));
35
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.noAccount`));
37
36
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
38
37
  }
39
38
  if (!accountPrompt) {
40
39
  logger_1.logger.log('');
41
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noSandboxAccounts`, {
40
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.noSandboxAccounts`, {
42
41
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
43
42
  }));
44
43
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
@@ -46,7 +45,7 @@ async function handler(args) {
46
45
  }
47
46
  const sandboxAccountId = (0, config_1.getAccountId)(providedAccountId || accountPrompt.account);
48
47
  if (!sandboxAccountId) {
49
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noSandboxAccountId`));
48
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.noSandboxAccountId`));
50
49
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
51
50
  }
52
51
  const isDefaultAccount = sandboxAccountId === (0, config_1.getAccountId)();
@@ -61,7 +60,7 @@ async function handler(args) {
61
60
  else if (!force) {
62
61
  const parentAccountPrompt = await (0, sandboxesPrompt_1.deleteSandboxPrompt)(true);
63
62
  if (!parentAccountPrompt) {
64
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noParentAccount`, {
63
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.noParentAccount`, {
65
64
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
66
65
  }));
67
66
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
@@ -69,7 +68,7 @@ async function handler(args) {
69
68
  parentAccountId = (0, config_1.getAccountId)(parentAccountPrompt.account);
70
69
  }
71
70
  else {
72
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noParentAccount`, {
71
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.noParentAccount`, {
73
72
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
74
73
  }));
75
74
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
@@ -80,7 +79,7 @@ async function handler(args) {
80
79
  const command = `hs auth ${(0, config_1.getEnv)(sandboxAccountId) === 'qa' ? '--qa' : ''} --account=${parentAccountId}`;
81
80
  if (parentAccountId && !(0, config_1.getAccountId)(parentAccountId)) {
82
81
  logger_1.logger.log('');
83
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.noParentPortalAvailable`, {
82
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.noParentPortalAvailable`, {
84
83
  parentAccountId,
85
84
  url,
86
85
  command,
@@ -88,11 +87,11 @@ async function handler(args) {
88
87
  logger_1.logger.log('');
89
88
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
90
89
  }
91
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.deleting`, {
90
+ logger_1.logger.debug((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.debug.deleting`, {
92
91
  account: (0, ui_1.uiAccountDescription)(sandboxAccountId),
93
92
  }));
94
93
  if (isDefaultAccount) {
95
- logger_1.logger.info((0, lang_1.i18n)(`${i18nKey}.defaultAccountWarning`, {
94
+ logger_1.logger.info((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.defaultAccountWarning`, {
96
95
  account: (0, ui_1.uiAccountDescription)(sandboxAccountId),
97
96
  }));
98
97
  logger_1.logger.log('');
@@ -103,7 +102,7 @@ async function handler(args) {
103
102
  {
104
103
  name: 'confirmSandboxDeletePrompt',
105
104
  type: 'confirm',
106
- message: (0, lang_1.i18n)(`${i18nKey}.confirm`, {
105
+ message: (0, lang_1.i18n)(`commands.sandbox.subcommands.delete.confirm`, {
107
106
  account: (0, ui_1.uiAccountDescription)(sandboxAccountId),
108
107
  }),
109
108
  },
@@ -114,8 +113,8 @@ async function handler(args) {
114
113
  }
115
114
  await (0, sandboxHubs_1.deleteSandbox)(parentAccountId, sandboxAccountId);
116
115
  const deleteKey = isDefaultAccount
117
- ? `${i18nKey}.success.deleteDefault`
118
- : `${i18nKey}.success.delete`;
116
+ ? `commands.sandbox.subcommands.delete.success.deleteDefault`
117
+ : `commands.sandbox.subcommands.delete.success.delete`;
119
118
  logger_1.logger.log('');
120
119
  logger_1.logger.success((0, lang_1.i18n)(deleteKey, {
121
120
  account: providedAccountId || accountPrompt.account,
@@ -139,7 +138,7 @@ async function handler(args) {
139
138
  // Intercept invalid key error
140
139
  // This command uses the parent portal PAK to delete a sandbox, so we must specify which account needs a new key
141
140
  logger_1.logger.log('');
142
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.invalidKey`, {
141
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.invalidKey`, {
143
142
  account: (0, ui_1.uiAccountDescription)(parentAccountId),
144
143
  authCommand: (0, ui_1.uiCommandReference)('hs auth'),
145
144
  }));
@@ -150,7 +149,7 @@ async function handler(args) {
150
149
  subCategory: 'SandboxErrors.USER_ACCESS_NOT_ALLOWED',
151
150
  })) {
152
151
  logger_1.logger.log('');
153
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.failure.invalidUser`, {
152
+ logger_1.logger.error((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.invalidUser`, {
154
153
  accountName: (0, ui_1.uiAccountDescription)(sandboxAccountId),
155
154
  parentAccountName: (0, ui_1.uiAccountDescription)(parentAccountId),
156
155
  }));
@@ -162,7 +161,7 @@ async function handler(args) {
162
161
  subCategory: 'SandboxErrors.SANDBOX_NOT_FOUND',
163
162
  })) {
164
163
  logger_1.logger.log('');
165
- logger_1.logger.warn((0, lang_1.i18n)(`${i18nKey}.failure.objectNotFound`, {
164
+ logger_1.logger.warn((0, lang_1.i18n)(`commands.sandbox.subcommands.delete.failure.objectNotFound`, {
166
165
  account: (0, ui_1.uiAccountDescription)(sandboxAccountId),
167
166
  }));
168
167
  logger_1.logger.log('');
@@ -185,18 +184,18 @@ async function handler(args) {
185
184
  }
186
185
  function builder(yargs) {
187
186
  yargs.option('account', {
188
- describe: (0, lang_1.i18n)(`${i18nKey}.options.account.describe`),
187
+ describe: (0, lang_1.i18n)(`commands.sandbox.subcommands.delete.options.account.describe`),
189
188
  type: 'string',
190
189
  });
191
190
  yargs.option('force', {
192
191
  type: 'boolean',
193
192
  alias: 'f',
194
- describe: (0, lang_1.i18n)(`${i18nKey}.options.force.describe`),
193
+ describe: (0, lang_1.i18n)(`commands.sandbox.subcommands.delete.options.force.describe`),
195
194
  });
196
195
  yargs.example([
197
196
  [
198
197
  '$0 sandbox delete --account=MySandboxAccount',
199
- (0, lang_1.i18n)(`${i18nKey}.examples.default`),
198
+ (0, lang_1.i18n)(`commands.sandbox.subcommands.delete.examples.default`),
200
199
  ],
201
200
  ]);
202
201
  (0, commonOpts_1.addConfigOptions)(yargs);
@@ -40,9 +40,8 @@ const lang_1 = require("../lib/lang");
40
40
  const ui_1 = require("../lib/ui");
41
41
  const create = __importStar(require("./sandbox/create"));
42
42
  const del = __importStar(require("./sandbox/delete"));
43
- const i18nKey = 'commands.sandbox';
44
43
  exports.command = ['sandbox', 'sandboxes'];
45
- exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
44
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.sandbox.describe`), false);
46
45
  function builder(yargs) {
47
46
  (0, commonOpts_1.addGlobalOptions)(yargs);
48
47
  yargs.command(create).command(del).demandCommand(1, '');
@@ -13,9 +13,8 @@ const secretPrompt_1 = require("../../lib/prompts/secretPrompt");
13
13
  const lang_1 = require("../../lib/lang");
14
14
  const exitCodes_1 = require("../../lib/enums/exitCodes");
15
15
  const ui_2 = require("../../lib/ui");
16
- const i18nKey = 'commands.secret.subcommands.add';
17
16
  exports.command = 'add [name]';
18
- exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
17
+ exports.describe = (0, lang_1.i18n)(`commands.secret.subcommands.add.describe`);
19
18
  async function handler(args) {
20
19
  const { name, derivedAccountId } = args;
21
20
  let secretName = name;
@@ -27,7 +26,7 @@ async function handler(args) {
27
26
  }
28
27
  const { data: { results: secrets }, } = await (0, secrets_1.fetchSecrets)(derivedAccountId);
29
28
  if (secrets.includes(secretName)) {
30
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.alreadyExists`, {
29
+ logger_1.logger.error((0, lang_1.i18n)(`commands.secret.subcommands.add.errors.alreadyExists`, {
31
30
  secretName,
32
31
  command: (0, ui_2.uiCommandReference)('hs secret update'),
33
32
  }));
@@ -35,13 +34,13 @@ async function handler(args) {
35
34
  }
36
35
  const { secretValue } = await (0, secretPrompt_1.secretValuePrompt)();
37
36
  await (0, secrets_1.addSecret)(derivedAccountId, secretName, secretValue);
38
- logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success.add`, {
37
+ logger_1.logger.success((0, lang_1.i18n)(`commands.secret.subcommands.add.success.add`, {
39
38
  accountIdentifier: (0, ui_1.uiAccountDescription)(derivedAccountId),
40
39
  secretName,
41
40
  }));
42
41
  }
43
42
  catch (err) {
44
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.add`, {
43
+ logger_1.logger.error((0, lang_1.i18n)(`commands.secret.subcommands.add.errors.add`, {
45
44
  secretName: secretName || '',
46
45
  }));
47
46
  (0, index_1.logError)(err, new index_1.ApiErrorContext({
@@ -55,7 +54,7 @@ function builder(yargs) {
55
54
  (0, commonOpts_1.addAccountOptions)(yargs);
56
55
  (0, commonOpts_1.addUseEnvironmentOptions)(yargs);
57
56
  yargs.positional('name', {
58
- describe: (0, lang_1.i18n)(`${i18nKey}.positionals.name.describe`),
57
+ describe: (0, lang_1.i18n)(`commands.secret.subcommands.add.positionals.name.describe`),
59
58
  type: 'string',
60
59
  });
61
60
  return yargs;