@hubspot/cli 7.4.5-experimental.0 → 7.4.6-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 (190) 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 +5 -6
  17. package/commands/app/migrate.js +27 -14
  18. package/commands/app.js +0 -2
  19. package/commands/auth.js +14 -11
  20. package/commands/cms/lighthouseScore.js +6 -2
  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 +66 -0
  76. package/commands/project/migrateApp.d.ts +3 -8
  77. package/commands/project/migrateApp.js +22 -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 +70 -51
  82. package/commands/project/watch.d.ts +6 -1
  83. package/commands/project/watch.js +90 -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 +2801 -0
  102. package/lang/en.js +2656 -3300
  103. package/lang/en.lyaml +101 -43
  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 +207 -93
  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 +7 -5
  112. package/lib/commonOpts.d.ts +3 -4
  113. package/lib/commonOpts.js +39 -10
  114. package/lib/configMigrate.d.ts +2 -0
  115. package/lib/configMigrate.js +104 -0
  116. package/lib/constants.d.ts +4 -0
  117. package/lib/constants.js +5 -1
  118. package/lib/dependencyManagement.js +2 -2
  119. package/lib/doctor/Diagnosis.d.ts +1 -2
  120. package/lib/doctor/Diagnosis.js +10 -6
  121. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  122. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  123. package/lib/doctor/Doctor.d.ts +1 -0
  124. package/lib/doctor/Doctor.js +18 -0
  125. package/lib/hasFeature.d.ts +3 -1
  126. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  127. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  128. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  129. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  130. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  131. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  132. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  133. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  134. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  135. package/lib/middleware/__test__/utils.test.js +53 -0
  136. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  137. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  138. package/lib/middleware/configMiddleware.d.ts +13 -0
  139. package/lib/middleware/configMiddleware.js +116 -0
  140. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  141. package/lib/middleware/fireAlarmMiddleware.js +137 -0
  142. package/lib/middleware/gitMiddleware.d.ts +2 -0
  143. package/lib/middleware/gitMiddleware.js +14 -0
  144. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  145. package/lib/middleware/notificationsMiddleware.js +38 -0
  146. package/lib/middleware/requestMiddleware.d.ts +1 -0
  147. package/lib/middleware/requestMiddleware.js +11 -0
  148. package/lib/middleware/utils.d.ts +8 -0
  149. package/lib/middleware/utils.js +17 -0
  150. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  151. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  152. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  153. package/lib/projects/ProjectLogsManager.js +15 -20
  154. package/lib/projects/buildAndDeploy.js +15 -26
  155. package/lib/projects/config.d.ts +9 -0
  156. package/lib/projects/config.js +79 -0
  157. package/lib/projects/create.js +4 -5
  158. package/lib/projects/ensureProjectExists.d.ts +11 -0
  159. package/lib/projects/ensureProjectExists.js +97 -0
  160. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  161. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +5 -6
  162. package/lib/{DevServerManagerV2.d.ts → projects/localDev/DevServerManagerV2.d.ts} +1 -1
  163. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +3 -4
  164. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  165. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +42 -76
  166. package/lib/{LocalDevManagerV2.d.ts → projects/localDev/LocalDevManagerV2.d.ts} +2 -2
  167. package/lib/{LocalDevManagerV2.js → projects/localDev/LocalDevManagerV2.js} +37 -70
  168. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +4 -3
  169. package/lib/{localDev.js → projects/localDev/helpers.js} +72 -99
  170. package/lib/projects/ui.d.ts +1 -0
  171. package/lib/projects/ui.js +15 -0
  172. package/lib/projects/upload.d.ts +2 -2
  173. package/lib/projects/upload.js +10 -31
  174. package/lib/projects/urls.d.ts +1 -0
  175. package/lib/projects/urls.js +6 -0
  176. package/lib/projects/watch.d.ts +1 -1
  177. package/lib/projects/watch.js +18 -15
  178. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  179. package/lib/prompts/createProjectPrompt.js +6 -0
  180. package/lib/prompts/projectNamePrompt.js +2 -2
  181. package/lib/prompts/promptUtils.d.ts +1 -1
  182. package/lib/ui/SpinniesManager.d.ts +1 -1
  183. package/lib/ui/index.d.ts +4 -2
  184. package/lib/ui/index.js +6 -0
  185. package/lib/ui/spinniesUtils.d.ts +5 -5
  186. package/lib/yargsUtils.d.ts +1 -1
  187. package/package.json +7 -6
  188. package/types/Yargs.d.ts +5 -11
  189. package/lib/projects/index.d.ts +0 -20
  190. package/lib/projects/index.js +0 -199
