@hubspot/cli 7.4.8-experimental.0 → 7.4.9-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 (315) 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 +113 -0
  9. package/commands/account/info.js +38 -4
  10. package/commands/account/list.js +23 -5
  11. package/commands/account/remove.js +42 -3
  12. package/commands/account/removeOverride.d.ts +10 -0
  13. package/commands/account/removeOverride.js +85 -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 +15 -12
  20. package/commands/cms/convertFields.d.ts +7 -1
  21. package/commands/cms/convertFields.js +57 -41
  22. package/commands/cms/getReactModule.d.ts +7 -1
  23. package/commands/cms/getReactModule.js +52 -34
  24. package/commands/cms/lighthouseScore.d.ts +8 -1
  25. package/commands/cms/lighthouseScore.js +133 -100
  26. package/commands/cms.d.ts +3 -1
  27. package/commands/cms.js +24 -16
  28. package/commands/completion.d.ts +3 -1
  29. package/commands/completion.js +25 -13
  30. package/commands/config/migrate.d.ts +10 -0
  31. package/commands/config/migrate.js +84 -0
  32. package/commands/config/set.d.ts +10 -0
  33. package/commands/config/set.js +34 -29
  34. package/commands/config.d.ts +4 -1
  35. package/commands/config.js +45 -11
  36. package/commands/create/api-sample.d.ts +3 -1
  37. package/commands/create/api-sample.js +34 -36
  38. package/commands/create/app.d.ts +3 -1
  39. package/commands/create/app.js +9 -7
  40. package/commands/create/function.d.ts +3 -1
  41. package/commands/create/function.js +11 -10
  42. package/commands/create/index.d.ts +5 -1
  43. package/commands/create/index.js +23 -11
  44. package/commands/create/module.d.ts +3 -1
  45. package/commands/create/module.js +14 -13
  46. package/commands/create/react-app.d.ts +3 -1
  47. package/commands/create/react-app.js +10 -7
  48. package/commands/create/template.d.ts +3 -1
  49. package/commands/create/template.js +14 -14
  50. package/commands/create/vue-app.d.ts +3 -1
  51. package/commands/create/vue-app.js +10 -7
  52. package/commands/create/webpack-serverless.d.ts +3 -1
  53. package/commands/create/webpack-serverless.js +10 -7
  54. package/commands/create/website-theme.d.ts +3 -1
  55. package/commands/create/website-theme.js +10 -9
  56. package/commands/create.d.ts +4 -24
  57. package/commands/create.js +55 -74
  58. package/commands/customObject/create.d.ts +4 -9
  59. package/commands/customObject/create.js +17 -10
  60. package/commands/customObject/schema/create.d.ts +4 -9
  61. package/commands/customObject/schema/create.js +18 -11
  62. package/commands/customObject/schema/delete.d.ts +4 -9
  63. package/commands/customObject/schema/delete.js +21 -11
  64. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  65. package/commands/customObject/schema/fetch-all.js +19 -11
  66. package/commands/customObject/schema/fetch.d.ts +4 -9
  67. package/commands/customObject/schema/fetch.js +19 -11
  68. package/commands/customObject/schema/list.d.ts +4 -8
  69. package/commands/customObject/schema/list.js +17 -10
  70. package/commands/customObject/schema/update.d.ts +4 -9
  71. package/commands/customObject/schema/update.js +18 -11
  72. package/commands/customObject/schema.d.ts +3 -5
  73. package/commands/customObject/schema.js +27 -54
  74. package/commands/customObject.d.ts +3 -4
  75. package/commands/customObject.js +22 -48
  76. package/commands/doctor.js +5 -6
  77. package/commands/feedback.d.ts +7 -1
  78. package/commands/feedback.js +36 -21
  79. package/commands/fetch.d.ts +12 -1
  80. package/commands/fetch.js +49 -34
  81. package/commands/filemanager.js +1 -2
  82. package/commands/function/deploy.d.ts +6 -1
  83. package/commands/function/deploy.js +70 -50
  84. package/commands/function/list.d.ts +6 -1
  85. package/commands/function/list.js +44 -32
  86. package/commands/function/server.d.ts +10 -1
  87. package/commands/function/server.js +49 -38
  88. package/commands/function.d.ts +5 -1
  89. package/commands/function.js +24 -11
  90. package/commands/hubdb/clear.d.ts +4 -9
  91. package/commands/hubdb/clear.js +21 -15
  92. package/commands/hubdb/create.d.ts +4 -9
  93. package/commands/hubdb/create.js +23 -17
  94. package/commands/hubdb/delete.d.ts +4 -9
  95. package/commands/hubdb/delete.js +24 -16
  96. package/commands/hubdb/fetch.d.ts +4 -9
  97. package/commands/hubdb/fetch.js +20 -14
  98. package/commands/hubdb.d.ts +3 -2
  99. package/commands/hubdb.js +24 -47
  100. package/commands/init.js +18 -20
  101. package/commands/lint.d.ts +6 -4
  102. package/commands/lint.js +44 -44
  103. package/commands/list.js +5 -6
  104. package/commands/logs.d.ts +10 -1
  105. package/commands/logs.js +53 -45
  106. package/commands/module/marketplace-validate.d.ts +6 -1
  107. package/commands/module/marketplace-validate.js +39 -28
  108. package/commands/module.d.ts +3 -1
  109. package/commands/module.js +22 -12
  110. package/commands/mv.js +4 -5
  111. package/commands/open.js +4 -5
  112. package/commands/project/add.d.ts +3 -7
  113. package/commands/project/add.js +28 -23
  114. package/commands/project/cloneApp.d.ts +6 -8
  115. package/commands/project/cloneApp.js +49 -45
  116. package/commands/project/create.d.ts +10 -1
  117. package/commands/project/create.js +85 -63
  118. package/commands/project/deploy.d.ts +3 -6
  119. package/commands/project/deploy.js +27 -25
  120. package/commands/project/dev/deprecatedFlow.js +32 -25
  121. package/commands/project/dev/index.d.ts +4 -2
  122. package/commands/project/dev/index.js +31 -18
  123. package/commands/project/dev/unifiedFlow.js +37 -15
  124. package/commands/project/download.d.ts +3 -7
  125. package/commands/project/download.js +18 -19
  126. package/commands/project/installDeps.d.ts +6 -1
  127. package/commands/project/installDeps.js +48 -32
  128. package/commands/project/listBuilds.d.ts +3 -7
  129. package/commands/project/listBuilds.js +32 -27
  130. package/commands/project/logs.d.ts +10 -1
  131. package/commands/project/logs.js +73 -65
  132. package/commands/project/migrate.d.ts +6 -0
  133. package/commands/project/migrate.js +71 -0
  134. package/commands/project/migrateApp.d.ts +3 -8
  135. package/commands/project/migrateApp.js +23 -20
  136. package/commands/project/open.d.ts +3 -7
  137. package/commands/project/open.js +29 -21
  138. package/commands/project/upload.d.ts +9 -1
  139. package/commands/project/upload.js +78 -54
  140. package/commands/project/watch.d.ts +6 -1
  141. package/commands/project/watch.js +95 -61
  142. package/commands/project.d.ts +3 -1
  143. package/commands/project.js +47 -35
  144. package/commands/remove.js +7 -5
  145. package/commands/sandbox/create.d.ts +4 -9
  146. package/commands/sandbox/create.js +27 -21
  147. package/commands/sandbox/delete.d.ts +4 -9
  148. package/commands/sandbox/delete.js +35 -29
  149. package/commands/sandbox.d.ts +3 -4
  150. package/commands/sandbox.js +20 -44
  151. package/commands/secret/addSecret.d.ts +4 -9
  152. package/commands/secret/addSecret.js +21 -15
  153. package/commands/secret/deleteSecret.d.ts +4 -9
  154. package/commands/secret/deleteSecret.js +28 -18
  155. package/commands/secret/listSecret.d.ts +4 -9
  156. package/commands/secret/listSecret.js +19 -13
  157. package/commands/secret/updateSecret.d.ts +4 -9
  158. package/commands/secret/updateSecret.js +25 -17
  159. package/commands/secret.d.ts +3 -4
  160. package/commands/secret.js +25 -49
  161. package/commands/theme/generate-selectors.js +5 -6
  162. package/commands/theme/marketplace-validate.js +5 -6
  163. package/commands/theme/preview.js +16 -16
  164. package/commands/theme.js +1 -2
  165. package/commands/upload.d.ts +12 -1
  166. package/commands/upload.js +118 -98
  167. package/commands/watch.d.ts +14 -1
  168. package/commands/watch.js +76 -66
  169. package/lang/en.d.ts +2828 -0
  170. package/lang/en.js +2681 -3300
  171. package/lang/en.lyaml +101 -41
  172. package/lib/accountTypes.d.ts +1 -0
  173. package/lib/accountTypes.js +12 -0
  174. package/lib/app/migrate.d.ts +10 -4
  175. package/lib/app/migrate.js +208 -94
  176. package/lib/app/migrate_legacy.d.ts +2 -2
  177. package/lib/app/migrate_legacy.js +10 -7
  178. package/lib/buildAccount.d.ts +1 -2
  179. package/lib/buildAccount.js +11 -10
  180. package/lib/commonOpts.d.ts +3 -4
  181. package/lib/commonOpts.js +46 -18
  182. package/lib/configMigrate.d.ts +2 -0
  183. package/lib/configMigrate.js +104 -0
  184. package/lib/configOptions.js +11 -10
  185. package/lib/constants.d.ts +9 -0
  186. package/lib/constants.js +10 -1
  187. package/lib/dependencyManagement.js +2 -2
  188. package/lib/doctor/Diagnosis.d.ts +1 -2
  189. package/lib/doctor/Diagnosis.js +19 -16
  190. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  191. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  192. package/lib/doctor/Doctor.d.ts +1 -0
  193. package/lib/doctor/Doctor.js +57 -44
  194. package/lib/errorHandlers/index.js +6 -7
  195. package/lib/errorHandlers/suppressError.js +18 -26
  196. package/lib/filesystem.d.ts +1 -1
  197. package/lib/generateSelectors.js +1 -2
  198. package/lib/hasFeature.d.ts +3 -1
  199. package/lib/interpolation.d.ts +2 -3
  200. package/lib/lang.d.ts +2 -3
  201. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  202. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  203. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  204. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  205. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  206. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  207. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  208. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  209. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  210. package/lib/middleware/__test__/utils.test.js +53 -0
  211. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  212. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  213. package/lib/middleware/configMiddleware.d.ts +13 -0
  214. package/lib/middleware/configMiddleware.js +116 -0
  215. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  216. package/lib/middleware/fireAlarmMiddleware.js +123 -0
  217. package/lib/middleware/gitMiddleware.d.ts +2 -0
  218. package/lib/middleware/gitMiddleware.js +14 -0
  219. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  220. package/lib/middleware/notificationsMiddleware.js +38 -0
  221. package/lib/middleware/requestMiddleware.d.ts +1 -0
  222. package/lib/middleware/requestMiddleware.js +11 -0
  223. package/lib/middleware/utils.d.ts +8 -0
  224. package/lib/middleware/utils.js +17 -0
  225. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  226. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  227. package/lib/oauth.js +1 -2
  228. package/lib/process.js +1 -2
  229. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  230. package/lib/projects/ProjectLogsManager.js +16 -21
  231. package/lib/projects/buildAndDeploy.js +45 -41
  232. package/lib/projects/config.d.ts +9 -0
  233. package/lib/projects/config.js +79 -0
  234. package/lib/projects/create.js +5 -6
  235. package/lib/projects/ensureProjectExists.d.ts +11 -0
  236. package/lib/projects/ensureProjectExists.js +97 -0
  237. package/lib/projects/localDev/AppDevModeInterface.d.ts +25 -0
  238. package/lib/projects/localDev/AppDevModeInterface.js +117 -0
  239. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  240. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  241. package/lib/projects/localDev/DevServerManagerV2.d.ts +22 -0
  242. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
  243. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  244. package/lib/projects/localDev/LocalDevLogger.js +158 -0
  245. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  246. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +48 -82
  247. package/lib/projects/localDev/LocalDevProcess.d.ts +41 -0
  248. package/lib/projects/localDev/LocalDevProcess.js +178 -0
  249. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  250. package/lib/projects/localDev/LocalDevWatcher.js +55 -0
  251. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +15 -0
  252. package/lib/projects/localDev/LocalDevWebsocketServer.js +80 -0
  253. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
  254. package/lib/{localDev.js → projects/localDev/helpers.js} +97 -114
  255. package/lib/projects/ui.d.ts +1 -0
  256. package/lib/projects/ui.js +15 -0
  257. package/lib/projects/upload.d.ts +13 -2
  258. package/lib/projects/upload.js +18 -34
  259. package/lib/projects/urls.d.ts +1 -0
  260. package/lib/projects/urls.js +6 -0
  261. package/lib/projects/watch.d.ts +1 -1
  262. package/lib/projects/watch.js +21 -18
  263. package/lib/prompts/accountNamePrompt.js +16 -13
  264. package/lib/prompts/accountsPrompt.js +1 -2
  265. package/lib/prompts/cmsFieldPrompt.js +1 -2
  266. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  267. package/lib/prompts/createApiSamplePrompt.js +4 -5
  268. package/lib/prompts/createFunctionPrompt.js +13 -14
  269. package/lib/prompts/createModulePrompt.js +8 -9
  270. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  271. package/lib/prompts/createProjectPrompt.js +14 -9
  272. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  273. package/lib/prompts/createTemplatePrompt.js +1 -2
  274. package/lib/prompts/downloadProjectPrompt.js +3 -4
  275. package/lib/prompts/installPublicAppPrompt.js +6 -5
  276. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  277. package/lib/prompts/previewPrompt.js +5 -6
  278. package/lib/prompts/projectAddPrompt.js +4 -5
  279. package/lib/prompts/projectDevTargetAccountPrompt.js +11 -12
  280. package/lib/prompts/projectNamePrompt.js +5 -6
  281. package/lib/prompts/projectsLogsPrompt.js +3 -2
  282. package/lib/prompts/promptUtils.d.ts +1 -1
  283. package/lib/prompts/sandboxesPrompt.js +5 -6
  284. package/lib/prompts/secretPrompt.js +2 -3
  285. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  286. package/lib/prompts/selectPublicAppPrompt.js +6 -7
  287. package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
  288. package/lib/prompts/uploadPrompt.js +4 -5
  289. package/lib/sandboxSync.js +15 -14
  290. package/lib/sandboxes.js +12 -13
  291. package/lib/serverlessLogs.js +4 -6
  292. package/lib/ui/SpinniesManager.d.ts +1 -1
  293. package/lib/ui/boxen.d.ts +5 -0
  294. package/lib/ui/boxen.js +30 -0
  295. package/lib/ui/git.js +8 -9
  296. package/lib/ui/index.d.ts +4 -2
  297. package/lib/ui/index.js +16 -16
  298. package/lib/ui/logger.d.ts +10 -0
  299. package/lib/ui/logger.js +15 -0
  300. package/lib/ui/serverlessFunctionLogs.js +2 -3
  301. package/lib/ui/spinniesUtils.d.ts +5 -5
  302. package/lib/upload.d.ts +1 -1
  303. package/lib/yargsUtils.d.ts +5 -1
  304. package/lib/yargsUtils.js +6 -0
  305. package/package.json +9 -6
  306. package/types/Cms.d.ts +30 -0
  307. package/types/Cms.js +2 -0
  308. package/types/LocalDev.d.ts +22 -0
  309. package/types/LocalDev.js +2 -0
  310. package/types/Yargs.d.ts +9 -10
  311. package/lib/DevServerManagerV2.d.ts +0 -33
  312. package/lib/LocalDevManagerV2.d.ts +0 -64
  313. package/lib/LocalDevManagerV2.js +0 -377
  314. package/lib/projects/index.d.ts +0 -20
  315. package/lib/projects/index.js +0 -194
