@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
@@ -6,31 +6,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const chokidar_1 = __importDefault(require("chokidar"));
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
- const logger_1 = require("@hubspot/local-dev-lib/logger");
10
9
  const localDevAuth_1 = require("@hubspot/local-dev-lib/api/localDevAuth");
11
10
  const appsDev_1 = require("@hubspot/local-dev-lib/api/appsDev");
12
11
  const config_1 = require("@hubspot/local-dev-lib/config");
13
- const constants_1 = require("./constants");
14
- const SpinniesManager_1 = __importDefault(require("./ui/SpinniesManager"));
12
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
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
+ const logger_2 = require("../../ui/logger");
27
28
  const WATCH_EVENTS = {
28
29
  add: 'add',
29
30
  change: 'change',
30
31
  unlink: 'unlink',
31
32
  unlinkDir: 'unlinkDir',
32
33
  };
33
- const i18nKey = 'lib.LocalDevManager';
34
34
  class LocalDevManager {
35
35
  targetAccountId;
36
36
  targetProjectAccountId;
@@ -69,15 +69,13 @@ class LocalDevManager {
69
69
  this.mostRecentUploadWarning = null;
70
70
  this.projectSourceDir = path_1.default.join(this.projectDir, this.projectConfig.srcDir);
71
71
  if (!this.targetAccountId || !this.projectConfig || !this.projectDir) {
72
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.failedToInitialize`));
72
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.failedToInitialize);
73
73
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
74
74
  }
75
75
  }
76
76
  async setActiveApp(appUid) {
77
77
  if (!appUid) {
78
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.missingUid`, {
79
- devCommand: (0, ui_1.uiCommandReference)('hs project dev'),
80
- }));
78
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.missingUid);
81
79
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
82
80
  }
83
81
  this.activeApp =
@@ -115,14 +113,10 @@ class LocalDevManager {
115
113
  return;
116
114
  }
117
115
  (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`));
116
+ logger_2.uiLogger.warn(en_1.lib.LocalDevManager.activeInstallWarning.installCount(this.activePublicAppData.name, this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'account' : 'accounts'));
117
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.activeInstallWarning.explanation);
124
118
  (0, ui_1.uiLine)();
125
- const proceed = await (0, promptUtils_1.confirmPrompt)((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.confirmationPrompt`), { defaultAnswer: false });
119
+ const proceed = await (0, promptUtils_1.confirmPrompt)(en_1.lib.LocalDevManager.activeInstallWarning.confirmationPrompt, { defaultAnswer: false });
126
120
  if (!proceed) {
127
121
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
128
122
  }
@@ -132,12 +126,8 @@ class LocalDevManager {
132
126
  SpinniesManager_1.default.init();
133
127
  // Local dev currently relies on the existence of a deployed build in the target account
134
128
  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
- }));
140
- logger_1.logger.log();
129
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.noDeployedBuild(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetProjectAccountId), this.getUploadCommand()));
130
+ logger_2.uiLogger.log('');
141
131
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
142
132
  }
143
133
  const setupSucceeded = await this.devServerSetup();
@@ -147,21 +137,18 @@ class LocalDevManager {
147
137
  else if (!this.debug) {
148
138
  console.clear();
149
139
  }
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'));
152
- 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) || ''));
140
+ (0, ui_1.uiBetaTag)(en_1.lib.LocalDevManager.betaMessage);
141
+ logger_2.uiLogger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.learnMoreLocalDevServer, 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
142
+ logger_2.uiLogger.log('');
143
+ logger_2.uiLogger.log(chalk_1.default.hex(ui_1.UI_COLORS.SORBET)(en_1.lib.LocalDevManager.running(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetAccountId))));
144
+ logger_2.uiLogger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.viewProjectLink, (0, urls_1.getProjectDetailUrl)(this.projectConfig.name, this.targetProjectAccountId) || ''));
158
145
  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)));
146
+ logger_2.uiLogger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.viewTestAccountLink, (0, helpers_1.getAccountHomeUrl)(this.targetAccountId)));
160
147
  }