@@ -10,27 +10,26 @@ const logger_1 = require("@hubspot/local-dev-lib/logger");
10
10
  const localDevAuth_1 = require("@hubspot/local-dev-lib/api/localDevAuth");
11
11
  const appsDev_1 = require("@hubspot/local-dev-lib/api/appsDev");
12
12
  const config_1 = require("@hubspot/local-dev-lib/config");
13
- const constants_1 = require("./constants");
14
- const SpinniesManager_1 = __importDefault(require("./ui/SpinniesManager"));
13
+ const constants_1 = require("../../constants");
14
+ const SpinniesManager_1 = __importDefault(require("../../ui/SpinniesManager"));
15
15
  const DevServerManager_1 = __importDefault(require("./DevServerManager"));
16
- const exitCodes_1 = require("./enums/exitCodes");
17
- const urls_1 = require("./projects/urls");
18
- const localDev_1 = require("./localDev");
19
- const structure_1 = require("./projects/structure");
20
- const Projects_1 = require("../types/Projects");
21
- const ui_1 = require("./ui");
22
- const index_1 = require("./errorHandlers/index");
23
- const installPublicAppPrompt_1 = require("./prompts/installPublicAppPrompt");
24
- const promptUtils_1 = require("./prompts/promptUtils");
25
- const lang_1 = require("./lang");
26
- const process_1 = require("./process");
16
+ const exitCodes_1 = require("../../enums/exitCodes");
17
+ const urls_1 = require("../../projects/urls");
18
+ const helpers_1 = require("./helpers");
19
+ const structure_1 = require("../../projects/structure");
20
+ const Projects_1 = require("../../../types/Projects");
21
+ const ui_1 = require("../../ui");
22
+ const index_1 = require("../../errorHandlers/index");
23
+ const installPublicAppPrompt_1 = require("../../prompts/installPublicAppPrompt");
24
+ const promptUtils_1 = require("../../prompts/promptUtils");
25
+ const process_1 = require("../../process");
26
+ const en_1 = require("../../../lang/en");
27
27
  const WATCH_EVENTS = {
28
28
  add: 'add',
29
29
  change: 'change',
30
30
  unlink: 'unlink',
31
31
  unlinkDir: 'unlinkDir',
32
32
  };
33
- const i18nKey = 'lib.LocalDevManager';
34
33
  class LocalDevManager {
35
34
  targetAccountId;
36
35
  targetProjectAccountId;
@@ -69,15 +68,13 @@ class LocalDevManager {
69
68
  this.mostRecentUploadWarning = null;
70
69
  this.projectSourceDir = path_1.default.join(this.projectDir, this.projectConfig.srcDir);
71
70
  if (!this.targetAccountId || !this.projectConfig || !this.projectDir) {
72
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.failedToInitialize`));
71
+ logger_1.logger.log(en_1.lib.LocalDevManager.failedToInitialize);
73
72
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
74
73
  }
75
74
  }
76
75
  async setActiveApp(appUid) {
77
76
  if (!appUid) {
78
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.missingUid`, {
79
- devCommand: (0, ui_1.uiCommandReference)('hs project dev'),
80
- }));
77
+ logger_1.logger.error(en_1.lib.LocalDevManager.missingUid);
81
78
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
82
79
  }
83
80
  this.activeApp =
@@ -115,14 +112,10 @@ class LocalDevManager {
115
112
  return;
116
113
  }
117
114
  (0, ui_1.uiLine)();