@@ -10,23 +10,20 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const projects_1 = require("@hubspot/local-dev-lib/api/projects");
12
12
  const ignoreRules_1 = require("@hubspot/local-dev-lib/ignoreRules");
13
- const logger_1 = require("@hubspot/local-dev-lib/logger");
14
13
  const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
15
14
  const ui_1 = require("../ui");
16
- const lang_1 = require("../lang");
17
15
  const exitCodes_1 = require("../enums/exitCodes");
18
16
  const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
19
17
  const errorHandlers_1 = require("../errorHandlers");
20
18
  const node_util_1 = __importDefault(require("node:util"));
21
- const i18nKey = 'lib.projectUpload';
19
+ const en_1 = require("../../lang/en");
20
+ const ensureProjectExists_1 = require("./ensureProjectExists");
21
+ const logger_1 = require("../ui/logger");
22
22
  async function uploadProjectFiles(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation) {
23
23
  SpinniesManager_1.default.init({});
24
24
  const accountIdentifier = (0, ui_1.uiAccountDescription)(accountId);
25
25
  SpinniesManager_1.default.add('upload', {
26
- text: (0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.add`, {
27
- accountIdentifier,
28
- projectName,
29
- }),
26
+ text: en_1.lib.projectUpload.uploadProjectFiles.add(projectName, accountIdentifier),
30
27
  succeedColor: 'white',
31
28
  });
32
29
  let buildId;
@@ -35,48 +32,33 @@ async function uploadProjectFiles(accountId, projectName, filePath, uploadMessag
35
32
  const { data: upload } = await (0, projects_1.uploadProject)(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation);
36
33
  buildId = upload.buildId;
37
34
  SpinniesManager_1.default.succeed('upload', {
38
- text: (0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.succeed`, {
39
- accountIdentifier,
40
- projectName,
41
- }),
35
+ text: en_1.lib.projectUpload.uploadProjectFiles.succeed(projectName, accountIdentifier),
42
36
  });
43
37
  if (buildId) {
44
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.buildCreated`, {
45
- buildId,
46
- projectName,
47
- }));
38
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.uploadProjectFiles.buildCreated(projectName, buildId));
48
39
  }
49
40
  }
50
41
  catch (err) {
51
42
  SpinniesManager_1.default.fail('upload', {
52
- text: (0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.fail`, {
53
- accountIdentifier,
54
- projectName,
55
- }),
43
+ text: en_1.lib.projectUpload.uploadProjectFiles.fail(projectName, accountIdentifier),
56
44
  });