161
- logger_1.logger.log();
162
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.quitHelper`));
148
+ logger_2.uiLogger.log('');
149
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.quitHelper);
163
150
  (0, ui_1.uiLine)();
164
- logger_1.logger.log();
151
+ logger_2.uiLogger.log('');
165
152
  await this.devServerStart();
166
153
  // Initialize project file watcher to detect configuration file changes
167
154
  this.startWatching();
@@ -174,7 +161,7 @@ class LocalDevManager {
174
161
  async stop(showProgress = true) {
175
162
  if (showProgress) {
176
163
  SpinniesManager_1.default.add('cleanupMessage', {
177
- text: (0, lang_1.i18n)(`${i18nKey}.exitingStart`),
164
+ text: en_1.lib.LocalDevManager.exitingStart,
178
165
  });
179
166
  }
180
167
  await this.stopWatching();
@@ -182,14 +169,14 @@ class LocalDevManager {
182
169
  if (!cleanupSucceeded) {
183
170
  if (showProgress) {
184
171
  SpinniesManager_1.default.fail('cleanupMessage', {
185
- text: (0, lang_1.i18n)(`${i18nKey}.exitingFail`),
172
+ text: en_1.lib.LocalDevManager.exitingFail,
186
173
  });
187
174
  }
188
175
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
189
176
  }
190
177
  if (showProgress) {
191
178
  SpinniesManager_1.default.succeed('cleanupMessage', {
192
- text: (0, lang_1.i18n)(`${i18nKey}.exitingSucceed`),
179
+ text: en_1.lib.LocalDevManager.exitingSucceed,
193
180
  });
194
181
  }
195
182
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
@@ -227,31 +214,22 @@ class LocalDevManager {
227
214
  (0, structure_1.componentIsPublicApp)(this.activeApp) &&
228
215
  this.publicAppActiveInstalls &&
229
216
  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`);
217
+ ? en_1.lib.LocalDevManager.uploadWarning.defaultPublicAppWarning(this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'install' : 'installs')
218
+ : en_1.lib.LocalDevManager.uploadWarning.defaultWarning;
235
219
  }
236
220
  // Avoid logging the warning to the console if it is currently the most
237
221
  // recently logged warning. We do not want to spam the console with the same message.
238
222
  if (!this.uploadWarnings[warning]) {
239
- 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_2.uiLogger.log('');
224
+ logger_2.uiLogger.warn(en_1.lib.LocalDevManager.uploadWarning.header(warning));
225
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.stopDev);
244
226
  if (this.isGithubLinked) {
245
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.pushToGithub`));
227
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.pushToGithub);
246
228
  }
247
229
  else {
248
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.runUpload`, {
249
- command: this.getUploadCommand(),
250
- }));
230
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.runUpload(this.getUploadCommand()));
251
231
  }