118
- logger_1.logger.warn((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.installCount`, {
119
- appName: this.activePublicAppData.name,
120
- installCount: this.publicAppActiveInstalls,
121
- accountText: this.publicAppActiveInstalls === 1 ? 'account' : 'accounts',
122
- }));
123
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.explanation`));
115
+ logger_1.logger.warn(en_1.lib.LocalDevManager.activeInstallWarning.installCount(this.activePublicAppData.name, this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'account' : 'accounts'));
116
+ logger_1.logger.log(en_1.lib.LocalDevManager.activeInstallWarning.explanation);
124
117
  (0, ui_1.uiLine)();
125
- const proceed = await (0, promptUtils_1.confirmPrompt)((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.confirmationPrompt`), { defaultAnswer: false });
118
+ const proceed = await (0, promptUtils_1.confirmPrompt)(en_1.lib.LocalDevManager.activeInstallWarning.confirmationPrompt, { defaultAnswer: false });
126
119
  if (!proceed) {
127
120
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
128
121
  }
@@ -132,11 +125,7 @@ class LocalDevManager {
132
125
  SpinniesManager_1.default.init();
133
126
  // Local dev currently relies on the existence of a deployed build in the target account
134
127
  if (!this.deployedBuild) {
135
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.noDeployedBuild`, {
136
- projectName: this.projectConfig.name,
137
- accountIdentifier: (0, ui_1.uiAccountDescription)(this.targetProjectAccountId),
138
- uploadCommand: this.getUploadCommand(),
139
- }));
128
+ logger_1.logger.error(en_1.lib.LocalDevManager.noDeployedBuild(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetProjectAccountId), this.getUploadCommand()));
140
129
  logger_1.logger.log();
141
130
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
142
131
  }
@@ -147,19 +136,16 @@ class LocalDevManager {
147
136
  else if (!this.debug) {
148
137
  console.clear();
149
138
  }
150
- (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.betaMessage`));
151
- logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.learnMoreLocalDevServer`), 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
139
+ (0, ui_1.uiBetaTag)(en_1.lib.LocalDevManager.betaMessage);
140
+ logger_1.logger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.learnMoreLocalDevServer, 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
152
141
  logger_1.logger.log();
153
- logger_1.logger.log(chalk_1.default.hex(ui_1.UI_COLORS.SORBET)((0, lang_1.i18n)(`${i18nKey}.running`, {
154
- accountIdentifier: (0, ui_1.uiAccountDescription)(this.targetAccountId),
155
- projectName: this.projectConfig.name,
156
- })));
157
- logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.viewProjectLink`), (0, urls_1.getProjectDetailUrl)(this.projectConfig.name, this.targetProjectAccountId) || ''));
142
+ logger_1.logger.log(chalk_1.default.hex(ui_1.UI_COLORS.SORBET)(en_1.lib.LocalDevManager.running(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetAccountId))));
143
+ logger_1.logger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.viewProjectLink, (0, urls_1.getProjectDetailUrl)(this.projectConfig.name, this.targetProjectAccountId) || ''));
158
144
  if (this.activeApp?.type === Projects_1.ComponentTypes.PublicApp) {
159
- logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.viewTestAccountLink`), (0, localDev_1.getAccountHomeUrl)(this.targetAccountId)));
145
+ logger_1.logger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.viewTestAccountLink, (0, helpers_1.getAccountHomeUrl)(this.targetAccountId)));
160
146
  }
161
147
  logger_1.logger.log();