57
45
  error = err;
58
46
  }
59
47
  return { buildId, error };
60
48
  }
61
- async function handleProjectUpload(accountId, projectConfig, projectDir, callbackFunc, uploadMessage, sendIR = false, skipValidation = false) {
49
+ async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
62
50
  const srcDir = path_1.default.resolve(projectDir, projectConfig.srcDir);
63
51
  const filenames = fs_extra_1.default.readdirSync(srcDir);
64
52
  if (!filenames || filenames.length === 0) {
65
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.handleProjectUpload.emptySource`, {
66
- srcDir: projectConfig.srcDir,
67
- }));
53
+ logger_1.uiLogger.log(en_1.lib.projectUpload.handleProjectUpload.emptySource(projectConfig.srcDir));
68
54
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
69
55
  }
70
56
  const tempFile = tmp_1.default.fileSync({ postfix: '.zip' });
71
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.handleProjectUpload.compressing`, {
72
- path: tempFile.name,
73
- }));
57
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.compressing(tempFile.name));
74
58
  const output = fs_extra_1.default.createWriteStream(tempFile.name);
75
59
  const archive = (0, archiver_1.default)('zip');
76
60
  const result = new Promise(resolve => output.on('close', async function () {
77
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.handleProjectUpload.compressed`, {
78
- byteCount: archive.pointer(),
79
- }));
61
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.compressed(archive.pointer()));
80
62
  let intermediateRepresentation;
81
63
  if (sendIR) {
82
64
  try {
@@ -85,11 +67,11 @@ async function handleProjectUpload(accountId, projectConfig, projectDir, callbac
85
67
  platformVersion: projectConfig.platformVersion,
86
68
  accountId,
87
69
  }, { skipValidation });
88
- logger_1.logger.debug(node_util_1.default.inspect(intermediateRepresentation, false, null, true));
70
+ logger_1.uiLogger.debug(node_util_1.default.inspect(intermediateRepresentation, false, null, true));
89
71
  }
90
72
  catch (e) {
91
73
  if ((0, project_parsing_lib_1.isTranslationError)(e)) {
92
- logger_1.logger.error(e.toString());
74
+ logger_1.uiLogger.error(e.toString());
93
75
  }
94
76
  else {
95
77
  (0, errorHandlers_1.logError)(e);
@@ -97,6 +79,10 @@ async function handleProjectUpload(accountId, projectConfig, projectDir, callbac
97
79
  return process.exit(exitCodes_1.EXIT_CODES.ERROR);
98
80
  }
99
81
  }
82
+ await (0, ensureProjectExists_1.ensureProjectExists)(accountId, projectConfig.name, {
83
+ forceCreate,
84
+ uploadCommand: isUploadCommand,
85
+ });
100
86
  const { buildId, error } = await uploadProjectFiles(accountId, projectConfig.name, tempFile.name, uploadMessage, projectConfig.platformVersion, intermediateRepresentation);
101
87
  if (error) {
102
88
  resolve({ uploadError: error });
@@ -113,9 +99,7 @@ async function handleProjectUpload(accountId, projectConfig, projectDir, callbac
113
99
  if (ignored) {
114
100
  const isNodeModule = file.name.includes('node_modules');
115
101
  if (!isNodeModule || !loggedIgnoredNodeModule) {
116
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.handleProjectUpload.fileFiltered`, {
117
- filename: file.name,
118
- }));
102
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.fileFiltered(file.name));
119
103
  }