252
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.restartDev`, {
253
- command: (0, ui_1.uiCommandReference)('hs project dev'),
254
- }));
232
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.restartDev);
255
233
  this.mostRecentUploadWarning = warning;
256
234
  this.uploadWarnings[warning] = true;
257
235
  }
@@ -281,21 +259,19 @@ class LocalDevManager {
281
259
  if (Object.values(Projects_1.ComponentTypes).includes(type)) {
282
260
  const cardConfigs = (0, structure_1.getAppCardConfigs)(config, path);
283
261
  if (!deployedComponentNames.includes(config.name)) {
284
- missingComponents.push(`${(0, lang_1.i18n)(`${i18nKey}.uploadWarning.appLabel`)} ${config.name}`);
262
+ missingComponents.push(`${en_1.lib.LocalDevManager.uploadWarning.appLabel} ${config.name}`);
285
263
  }
286
264
  cardConfigs.forEach(cardConfig => {
287
265
  if (cardConfig.data &&
288
266
  cardConfig.data.title &&
289
267
  !deployedComponentNames.includes(cardConfig.data.title)) {
290
- missingComponents.push(`${(0, lang_1.i18n)(`${i18nKey}.uploadWarning.uiExtensionLabel`)} ${cardConfig.data.title}`);
268
+ missingComponents.push(`${en_1.lib.LocalDevManager.uploadWarning.uiExtensionLabel} ${cardConfig.data.title}`);
291
269
  }
292
270
  });
293
271
  }
294
272
  });
295
273
  if (missingComponents.length) {
296
- this.logUploadWarning((0, lang_1.i18n)(`${i18nKey}.uploadWarning.missingComponents`, {
297
- missingComponents: missingComponents.join(', '),
298
- }));
274
+ this.logUploadWarning(en_1.lib.LocalDevManager.uploadWarning.missingComponents(missingComponents.join(', ')));
299
275
  }
300
276
  }
301
277
  startWatching() {
@@ -348,9 +324,7 @@ class LocalDevManager {
348
324
  if (this.debug) {
349
325
  logger_1.logger.error(e);
350
326
  }
351
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.setupError`, {
352
- message: e instanceof Error ? e.message : '',
353
- }));
327
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.setupError(e instanceof Error ? e.message : ''));
354
328
  return false;
355
329
  }
356
330
  }
@@ -365,9 +339,7 @@ class LocalDevManager {
365
339
  if (this.debug) {
366
340
  logger_1.logger.error(e);
367
341
  }
368
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.startError`, {
369
- message: e instanceof Error ? e.message : '',
370
- }));
342
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.startError(e instanceof Error ? e.message : ''));
371
343
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
372
344
  }
373
345
  }
@@ -379,9 +351,7 @@ class LocalDevManager {
379
351
  if (this.debug) {
380
352
  logger_1.logger.error(e);
381
353
  }
382
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.fileChangeError`, {
383
- message: e instanceof Error ? e.message : '',
384
- }));
354
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.fileChangeError(e instanceof Error ? e.message : ''));
385
355
  }
386
356
  }
387
357
  async devServerCleanup() {
@@ -393,12 +363,9 @@ class LocalDevManager {
393
363
  if (this.debug) {
394
364
  logger_1.logger.error(e);
395
365
  }
396
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.cleanupError`, {
397
- message: e instanceof Error ? e.message : '',
398
- }));
366
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.cleanupError(e instanceof Error ? e.message : ''));
399
367
  return false;
400
368
  }
401
369
  }
402
370
  }
403
371
  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,25 @@ 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
+ const logger_2 = require("../../ui/logger");
26
27
  const WATCH_EVENTS = {
27
28
  add: 'add',
28
29
  change: 'change',
29
30
  unlink: 'unlink',
30
31
  unlinkDir: 'unlinkDir',
31
32
  };
32
- const i18nKey = 'lib.LocalDevManager';
33
33
  class LocalDevManagerV2 {
34
34
  targetProjectAccountId;
35
35
  targetTestingAccountId;
@@ -69,15 +69,13 @@ class LocalDevManagerV2 {
69
69
  if (!this.targetProjectAccountId ||
70
70
  !this.projectConfig ||
71
71
  !this.projectDir) {
72
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.failedToInitialize`));
72
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.failedToInitialize);
73
73
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
74
74
  }
75
75
  }
76
76
  async setActiveApp(appUid) {
77
77
  if (!appUid) {
78
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.missingUid`, {
79
- devCommand: (0, ui_1.uiCommandReference)('hs project dev'),
80
- }));
78
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.missingUid);
81
79
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
82
80
  }
83
81
  const app = Object.values(this.projectNodes).find(component => component.uid === appUid) || null;
@@ -113,14 +111,10 @@ class LocalDevManagerV2 {
113
111
  return;
114
112
  }
115
113
  (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`));
114
+ logger_2.uiLogger.warn(en_1.lib.LocalDevManager.activeInstallWarning.installCount(this.activePublicAppData.name, this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'account' : 'accounts'));
115
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.activeInstallWarning.explanation);
122
116
  (0, ui_1.uiLine)();