162
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.quitHelper`));
148
+ logger_1.logger.log(en_1.lib.LocalDevManager.quitHelper);
163
149
  (0, ui_1.uiLine)();
164
150
  logger_1.logger.log();
165
151
  await this.devServerStart();
@@ -174,7 +160,7 @@ class LocalDevManager {
174
160
  async stop(showProgress = true) {
175
161
  if (showProgress) {
176
162
  SpinniesManager_1.default.add('cleanupMessage', {
177
- text: (0, lang_1.i18n)(`${i18nKey}.exitingStart`),
163
+ text: en_1.lib.LocalDevManager.exitingStart,
178
164
  });
179
165
  }
180
166
  await this.stopWatching();
@@ -182,14 +168,14 @@ class LocalDevManager {
182
168
  if (!cleanupSucceeded) {
183
169
  if (showProgress) {
184
170
  SpinniesManager_1.default.fail('cleanupMessage', {
185
- text: (0, lang_1.i18n)(`${i18nKey}.exitingFail`),
171
+ text: en_1.lib.LocalDevManager.exitingFail,
186
172
  });
187
173
  }
188
174
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
189
175
  }
190
176
  if (showProgress) {
191
177
  SpinniesManager_1.default.succeed('cleanupMessage', {
192
- text: (0, lang_1.i18n)(`${i18nKey}.exitingSucceed`),
178
+ text: en_1.lib.LocalDevManager.exitingSucceed,
193
179
  });
194
180
  }
195
181
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
@@ -227,31 +213,22 @@ class LocalDevManager {
227
213
  (0, structure_1.componentIsPublicApp)(this.activeApp) &&
228
214
  this.publicAppActiveInstalls &&
229
215
  this.publicAppActiveInstalls > 0
230
- ? (0, lang_1.i18n)(`${i18nKey}.uploadWarning.defaultPublicAppWarning`, {
231
- installCount: this.publicAppActiveInstalls,
232
- installText: this.publicAppActiveInstalls === 1 ? 'install' : 'installs',
233
- })
234
- : (0, lang_1.i18n)(`${i18nKey}.uploadWarning.defaultWarning`);
216
+ ? en_1.lib.LocalDevManager.uploadWarning.defaultPublicAppWarning(this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'install' : 'installs')
217
+ : en_1.lib.LocalDevManager.uploadWarning.defaultWarning;
235
218
  }
236
219
  // Avoid logging the warning to the console if it is currently the most
237
220
  // recently logged warning. We do not want to spam the console with the same message.
238
221
  if (!this.uploadWarnings[warning]) {
239
222
  logger_1.logger.log();
240
- logger_1.logger.warn((0, lang_1.i18n)(`${i18nKey}.uploadWarning.header`, { warning }));
241
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.stopDev`, {
242
- command: (0, ui_1.uiCommandReference)('hs project dev'),
243
- }));
223
+ logger_1.logger.warn(en_1.lib.LocalDevManager.uploadWarning.header(warning));
224
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.stopDev);
244
225
  if (this.isGithubLinked) {
245
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.pushToGithub`));
226
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.pushToGithub);
246
227
  }
247
228
  else {
248
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.runUpload`, {
249
- command: this.getUploadCommand(),
250
- }));
229
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.runUpload(this.getUploadCommand()));
251
230
  }
252
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.restartDev`, {
253
- command: (0, ui_1.uiCommandReference)('hs project dev'),
254
- }));
231
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.restartDev);
255
232
  this.mostRecentUploadWarning = warning;
256
233
  this.uploadWarnings[warning] = true;
257
234
  }
@@ -281,21 +258,19 @@ class LocalDevManager {
281
258
  if (Object.values(Projects_1.ComponentTypes).includes(type)) {
282
259
  const cardConfigs = (0, structure_1.getAppCardConfigs)(config, path);
283
260
  if (!deployedComponentNames.includes(config.name)) {
284
- missingComponents.push(`${(0, lang_1.i18n)(`${i18nKey}.uploadWarning.appLabel`)} ${config.name}`);
261
+ missingComponents.push(`${en_1.lib.LocalDevManager.uploadWarning.appLabel} ${config.name}`);
285
262
  }
286
263
  cardConfigs.forEach(cardConfig => {
287
264
  if (cardConfig.data &&
288
265
  cardConfig.data.title &&
289
266
  !deployedComponentNames.includes(cardConfig.data.title)) {
290
- missingComponents.push(`${(0, lang_1.i18n)(`${i18nKey}.uploadWarning.uiExtensionLabel`)} ${cardConfig.data.title}`);
267
+ missingComponents.push(`${en_1.lib.LocalDevManager.uploadWarning.uiExtensionLabel} ${cardConfig.data.title}`);
291
268
  }
292
269
  });
293
270
  }
294
271
  });
295
272
  if (missingComponents.length) {
296
- this.logUploadWarning((0, lang_1.i18n)(`${i18nKey}.uploadWarning.missingComponents`, {
297
- missingComponents: missingComponents.join(', '),
298
- }));
273
+ this.logUploadWarning(en_1.lib.LocalDevManager.uploadWarning.missingComponents(missingComponents.join(', ')));
299
274
  }
300
275
  }
301
276
  startWatching() {
@@ -348,9 +323,7 @@ class LocalDevManager {
348
323
  if (this.debug) {
349
324
  logger_1.logger.error(e);
350
325
  }
351
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.setupError`, {
352
- message: e instanceof Error ? e.message : '',
353
- }));
326
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.setupError(e instanceof Error ? e.message : ''));
354
327
  return false;