120
104
  if (isNodeModule && !loggedIgnoredNodeModule) {
121
105
  loggedIgnoredNodeModule = true;
@@ -1,4 +1,5 @@
1
1
  export declare function getProjectDetailUrl(projectName: string, accountId: number): string | undefined;
2
+ export declare function getProjectSettingsUrl(projectName: string, accountId: number): string | undefined;
2
3
  export declare function getProjectActivityUrl(projectName: string, accountId: number): string;
3
4
  export declare function getProjectBuildDetailUrl(projectName: string, buildId: number, accountId: number): string;
4
5
  export declare function getProjectDeployDetailUrl(projectName: string, deployId: number, accountId: number): string;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProjectDetailUrl = getProjectDetailUrl;
4
+ exports.getProjectSettingsUrl = getProjectSettingsUrl;
4
5
  exports.getProjectActivityUrl = getProjectActivityUrl;
5
6
  exports.getProjectBuildDetailUrl = getProjectBuildDetailUrl;
6
7
  exports.getProjectDeployDetailUrl = getProjectDeployDetailUrl;
@@ -16,6 +17,11 @@ function getProjectDetailUrl(projectName, accountId) {
16
17
  return;
17
18
  return `${getProjectHomeUrl(accountId)}/project/${projectName}`;
18
19
  }
20
+ function getProjectSettingsUrl(projectName, accountId) {
21
+ if (!projectName)
22
+ return;
23
+ return `${getProjectDetailUrl(projectName, accountId)}/settings`;
24
+ }
19
25
  function getProjectActivityUrl(projectName, accountId) {
20
26
  return `${getProjectDetailUrl(projectName, accountId)}/activity`;
21
27
  }
@@ -1,4 +1,4 @@
1
1
  import { ProjectConfig } from '../../types/Projects';
2
- type ProjectWatchHandlerFunction = (accountId: number, projectName: string, currentBuildId: number) => Promise<void>;
2
+ type ProjectWatchHandlerFunction = (accountId: number, projectName: string, currentBuildId: number) => Promise<void> | void;
3
3
  export declare function createWatcher(accountId: number, projectConfig: ProjectConfig, projectDir: string, handleBuildStatusFn: ProjectWatchHandlerFunction, handleUserInputFn: ProjectWatchHandlerFunction): Promise<void>;
4
4
  export {};
@@ -8,16 +8,15 @@ const chokidar_1 = __importDefault(require("chokidar"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const chalk_1 = __importDefault(require("chalk"));
10
10
  const p_queue_1 = __importDefault(require("p-queue"));
11
- const logger_1 = require("@hubspot/local-dev-lib/logger");
12
11
  const path_2 = require("@hubspot/local-dev-lib/path");
13
12
  const extensions_1 = require("@hubspot/local-dev-lib/constants/extensions");
14
13
  const ignoreRules_1 = require("@hubspot/local-dev-lib/ignoreRules");
15
14
  const projects_1 = require("@hubspot/local-dev-lib/api/projects");
16
15
  const index_1 = require("@hubspot/local-dev-lib/errors/index");
17
16
  const errorHandlers_1 = require("../errorHandlers");
18
- const lang_1 = require("../lang");
19
17
  const constants_1 = require("../constants");
20
- const i18nKey = 'commands.project.subcommands.watch';
18
+ const en_1 = require("../../lang/en");
19
+ const logger_1 = require("../ui/logger");
21
20
  const queue = new p_queue_1.default({
22
21
  concurrency: 10,
23
22
  });
@@ -44,18 +43,18 @@ function debounceQueueBuild(accountId, projectName, platformVersion) {
44
43
  clearTimeout(timer);
45
44
  }
46
45
  timer = setTimeout(async () => {
47
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.pause`, { projectName }));
46
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.pause);
48
47
  queue.pause();
49
48
  await queue.onIdle();
50
49
  try {
51
50
  await (0, projects_1.queueBuild)(accountId, projectName, platformVersion);
52
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.buildStarted`, { projectName }));
51
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.buildStarted);
53
52
  }
54
53
  catch (err) {
55
54
  if ((0, index_1.isSpecifiedError)(err, {
56
55
  subCategory: constants_1.PROJECT_ERROR_TYPES.MISSING_PROJECT_PROVISION,
57
56
  })) {
58
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.watchCancelledFromUi`));
57
+ logger_1.uiLogger.log(en_1.commands.project.watch.logs.watchCancelledFromUi);
59
58
  process.exit(0);
60
59
  }
61
60
  else {
@@ -69,24 +68,24 @@ function debounceQueueBuild(accountId, projectName, platformVersion) {
69
68
  await processStandByQueue(accountId, projectName, platformVersion);
70
69
  }
71
70
  queue.start();
72
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.resuming`));
73
- logger_1.logger.log(`\n> Press ${chalk_1.default.bold('q')} to quit watching\n`);
71
+ logger_1.uiLogger.log(en_1.commands.project.watch.logs.resuming);
72
+ logger_1.uiLogger.log(`\n> Press ${chalk_1.default.bold('q')} to quit watching\n`);
74
73
  }, 2000);