123
- const proceed = await (0, promptUtils_1.confirmPrompt)((0, lang_1.i18n)(`${i18nKey}.activeInstallWarning.confirmationPrompt`), { defaultAnswer: false });
117
+ const proceed = await (0, promptUtils_1.confirmPrompt)(en_1.lib.LocalDevManager.activeInstallWarning.confirmationPrompt, { defaultAnswer: false });
124
118
  if (!proceed) {
125
119
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
126
120
  }
@@ -130,12 +124,8 @@ class LocalDevManagerV2 {
130
124
  SpinniesManager_1.default.init();
131
125
  // Local dev currently relies on the existence of a deployed build in the target account
132
126
  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
- }));
138
- logger_1.logger.log();
127
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.noDeployedBuild(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetProjectAccountId), this.getUploadCommand()));
128
+ logger_2.uiLogger.log('');
139
129
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
140
130
  }
141
131
  const setupSucceeded = await this.devServerSetup();
@@ -145,18 +135,15 @@ class LocalDevManagerV2 {
145
135
  else if (!this.debug) {
146
136
  console.clear();
147
137
  }
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'));
150
- 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) || ''));
156
- logger_1.logger.log();
157
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.quitHelper`));
138
+ (0, ui_1.uiBetaTag)(en_1.lib.LocalDevManager.betaMessage);
139
+ logger_2.uiLogger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.learnMoreLocalDevServer, 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
140
+ logger_2.uiLogger.log('');
141
+ logger_2.uiLogger.log(chalk_1.default.hex(ui_1.UI_COLORS.SORBET)(en_1.lib.LocalDevManager.running(this.projectConfig.name, (0, ui_1.uiAccountDescription)(this.targetProjectAccountId))));
142
+ logger_2.uiLogger.log((0, ui_1.uiLink)(en_1.lib.LocalDevManager.viewProjectLink, (0, urls_1.getProjectDetailUrl)(this.projectConfig.name, this.targetProjectAccountId) || ''));
143
+ logger_2.uiLogger.log('');
144
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.quitHelper);
158
145
  (0, ui_1.uiLine)();
159
- logger_1.logger.log();
146
+ logger_2.uiLogger.log('');
160
147
  await this.devServerStart();
161
148
  // Initialize project file watcher to detect configuration file changes
162
149
  this.startWatching();
@@ -169,7 +156,7 @@ class LocalDevManagerV2 {
169
156
  async stop(showProgress = true) {
170
157
  if (showProgress) {
171
158
  SpinniesManager_1.default.add('cleanupMessage', {
172
- text: (0, lang_1.i18n)(`${i18nKey}.exitingStart`),
159
+ text: en_1.lib.LocalDevManager.exitingStart,
173
160
  });
174
161
  }
175
162
  await this.stopWatching();
@@ -177,14 +164,14 @@ class LocalDevManagerV2 {
177
164
  if (!cleanupSucceeded) {
178
165
  if (showProgress) {
179
166
  SpinniesManager_1.default.fail('cleanupMessage', {
180
- text: (0, lang_1.i18n)(`${i18nKey}.exitingFail`),
167
+ text: en_1.lib.LocalDevManager.exitingFail,
181
168
  });
182
169
  }
183
170
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
184
171
  }
185
172
  if (showProgress) {
186
173
  SpinniesManager_1.default.succeed('cleanupMessage', {
187
- text: (0, lang_1.i18n)(`${i18nKey}.exitingSucceed`),
174
+ text: en_1.lib.LocalDevManager.exitingSucceed,
188
175
  });
189
176
  }
190
177
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
@@ -217,31 +204,22 @@ class LocalDevManagerV2 {
217
204
  if (!warning) {
218
205
  warning =
219
206
  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`);
207
+ ? en_1.lib.LocalDevManager.uploadWarning.defaultMarketplaceAppWarning(this.publicAppActiveInstalls, this.publicAppActiveInstalls === 1 ? 'account' : 'accounts')
208
+ : en_1.lib.LocalDevManager.uploadWarning.defaultWarning;
225
209
  }