355
328
  }
356
329
  }
@@ -365,9 +338,7 @@ class LocalDevManager {
365
338
  if (this.debug) {
366
339
  logger_1.logger.error(e);
367
340
  }
368
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.startError`, {
369
- message: e instanceof Error ? e.message : '',
370
- }));
341
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.startError(e instanceof Error ? e.message : ''));
371
342
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
372
343
  }
373
344
  }
@@ -379,9 +350,7 @@ class LocalDevManager {
379
350
  if (this.debug) {
380
351
  logger_1.logger.error(e);
381
352
  }
382
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.fileChangeError`, {
383
- message: e instanceof Error ? e.message : '',
384
- }));
353
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.fileChangeError(e instanceof Error ? e.message : ''));
385
354
  }
386
355
  }
387
356
  async devServerCleanup() {
@@ -393,12 +362,9 @@ class LocalDevManager {
393
362
  if (this.debug) {
394
363
  logger_1.logger.error(e);
395
364
  }
396
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.cleanupError`, {
397
- message: e instanceof Error ? e.message : '',
398
- }));
365
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.cleanupError(e instanceof Error ? e.message : ''));
399
366
  return false;
400
367
  }
401
368
  }
402
369
  }
403
370
  exports.default = LocalDevManager;
404
- module.exports = LocalDevManager;
@@ -2,9 +2,9 @@ import { FSWatcher } from 'chokidar';
2
2
  import { Build } from '@hubspot/local-dev-lib/types/Build';
3
3
  import { PublicApp } from '@hubspot/local-dev-lib/types/Apps';
4
4
  import { Environment } from '@hubspot/local-dev-lib/types/Config';
5
- import { ProjectConfig } from '../types/Projects';
5
+ import { ProjectConfig } from '../../../types/Projects';
6
6
  import { IntermediateRepresentationNodeLocalDev } from '@hubspot/project-parsing-lib/src/lib/types';
7
- import { AppIRNode } from '../types/ProjectComponents';
7
+ import { AppIRNode } from '../../../types/ProjectComponents';
8
8
  type LocalDevManagerConstructorOptions = {
9
9
  targetProjectAccountId: number;
10
10
  targetTestingAccountId: number;
@@ -11,25 +11,24 @@ const localDevAuth_1 = require("@hubspot/local-dev-lib/api/localDevAuth");
11
11
  const appsDev_1 = require("@hubspot/local-dev-lib/api/appsDev");
12
12
  const config_1 = require("@hubspot/local-dev-lib/config");
13
13
  const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
14
- const constants_1 = require("./constants");
15
- const SpinniesManager_1 = __importDefault(require("./ui/SpinniesManager"));
14
+ const constants_1 = require("../../constants");
15
+ const SpinniesManager_1 = __importDefault(require("../../ui/SpinniesManager"));
16
16
  const DevServerManagerV2_1 = __importDefault(require("./DevServerManagerV2"));
17
- const exitCodes_1 = require("./enums/exitCodes");
18
- const urls_1 = require("./projects/urls");
19
- const structure_1 = require("./projects/structure");
20
- const ui_1 = require("./ui");
21
- const index_1 = require("./errorHandlers/index");
22
- const installPublicAppPrompt_1 = require("./prompts/installPublicAppPrompt");
23
- const promptUtils_1 = require("./prompts/promptUtils");
24
- const lang_1 = require("./lang");
25
- const process_1 = require("./process");
17
+ const exitCodes_1 = require("../../enums/exitCodes");
18
+ const urls_1 = require("../../projects/urls");
19
+ const structure_1 = require("../../projects/structure");
20
+ const ui_1 = require("../../ui");
21
+ const index_1 = require("../../errorHandlers/index");
22
+ const installPublicAppPrompt_1 = require("../../prompts/installPublicAppPrompt");
23
+ const promptUtils_1 = require("../../prompts/promptUtils");
24
+ const process_1 = require("../../process");
25
+ const en_1 = require("../../../lang/en");
26
26
  const WATCH_EVENTS = {
27
27
  add: 'add',
28
28
  change: 'change',
29
29
  unlink: 'unlink',
30
30
  unlinkDir: 'unlinkDir',
31
31
  };
32
- const i18nKey = 'lib.LocalDevManager';
33
32
  class LocalDevManagerV2 {
34
33
  targetProjectAccountId;
35
34
  targetTestingAccountId;
@@ -69,15 +68,13 @@ class LocalDevManagerV2 {
69
68
  if (!this.targetProjectAccountId ||
70
69
  !this.projectConfig ||
71
70
  !this.projectDir) {
72
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.failedToInitialize`));
71
+ logger_1.logger.log(en_1.lib.LocalDevManager.failedToInitialize);
73
72
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
74
73
  }