75
74
  }
76
75
  async function queueFileOrFolder(accountId, projectName, platformVersion, filePath, remotePath, action) {
77
76
  if (action === 'upload' &&
78
77
  !(0, path_2.isAllowedExtension)(filePath, Array.from(extensions_1.JSR_ALLOWED_EXTENSIONS))) {
79
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.extensionNotAllowed`, { filePath }));
78
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.extensionNotAllowed(filePath));
80
79
  return;
81
80
  }
82
81
  if ((0, ignoreRules_1.shouldIgnoreFile)(filePath, true)) {
83
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.ignored`, { filePath }));
82
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.ignored(filePath));
84
83
  return;
85
84
  }
86
85
  if (!queue.isPaused) {
87
86
  debounceQueueBuild(accountId, projectName, platformVersion);
88
87
  }
89
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.uploading`, { filePath, remotePath }));
88
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.uploading(filePath, remotePath));
90
89
  return queue.add(async () => {
91
90
  try {
92
91
  if (action === 'upload') {
@@ -95,16 +94,20 @@ async function queueFileOrFolder(accountId, projectName, platformVersion, filePa
95
94
  else if (action === 'deleteFile' || action === 'deleteFolder') {
96
95
  await (0, projects_1.deleteFileFromBuild)(accountId, projectName, remotePath);
97
96
  }
98
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.${action}Succeeded`, { filePath, remotePath }));
97
+ logger_1.uiLogger.log(
98
+ // @ts-expect-error
99
+ en_1.commands.project.watch.logs[`${action}Succeeded`](remotePath, filePath));
99
100
  }
100
101
  catch (err) {
101
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.errors.${action}Failed`, { filePath, remotePath }));
102
+ logger_1.uiLogger.debug(
103
+ // @ts-expect-error
104
+ en_1.commands.project.watch.errors[`${action}Failed`](remotePath, filePath));
102
105
  }
103
106
  });
104
107
  }
105
108
  async function createNewBuild(accountId, projectName, platformVersion) {
106
109
  try {
107
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.attemptNewBuild`));
110
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.attemptNewBuild);
108
111
  const { data: { buildId }, } = await (0, projects_1.provisionBuild)(accountId, projectName, platformVersion);
109
112
  return buildId;
110
113
  }
@@ -112,7 +115,7 @@ async function createNewBuild(accountId, projectName, platformVersion) {
112
115
  (0, errorHandlers_1.logError)(err, new errorHandlers_1.ApiErrorContext({ accountId }));
113
116
  if ((0, index_1.isSpecifiedError)(err, { subCategory: constants_1.PROJECT_ERROR_TYPES.PROJECT_LOCKED })) {
114
117
  await (0, projects_1.cancelStagedBuild)(accountId, projectName);
115
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.previousStagingBuildCancelled`));
118
+ logger_1.uiLogger.log(en_1.commands.project.watch.logs.previousStagingBuildCancelled);
116
119
  }
117
120
  process.exit(1);
118
121
  }
@@ -121,7 +124,7 @@ async function handleWatchEvent(accountId, projectName, platformVersion, project
121
124
  const remotePath = path_1.default.relative(projectSourceDir, filePath);
122
125
  if (queue.isPaused) {
123
126
  if (standbyQueue.find(file => file.filePath === filePath)) {
124
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.debug.fileAlreadyQueued`, { filePath }));
127
+ logger_1.uiLogger.debug(en_1.commands.project.watch.debug.fileAlreadyQueued(filePath));
125
128
  }