226
210
  // Avoid logging the warning to the console if it is currently the most
227
211
  // recently logged warning. We do not want to spam the console with the same message.
228
212
  if (!this.uploadWarnings[warning]) {
229
- 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_2.uiLogger.log('');
214
+ logger_2.uiLogger.warn(en_1.lib.LocalDevManager.uploadWarning.header(warning));
215
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.stopDev);
234
216
  if (this.isGithubLinked) {
235
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.pushToGithub`));
217
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.pushToGithub);
236
218
  }
237
219
  else {
238
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.runUpload`, {
239
- command: this.getUploadCommand(),
240
- }));
220
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.runUpload(this.getUploadCommand()));
241
221
  }
242
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.uploadWarning.restartDev`, {
243
- command: (0, ui_1.uiCommandReference)('hs project dev'),
244
- }));
222
+ logger_2.uiLogger.log(en_1.lib.LocalDevManager.uploadWarning.restartDev);
245
223
  this.mostRecentUploadWarning = warning;
246
224
  this.uploadWarnings[warning] = true;
247
225
  }
@@ -273,9 +251,7 @@ class LocalDevManagerV2 {
273
251
  }
274
252
  });
275
253
  if (missingProjectNodes.length) {
276
- this.logUploadWarning((0, lang_1.i18n)(`${i18nKey}.uploadWarning.missingComponents`, {
277
- missingComponents: missingProjectNodes.join(', '),
278
- }));
254
+ this.logUploadWarning(en_1.lib.LocalDevManager.uploadWarning.missingComponents(missingProjectNodes.join(', ')));
279
255
  }
280
256
  }
281
257
  startWatching() {
@@ -322,9 +298,7 @@ class LocalDevManagerV2 {
322
298
  if (this.debug) {
323
299
  logger_1.logger.error(e);
324
300
  }
325
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.setupError`, {
326
- message: e instanceof Error ? e.message : '',
327
- }));
301
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.setupError(e instanceof Error ? e.message : ''));
328
302
  return false;
329
303
  }
330
304
  }
@@ -339,9 +313,7 @@ class LocalDevManagerV2 {
339
313
  if (this.debug) {
340
314
  logger_1.logger.error(e);
341
315
  }
342
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.startError`, {
343
- message: e instanceof Error ? e.message : '',
344
- }));
316
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.startError(e instanceof Error ? e.message : ''));
345
317
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
346
318
  }
347
319
  }
@@ -353,9 +325,7 @@ class LocalDevManagerV2 {
353
325
  if (this.debug) {
354
326
  logger_1.logger.error(e);
355
327
  }
356
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.fileChangeError`, {
357
- message: e instanceof Error ? e.message : '',
358
- }));
328
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.fileChangeError(e instanceof Error ? e.message : ''));
359
329
  }
360
330
  }
361
331
  async devServerCleanup() {
@@ -367,9 +337,7 @@ class LocalDevManagerV2 {
367
337
  if (this.debug) {
368
338
  logger_1.logger.error(e);
369
339
  }
370
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.devServer.cleanupError`, {
371
- message: e instanceof Error ? e.message : '',
372
- }));
340
+ logger_2.uiLogger.error(en_1.lib.LocalDevManager.devServer.cleanupError(e instanceof Error ? e.message : ''));
373
341
  return false;
374
342
  }
375
343
  }
@@ -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>;
@@ -14,5 +14,6 @@ export declare function createSandboxForLocalDev(accountId: number, accountConfi
14
14
  export declare function createDeveloperTestAccountForLocalDev(accountId: number, accountConfig: CLIAccount, env: Environment): Promise<number>;
15
15
  export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<void>;
16
16
  export declare function createNewProjectForLocalDev(projectConfig: ProjectConfig, targetAccountId: number, shouldCreateWithoutConfirmation: boolean, hasPublicApps: boolean): Promise<Project>;
17
- export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, sendIr?: boolean): Promise<Build>;
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>;