75
74
  }
76
75
  async setActiveApp(appUid) {
77
76
  if (!appUid) {
78
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.missingUid`, {
79
- devCommand: (0, ui_1.uiCommandReference)('hs project dev'),
80
- }));
77
+ logger_1.logger.error(en_1.lib.LocalDevManager.missingUid);
81
78
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
82
79
  }
83
80
  const app = Object.values(this.projectNodes).find(component => component.uid === appUid) || null;
@@ -113,14 +110,10 @@ class LocalDevManagerV2 {
113
110
  return;
114
111
  }
115
112
  (0, ui_1.uiLine)();
116
- logger_1.logger.warn((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.installCount`, {
117
- appName: this.activePublicAppData.name,
118
- installCount: this.publicAppActiveInstalls,
119
- accountText: this.publicAppActiveInstalls === 1 ? 'account' : 'accounts',
120
- }));
121
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.explanation`));
113
+ logger_1.logger.warn(en_1.lib.LocalDevManager.activeInstallWarning.installCount(this.activePublicAppData.name, this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'account' : 'accounts'));
114
+ logger_1.logger.log(en_1.lib.LocalDevManager.activeInstallWarning.explanation);
122
115
  (0, ui_1.uiLine)();
123
- const proceed = await (0, promptUtils_1.confirmPrompt)((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.confirmationPrompt`), { defaultAnswer: false });
116
+ const proceed = await (0, promptUtils_1.confirmPrompt)(en_1.lib.LocalDevManager.activeInstallWarning.confirmationPrompt, { defaultAnswer: false });
124
117
  if (!proceed) {
125
118
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
126
119
  }
@@ -130,11 +123,7 @@ class LocalDevManagerV2 {
130
123
  SpinniesManager_1.default.init();
131
124
  // Local dev currently relies on the existence of a deployed build in the target account
132
125
  if (!this.deployedBuild) {
133
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.noDeployedBuild`, {
134
- projectName: this.projectConfig.name,
135
- accountIdentifier: (0, ui_1.uiAccountDescription)(this.targetProjectAccountId),
136
- uploadCommand: this.getUploadCommand(),
137
- }));
126
+ logger_1.logger.error(en_1.lib.LocalDevManager.noDeployedBuild(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetProjectAccountId), this.getUploadCommand()));
138
127
  logger_1.logger.log();
139
128
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
140
129
  }
@@ -145,16 +134,13 @@ class LocalDevManagerV2 {
145
134
  else if (!this.debug) {
146
135
  console.clear();
147
136
  }
148
- (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.betaMessage`));
149
- logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.learnMoreLocalDevServer`), 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
137
+ (0, ui_1.uiBetaTag)(en_1.lib.LocalDevManager.betaMessage);
138
+ logger_1.logger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.learnMoreLocalDevServer, 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
150
139
  logger_1.logger.log();
151
- logger_1.logger.log(chalk_1.default.hex(ui_1.UI_COLORS.SORBET)((0, lang_1.i18n)(`${i18nKey}.running`, {
152
- accountIdentifier: (0, ui_1.uiAccountDescription)(this.targetProjectAccountId),
153
- projectName: this.projectConfig.name,
154
- })));
155
- logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.viewProjectLink`), (0, urls_1.getProjectDetailUrl)(this.projectConfig.name, this.targetProjectAccountId) || ''));
140
+ logger_1.logger.log(chalk_1.default.hex(ui_1.UI_COLORS.SORBET)(en_1.lib.LocalDevManager.running(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetProjectAccountId))));
141
+ logger_1.logger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.viewProjectLink, (0, urls_1.getProjectDetailUrl)(this.projectConfig.name, this.targetProjectAccountId) || ''));
156
142
  logger_1.logger.log();