126
129
  else {
127
130
  standbyQueue.push({
@@ -145,8 +148,8 @@ async function createWatcher(accountId, projectConfig, projectDir, handleBuildSt
145
148
  ignored: file => (0, ignoreRules_1.shouldIgnoreFile)(file),
146
149
  });
147
150
  watcher.on('ready', async () => {
148
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.watching`, { projectDir }));
149
- logger_1.logger.log(`\n> Press ${chalk_1.default.bold('q')} to quit watching\n`);
151
+ logger_1.uiLogger.log(en_1.commands.project.watch.logs.watching(projectDir));
152
+ logger_1.uiLogger.log(`\n> Press ${chalk_1.default.bold('q')} to quit watching\n`);
150
153
  });
151
154
  watcher.on('add', async (path) => {
152
155
  handleWatchEvent(accountId, projectConfig.name, projectConfig.platformVersion, projectSourceDir, path);
@@ -7,24 +7,25 @@ const config_1 = require("@hubspot/local-dev-lib/config");
7
7
  const promptUtils_1 = require("./promptUtils");
8
8
  const lang_1 = require("../lang");
9
9
  const config_2 = require("@hubspot/local-dev-lib/constants/config");
10
- const i18nKey = 'lib.prompts.accountNamePrompt';
11
10
  function getCliAccountNamePromptConfig(defaultName) {
12
11
  return {
13
12
  name: 'name',
14
- message: (0, lang_1.i18n)(`${i18nKey}.enterAccountName`),
13
+ message: (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.enterAccountName`),
15
14
  default: defaultName,
16
15
  validate(val) {
17
16
  if (typeof val !== 'string') {
18
- return (0, lang_1.i18n)(`${i18nKey}.errors.invalidName`);
17
+ return (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.invalidName`);
19
18
  }
20
19
  else if (!val.length) {
21
- return (0, lang_1.i18n)(`${i18nKey}.errors.nameRequired`);
20
+ return (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.nameRequired`);
22
21
  }
23
22
  else if (val.indexOf(' ') >= 0) {
24
- return (0, lang_1.i18n)(`${i18nKey}.errors.spacesInName`);
23
+ return (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.spacesInName`);
25
24
  }
26
25
  return (0, config_1.accountNameExistsInConfig)(val)
27
- ? (0, lang_1.i18n)(`${i18nKey}.errors.accountNameExists`, { name: val })
26
+ ? (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.accountNameExists`, {
27
+ name: val,
28
+ })
28
29
  : true;
29
30
  },
30
31
  };
@@ -41,12 +42,12 @@ function hubspotAccountNamePrompt({ accountType, currentPortalCount = 0, }) {
41
42
  let defaultName;
42
43
  if (isSandbox) {
43
44
  promptMessageString = isDevelopmentSandbox
44
- ? (0, lang_1.i18n)(`${i18nKey}.enterDevelopmentSandboxName`)
45
- : (0, lang_1.i18n)(`${i18nKey}.enterStandardSandboxName`);
45
+ ? (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.enterDevelopmentSandboxName`)
46
+ : (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.enterStandardSandboxName`);
46
47
  }
47
48
  else if (isDeveloperTestAccount) {
48
- promptMessageString = (0, lang_1.i18n)(`${i18nKey}.enterDeveloperTestAccountName`);
49
- defaultName = (0, lang_1.i18n)(`${i18nKey}.developerTestAccountDefaultName`, {
49
+ promptMessageString = (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.enterDeveloperTestAccountName`);
50
+ defaultName = (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.developerTestAccountDefaultName`, {
50
51
  count: currentPortalCount + 1,
51
52
  });
52
53
  }
@@ -56,13 +57,15 @@ function hubspotAccountNamePrompt({ accountType, currentPortalCount = 0, }) {
56
57
  message: promptMessageString,
57
58
  validate(val) {
58
59
  if (typeof val !== 'string') {
59
- return (0, lang_1.i18n)(`${i18nKey}.errors.invalidName`);
60
+ return (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.invalidName`);
60
61
  }
61
62
  else if (!val.trim().length) {
62
- return (0, lang_1.i18n)(`${i18nKey}.errors.nameRequired`);
63
+ return (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.nameRequired`);
63
64
  }
64
65
  return (0, config_1.accountNameExistsInConfig)(val)
65
- ? (0, lang_1.i18n)(`${i18nKey}.errors.accountNameExists`, { name: val })
66
+ ? (0, lang_1.i18n)(`lib.prompts.accountNamePrompt.errors.accountNameExists`, {
67
+ name: val,
68
+ })
66
69
  : true;
67
70
  },
68
71
  default: defaultName,
@@ -12,7 +12,6 @@ function mapAccountChoices(portals) {
12
12
  value: String(p.name || (0, getAccountIdentifier_1.getAccountIdentifier)(p)),
13
13
  })) || []);
14
14
  }
15
- const i18nKey = 'commands.account.subcommands.use';
16
15
  async function selectAccountFromConfig(prompt = '') {
17
16
  const accountsList = (0, config_1.getConfigAccounts)();
18
17
  const defaultAccount = (0, config_1.getConfigDefaultAccount)();
@@ -21,7 +20,7 @@ async function selectAccountFromConfig(prompt = '') {
21
20
  type: 'list',
22
21
  name: 'default',
23
22
  pageSize: 20,
24
- message: prompt || (0, lang_1.i18n)(`${i18nKey}.promptMessage`),
23
+ message: prompt || (0, lang_1.i18n)(`commands.account.subcommands.use.promptMessage`),
25
24
  choices: mapAccountChoices(accountsList),
26
25
  default: defaultAccount ?? undefined,
27
26
  },
@@ -9,7 +9,6 @@ const fs_1 = __importDefault(require("fs"));
9
9
  const promptUtils_1 = require("./promptUtils");
10
10
  const lang_1 = require("../lang");
11
11
  const escapeRegExp_1 = require("@hubspot/local-dev-lib/escapeRegExp");
12
- const i18nKey = 'lib.prompts.uploadPrompt';
13
12
  const FIELDS_FILES = ['fields.json', 'fields.js', 'fields.cjs', 'fields.mjs'];
14
13
  async function fieldsJsPrompt(filePath, projectDir, skipFiles = []) {
15
14
  const dirName = path_1.default.dirname(filePath);
@@ -33,7 +32,7 @@ async function fieldsJsPrompt(filePath, projectDir, skipFiles = []) {
33
32
  }));
34
33
  const promptVal = await (0, promptUtils_1.promptUser)([
35
34
  {
36
- message: (0, lang_1.i18n)(`${i18nKey}.fieldsPrompt`, { dir: fileDir }),
35
+ message: (0, lang_1.i18n)(`lib.prompts.uploadPrompt.fieldsPrompt`, { dir: fileDir }),
37
36
  type: 'list',
38
37
  name: 'filePathChoice',
39
38
  choices: selection,
@@ -1,12 +1,4 @@
1
- type SampleChoice = {
2
- name: string;
3
- description: string;
4
- id: string;
5
- languages: string[];
6
- };
7
- type SampleConfig = {
8
- samples: SampleChoice[];
9
- };
1
+ import { ApiSampleConfig } from '../../types/Cms';
10
2
  type SampleTypePromptResponse = {
11
3
  sampleType?: string;
12
4
  };
@@ -14,5 +6,5 @@ type LanguagePromptResponse = {
14
6
  sampleLanguage?: string;
15
7
  };
16
8
  type CreateApiSamplePromptResponse = SampleTypePromptResponse & LanguagePromptResponse;
17
- export declare function createApiSamplePrompt(samplesConfig: SampleConfig): Promise<CreateApiSamplePromptResponse>;
9
+ export declare function createApiSamplePrompt(samplesConfig: ApiSampleConfig): Promise<CreateApiSamplePromptResponse>;
18
10
  export {};
@@ -3,12 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createApiSamplePrompt = createApiSamplePrompt;
4
4
  const promptUtils_1 = require("./promptUtils");
5
5
  const lang_1 = require("../lang");
6
- const i18nKey = 'lib.prompts.createApiSamplePrompt';
7
6
  function getSampleTypesPrompt(choices) {
8
7
  return {
9
8
  type: 'rawlist',
10
9
  name: 'sampleType',
11
- message: (0, lang_1.i18n)(`${i18nKey}.selectApiSampleApp`),
10
+ message: (0, lang_1.i18n)(`lib.prompts.createApiSamplePrompt.selectApiSampleApp`),
12
11
  choices: choices.map(choice => ({
13
12
  name: `${choice.name} - ${choice.description}`,
14
13
  value: choice.id,
@@ -19,7 +18,7 @@ function getSampleTypesPrompt(choices) {
19
18
  resolve(true);
20
19
  }
21
20
  else {
22
- reject((0, lang_1.i18n)(`${i18nKey}.errors.apiSampleAppRequired`));
21
+ reject((0, lang_1.i18n)(`lib.prompts.createApiSamplePrompt.errors.apiSampleAppRequired`));
23
22
  }
24
23
  });
25
24
  },
@@ -29,7 +28,7 @@ function getLanguagesPrompt(choices) {
29
28
  return {
30
29
  type: 'rawlist',
31
30
  name: 'sampleLanguage',
32
- message: (0, lang_1.i18n)(`${i18nKey}.selectLanguage`),
31
+ message: (0, lang_1.i18n)(`lib.prompts.createApiSamplePrompt.selectLanguage`),
33
32
  choices: choices.map(choice => ({
34
33
  name: choice,
35
34
  value: choice,
@@ -39,7 +38,7 @@ function getLanguagesPrompt(choices) {
39
38
  if (input && input.length > 0) {
40
39
  resolve(true);
41
40
  }
42
- reject((0, lang_1.i18n)(`${i18nKey}.errors.languageRequired`));
41
+ reject((0, lang_1.i18n)(`lib.prompts.createApiSamplePrompt.errors.languageRequired`));
43
42
  });
44
43
  },
45
44
  };
@@ -3,35 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFunctionPrompt = createFunctionPrompt;
4
4
  const promptUtils_1 = require("./promptUtils");
5
5
  const lang_1 = require("../lang");
6
- const i18nKey = 'lib.prompts.createFunctionPrompt';
7
6
  const FUNCTIONS_FOLDER_PROMPT = {
8
7
  name: 'functionsFolder',
9
- message: (0, lang_1.i18n)(`${i18nKey}.enterFolder`),
8
+ message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.enterFolder`),
10
9
  validate(val) {
11
10
  if (typeof val !== 'string') {
12
- return (0, lang_1.i18n)(`${i18nKey}.errors.invalid`);
11
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.invalid`);
13
12
  }
14
13
  else if (!val.length) {
15
- return (0, lang_1.i18n)(`${i18nKey}.errors.blank`);
14
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.blank`);
16
15
  }
17
16
  else if (val.indexOf(' ') >= 0) {
18
- return (0, lang_1.i18n)(`${i18nKey}.errors.space`);
17
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.space`);
19
18
  }
20
19
  return true;
21
20
  },
22
21
  };
23
22
  const FUNCTION_FILENAME_PROMPT = {
24
23
  name: 'filename',
25
- message: (0, lang_1.i18n)(`${i18nKey}.enterFilename`),
24
+ message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.enterFilename`),
26
25
  validate(val) {
27
26
  if (typeof val !== 'string') {
28
- return (0, lang_1.i18n)(`${i18nKey}.errors.invalid`);
27
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.invalid`);
29
28
  }
30
29
  else if (!val.length) {
31
- return (0, lang_1.i18n)(`${i18nKey}.errors.blank`);
30
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.blank`);
32
31
  }
33
32
  else if (val.indexOf(' ') >= 0) {
34
- return (0, lang_1.i18n)(`${i18nKey}.errors.space`);
33
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.space`);
35
34
  }
36
35
  return true;
37
36
  },
@@ -39,22 +38,22 @@ const FUNCTION_FILENAME_PROMPT = {
39
38
  const ENDPOINT_METHOD_PROMPT = {
40
39
  type: 'list',
41
40
  name: 'endpointMethod',
42
- message: (0, lang_1.i18n)(`${i18nKey}.selectEndpointMethod`),
41
+ message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.selectEndpointMethod`),
43
42
  default: 'GET',
44
43
  choices: ['DELETE', 'GET', 'PATCH', 'POST', 'PUT'],
45
44
  };
46
45
  const ENDPOINT_PATH_PROMPT = {
47
46
  name: 'endpointPath',
48
- message: (0, lang_1.i18n)(`${i18nKey}.enterEndpointPath`),
47
+ message: (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.enterEndpointPath`),
49
48
  validate(val) {
50
49
  if (typeof val !== 'string') {
51
- return (0, lang_1.i18n)(`${i18nKey}.errors.invalid`);
50
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.invalid`);
52
51
  }
53
52
  else if (!val.length) {
54
- return (0, lang_1.i18n)(`${i18nKey}.errors.blank`);
53
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.blank`);
55
54
  }
56
55
  else if (val.indexOf(' ') >= 0) {
57
- return (0, lang_1.i18n)(`${i18nKey}.errors.space`);
56
+ return (0, lang_1.i18n)(`lib.prompts.createFunctionPrompt.errors.space`);
58
57
  }
59
58
  return true;
60
59
  },
@@ -3,16 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createModulePrompt = createModulePrompt;
4
4
  const promptUtils_1 = require("./promptUtils");
5
5
  const lang_1 = require("../lang");
6
- const i18nKey = 'lib.prompts.createModulePrompt';
7
6
  const MODULE_LABEL_PROMPT = {
8
7
  name: 'moduleLabel',
9
- message: (0, lang_1.i18n)(`${i18nKey}.enterLabel`),
8
+ message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.enterLabel`),
10
9
  validate(val) {
11
10
  if (typeof val !== 'string') {
12
- return (0, lang_1.i18n)(`${i18nKey}.errors.invalidLabel`);
11
+ return (0, lang_1.i18n)(`lib.prompts.createModulePrompt.errors.invalidLabel`);
13
12
  }
14
13
  else if (!val.length) {
15
- return (0, lang_1.i18n)(`${i18nKey}.errors.labelRequired`);
14
+ return (0, lang_1.i18n)(`lib.prompts.createModulePrompt.errors.labelRequired`);
16
15
  }
17
16
  return true;
18
17
  },
@@ -20,13 +19,13 @@ const MODULE_LABEL_PROMPT = {
20
19
  const REACT_TYPE_PROMPT = {
21
20
  type: 'confirm',
22
21
  name: 'reactType',
23
- message: (0, lang_1.i18n)(`${i18nKey}.selectReactType`),
22
+ message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.selectReactType`),
24
23
  default: false,
25
24
  };
26
25
  const CONTENT_TYPES_PROMPT = {
27
26
  type: 'checkbox',
28
27
  name: 'contentTypes',
29
- message: (0, lang_1.i18n)(`${i18nKey}.selectContentType`),
28
+ message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.selectContentType`),
30
29
  default: ['ANY'],
31
30
  choices: [
32
31
  { name: 'Any', value: 'ANY' },
@@ -47,20 +46,20 @@ const CONTENT_TYPES_PROMPT = {
47
46
  if (input.length > 0) {
48
47
  resolve(true);
49
48
  }
50
- reject((0, lang_1.i18n)(`${i18nKey}.errors.contentTypeRequired`));
49
+ reject((0, lang_1.i18n)(`lib.prompts.createModulePrompt.errors.contentTypeRequired`));
51
50
  });
52
51
  },
53
52
  };
54
53
  const GLOBAL_PROMPT = {
55
54
  type: 'confirm',
56
55
  name: 'global',
57
- message: (0, lang_1.i18n)(`${i18nKey}.confirmGlobal`),
56
+ message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.confirmGlobal`),
58
57
  default: false,
59
58
  };
60
59
  const AVAILABLE_FOR_NEW_CONTENT = {
61
60
  type: 'confirm',
62
61
  name: 'availableForNewContent',
63
- message: (0, lang_1.i18n)(`${i18nKey}.availableForNewContent`),
62
+ message: (0, lang_1.i18n)(`lib.prompts.createModulePrompt.availableForNewContent`),
64
63
  default: true,
65
64
  };
66
65
  function createModulePrompt() {
@@ -1,12 +1,19 @@
1
1
  import { ProjectTemplate } from '../../types/Projects';
2
- type CreateProjectPromptResponse = {
2
+ type CreateProjectPromptResponseWithTemplate = {
3
3
  name: string;
4
4
  dest: string;
5
- projectTemplate?: ProjectTemplate;
5
+ projectTemplate: ProjectTemplate;
6
6
  };
7
- export declare function createProjectPrompt(promptOptions: {
7
+ type CreateProjectPromptResponseWithoutTemplate = {
8
+ name: string;
9
+ dest: string;
10
+ projectTemplate?: undefined;
11
+ };
12
+ type PromptOptionsArg = {
8
13
  name?: string;
9
14
  dest?: string;
10
15
  template?: string;
11
- }, projectTemplates?: ProjectTemplate[]): Promise<CreateProjectPromptResponse>;
16
+ };
17
+ export declare function createProjectPrompt(promptOptions: PromptOptionsArg, projectTemplates: ProjectTemplate[]): Promise<CreateProjectPromptResponseWithTemplate>;
18
+ export declare function createProjectPrompt(promptOptions: PromptOptionsArg, projectTemplates?: undefined): Promise<CreateProjectPromptResponseWithoutTemplate>;
12
19
  export {};