157
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.quitHelper`));
143
+ logger_1.logger.log(en_1.lib.LocalDevManager.quitHelper);
158
144
  (0, ui_1.uiLine)();
159
145
  logger_1.logger.log();
160
146
  await this.devServerStart();
@@ -169,7 +155,7 @@ class LocalDevManagerV2 {
169
155
  async stop(showProgress = true) {
170
156
  if (showProgress) {
171
157
  SpinniesManager_1.default.add('cleanupMessage', {
172
- text: (0, lang_1.i18n)(`${i18nKey}.exitingStart`),
158
+ text: en_1.lib.LocalDevManager.exitingStart,
173
159
  });
174
160
  }
175
161
  await this.stopWatching();
@@ -177,14 +163,14 @@ class LocalDevManagerV2 {
177
163
  if (!cleanupSucceeded) {
178
164
  if (showProgress) {
179
165
  SpinniesManager_1.default.fail('cleanupMessage', {
180
- text: (0, lang_1.i18n)(`${i18nKey}.exitingFail`),
166
+ text: en_1.lib.LocalDevManager.exitingFail,
181
167
  });
182
168
  }
183
169
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
184
170
  }
185
171
  if (showProgress) {
186
172
  SpinniesManager_1.default.succeed('cleanupMessage', {
187
- text: (0, lang_1.i18n)(`${i18nKey}.exitingSucceed`),
173
+ text: en_1.lib.LocalDevManager.exitingSucceed,
188
174
  });
189
175
  }
190
176
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
@@ -217,31 +203,22 @@ class LocalDevManagerV2 {
217
203
  if (!warning) {
218
204
  warning =
219
205
  this.publicAppActiveInstalls && this.publicAppActiveInstalls > 0
220
- ? (0, lang_1.i18n)(`${i18nKey}.uploadWarning.defaultMarketplaceAppWarning`, {
221
- installCount: this.publicAppActiveInstalls,
222
- accountText: this.publicAppActiveInstalls === 1 ? 'account' : 'accounts',
223
- })
224
- : (0, lang_1.i18n)(`${i18nKey}.uploadWarning.defaultWarning`);
206
+ ? en_1.lib.LocalDevManager.uploadWarning.defaultMarketplaceAppWarning(this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'account' : 'accounts')
207
+ : en_1.lib.LocalDevManager.uploadWarning.defaultWarning;
225
208
  }
226
209
  // Avoid logging the warning to the console if it is currently the most
227
210
  // recently logged warning. We do not want to spam the console with the same message.
228
211
  if (!this.uploadWarnings[warning]) {
229
212
  logger_1.logger.log();
230
- logger_1.logger.warn((0, lang_1.i18n)(`${i18nKey}.uploadWarning.header`, { warning }));
231
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.stopDev`, {
232
- command: (0, ui_1.uiCommandReference)('hs project dev'),
233
- }));
213
+ logger_1.logger.warn(en_1.lib.LocalDevManager.uploadWarning.header(warning));
214
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.stopDev);
234
215
  if (this.isGithubLinked) {
235
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.pushToGithub`));
216
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.pushToGithub);
236
217
  }
237
218
  else {
238
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.runUpload`, {
239
- command: this.getUploadCommand(),
240
- }));
219
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.runUpload(this.getUploadCommand()));
241
220
  }
242
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.restartDev`, {
243
- command: (0, ui_1.uiCommandReference)('hs project dev'),
244
- }));
221
+ logger_1.logger.log(en_1.lib.LocalDevManager.uploadWarning.restartDev);
245
222
  this.mostRecentUploadWarning = warning;
246
223
  this.uploadWarnings[warning] = true;
247
224
  }
@@ -273,9 +250,7 @@ class LocalDevManagerV2 {
273
250
  }
274
251
  });
275
252
  if (missingProjectNodes.length) {
276
- this.logUploadWarning((0, lang_1.i18n)(`${i18nKey}.uploadWarning.missingComponents`, {
277
- missingComponents: missingProjectNodes.join(', '),
278
- }));
253
+ this.logUploadWarning(en_1.lib.LocalDevManager.uploadWarning.missingComponents(missingProjectNodes.join(', ')));
279
254
  }
280
255
  }
281
256
  startWatching() {
@@ -322,9 +297,7 @@ class LocalDevManagerV2 {
322
297
  if (this.debug) {
323
298
  logger_1.logger.error(e);
324
299
  }
325
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.setupError`, {
326
- message: e instanceof Error ? e.message : '',
327
- }));
300
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.setupError(e instanceof Error ? e.message : ''));
328
301
  return false;
329
302
  }
330
303
  }
@@ -339,9 +312,7 @@ class LocalDevManagerV2 {
339
312
  if (this.debug) {
340
313
  logger_1.logger.error(e);
341
314
  }
342
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.startError`, {
343
- message: e instanceof Error ? e.message : '',
344
- }));
315
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.startError(e instanceof Error ? e.message : ''));
345
316
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
346
317
  }
347
318
  }
@@ -353,9 +324,7 @@ class LocalDevManagerV2 {
353
324
  if (this.debug) {
354
325
  logger_1.logger.error(e);
355
326
  }
356
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.fileChangeError`, {
357
- message: e instanceof Error ? e.message : '',
358
- }));
327
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.fileChangeError(e instanceof Error ? e.message : ''));
359
328
  }
360
329
  }
361
330
  async devServerCleanup() {
@@ -367,9 +336,7 @@ class LocalDevManagerV2 {
367
336
  if (this.debug) {
368
337
  logger_1.logger.error(e);
369
338
  }
370
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.cleanupError`, {
371
- message: e instanceof Error ? e.message : '',
372
- }));
339
+ logger_1.logger.error(en_1.lib.LocalDevManager.devServer.cleanupError(e instanceof Error ? e.message : ''));
373
340
  return false;
374
341
  }
375
342
  }
@@ -2,11 +2,11 @@ import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
2
2
  import { Environment } from '@hubspot/local-dev-lib/types/Config';
3
3
  import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTestAccounts';
4
4
  import { Project } from '@hubspot/local-dev-lib/types/Project';
5
- import { ProjectConfig } from '../types/Projects';
6
- import { ProjectDevTargetAccountPromptResponse } from '../types/Prompts';
7
5
  import { Build } from '@hubspot/local-dev-lib/types/Build';
6
+ import { ProjectConfig } from '../../../types/Projects';
7
+ import { ProjectDevTargetAccountPromptResponse } from '../../../types/Prompts';
8
8
  export declare function confirmDefaultAccountIsTarget(accountConfig: CLIAccount): Promise<void>;
9
- export declare function checkIfDefaultAccountIsSupported(accountConfig: CLIAccount, hasPublicApps: boolean): void;
9
+ export declare function checkIfDefaultAccountIsSupported(accountConfig: CLIAccount, hasPublicApps: boolean): Promise<void>;
10
10
  export declare function checkIfParentAccountIsAuthed(accountConfig: CLIAccount): void;
11
11
  export declare function checkIfAccountFlagIsSupported(accountConfig: CLIAccount, hasPublicApps: boolean): void;
12
12
  export declare function suggestRecommendedNestedAccount(accounts: CLIAccount[], accountConfig: CLIAccount, hasPublicApps: boolean): Promise<ProjectDevTargetAccountPromptResponse>;
@@ -16,3 +16,4 @@ export declare function useExistingDevTestAccount(env: Environment, account: Dev
16
16
  export declare function createNewProjectForLocalDev(projectConfig: ProjectConfig, targetAccountId: number, shouldCreateWithoutConfirmation: boolean, hasPublicApps: boolean): Promise<Project>;
17
17
  export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, sendIr?: boolean): Promise<Build>;
18
18
  export declare function getAccountHomeUrl(accountId: number): string;
19
+ export declare function hasSandboxes(account: CLIAccount): Promise<boolean>;