@hubspot/cli 7.5.1-experimental.0 → 7.5.2-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 (377) hide show
  1. package/api/migrate.d.ts +12 -3
  2. package/api/migrate.js +9 -2
  3. package/bin/cli.js +96 -93
  4. package/commands/account/auth.d.ts +6 -0
  5. package/commands/account/auth.js +167 -0
  6. package/commands/account/clean.d.ts +3 -7
  7. package/commands/account/clean.js +54 -14
  8. package/commands/account/createOverride.d.ts +6 -0
  9. package/commands/account/createOverride.js +121 -0
  10. package/commands/account/info.d.ts +3 -7
  11. package/commands/account/info.js +51 -9
  12. package/commands/account/list.d.ts +3 -7
  13. package/commands/account/list.js +38 -13
  14. package/commands/account/remove.d.ts +3 -7
  15. package/commands/account/remove.js +57 -11
  16. package/commands/account/removeOverride.d.ts +6 -0
  17. package/commands/account/removeOverride.js +93 -0
  18. package/commands/account/rename.d.ts +3 -7
  19. package/commands/account/rename.js +16 -9
  20. package/commands/account/use.d.ts +5 -9
  21. package/commands/account/use.js +39 -9
  22. package/commands/account.d.ts +3 -4
  23. package/commands/account.js +33 -53
  24. package/commands/app/migrate.d.ts +5 -6
  25. package/commands/app/migrate.js +60 -44
  26. package/commands/app/secret/add.d.ts +7 -0
  27. package/commands/app/secret/add.js +64 -0
  28. package/commands/app/secret/delete.d.ts +8 -0
  29. package/commands/app/secret/delete.js +87 -0
  30. package/commands/app/secret/list.d.ts +6 -0
  31. package/commands/app/secret/list.js +64 -0
  32. package/commands/app/secret/update.d.ts +7 -0
  33. package/commands/app/secret/update.js +77 -0
  34. package/commands/app/secret.d.ts +3 -0
  35. package/commands/app/secret.js +30 -0
  36. package/commands/app.d.ts +2 -5
  37. package/commands/app.js +10 -10
  38. package/commands/auth.d.ts +3 -7
  39. package/commands/auth.js +20 -25
  40. package/commands/cms/convertFields.d.ts +7 -1
  41. package/commands/cms/convertFields.js +57 -41
  42. package/commands/cms/getReactModule.d.ts +7 -1
  43. package/commands/cms/getReactModule.js +52 -34
  44. package/commands/cms/lighthouseScore.d.ts +8 -1
  45. package/commands/cms/lighthouseScore.js +133 -100
  46. package/commands/cms.d.ts +3 -1
  47. package/commands/cms.js +22 -16
  48. package/commands/completion.d.ts +3 -1
  49. package/commands/completion.js +23 -13
  50. package/commands/config/migrate.d.ts +6 -0
  51. package/commands/config/migrate.js +75 -0
  52. package/commands/config/set.d.ts +10 -1
  53. package/commands/config/set.js +61 -32
  54. package/commands/config.d.ts +3 -1
  55. package/commands/config.js +19 -11
  56. package/commands/create/api-sample.d.ts +3 -1
  57. package/commands/create/api-sample.js +34 -36
  58. package/commands/create/app.d.ts +3 -1
  59. package/commands/create/app.js +9 -7
  60. package/commands/create/function.d.ts +3 -1
  61. package/commands/create/function.js +11 -10
  62. package/commands/create/index.d.ts +5 -1
  63. package/commands/create/index.js +23 -11
  64. package/commands/create/module.d.ts +3 -1
  65. package/commands/create/module.js +14 -13
  66. package/commands/create/react-app.d.ts +3 -1
  67. package/commands/create/react-app.js +10 -7
  68. package/commands/create/template.d.ts +3 -1
  69. package/commands/create/template.js +14 -14
  70. package/commands/create/vue-app.d.ts +3 -1
  71. package/commands/create/vue-app.js +10 -7
  72. package/commands/create/webpack-serverless.d.ts +3 -1
  73. package/commands/create/webpack-serverless.js +10 -7
  74. package/commands/create/website-theme.d.ts +3 -1
  75. package/commands/create/website-theme.js +10 -9
  76. package/commands/create.d.ts +4 -24
  77. package/commands/create.js +62 -75
  78. package/commands/customObject/create.d.ts +4 -9
  79. package/commands/customObject/create.js +17 -10
  80. package/commands/customObject/schema/create.d.ts +4 -9
  81. package/commands/customObject/schema/create.js +18 -11
  82. package/commands/customObject/schema/delete.d.ts +4 -9
  83. package/commands/customObject/schema/delete.js +21 -11
  84. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  85. package/commands/customObject/schema/fetch-all.js +19 -11
  86. package/commands/customObject/schema/fetch.d.ts +4 -9
  87. package/commands/customObject/schema/fetch.js +19 -11
  88. package/commands/customObject/schema/list.d.ts +4 -8
  89. package/commands/customObject/schema/list.js +17 -10
  90. package/commands/customObject/schema/update.d.ts +4 -9
  91. package/commands/customObject/schema/update.js +18 -11
  92. package/commands/customObject/schema.d.ts +3 -5
  93. package/commands/customObject/schema.js +27 -54
  94. package/commands/customObject.d.ts +3 -4
  95. package/commands/customObject.js +20 -48
  96. package/commands/doctor.d.ts +6 -8
  97. package/commands/doctor.js +30 -22
  98. package/commands/feedback.d.ts +4 -1
  99. package/commands/feedback.js +38 -48
  100. package/commands/fetch.d.ts +12 -1
  101. package/commands/fetch.js +49 -34
  102. package/commands/filemanager/fetch.d.ts +4 -9
  103. package/commands/filemanager/fetch.js +18 -11
  104. package/commands/filemanager/upload.d.ts +4 -9
  105. package/commands/filemanager/upload.js +17 -11
  106. package/commands/filemanager.d.ts +3 -4
  107. package/commands/filemanager.js +18 -42
  108. package/commands/function/deploy.d.ts +6 -1
  109. package/commands/function/deploy.js +70 -50
  110. package/commands/function/list.d.ts +6 -1
  111. package/commands/function/list.js +44 -32
  112. package/commands/function/server.d.ts +10 -1
  113. package/commands/function/server.js +49 -38
  114. package/commands/function.d.ts +5 -1
  115. package/commands/function.js +22 -11
  116. package/commands/hubdb/clear.d.ts +4 -9
  117. package/commands/hubdb/clear.js +21 -15
  118. package/commands/hubdb/create.d.ts +4 -9
  119. package/commands/hubdb/create.js +23 -17
  120. package/commands/hubdb/delete.d.ts +4 -9
  121. package/commands/hubdb/delete.js +24 -16
  122. package/commands/hubdb/fetch.d.ts +4 -9
  123. package/commands/hubdb/fetch.js +20 -14
  124. package/commands/hubdb.d.ts +3 -2
  125. package/commands/hubdb.js +22 -47
  126. package/commands/init.d.ts +3 -7
  127. package/commands/init.js +25 -23
  128. package/commands/lint.d.ts +6 -4
  129. package/commands/lint.js +42 -44
  130. package/commands/list.d.ts +3 -7
  131. package/commands/list.js +21 -16
  132. package/commands/logs.d.ts +10 -1
  133. package/commands/logs.js +53 -45
  134. package/commands/module/marketplace-validate.d.ts +6 -1
  135. package/commands/module/marketplace-validate.js +39 -30
  136. package/commands/module.d.ts +3 -1
  137. package/commands/module.js +23 -12
  138. package/commands/mv.d.ts +3 -7
  139. package/commands/mv.js +20 -15
  140. package/commands/open.d.ts +3 -7
  141. package/commands/open.js +20 -15
  142. package/commands/project/add.d.ts +8 -9
  143. package/commands/project/add.js +53 -85
  144. package/commands/project/cloneApp.d.ts +6 -8
  145. package/commands/project/cloneApp.js +51 -47
  146. package/commands/project/create.d.ts +4 -1
  147. package/commands/project/create.js +132 -81
  148. package/commands/project/deploy.d.ts +4 -6
  149. package/commands/project/deploy.js +66 -36
  150. package/commands/project/dev/deprecatedFlow.d.ts +8 -2
  151. package/commands/project/dev/deprecatedFlow.js +41 -26
  152. package/commands/project/dev/index.d.ts +4 -5
  153. package/commands/project/dev/index.js +103 -33
  154. package/commands/project/dev/unifiedFlow.d.ts +11 -2
  155. package/commands/project/dev/unifiedFlow.js +87 -46
  156. package/commands/project/download.d.ts +3 -7
  157. package/commands/project/download.js +18 -19
  158. package/commands/project/installDeps.d.ts +6 -1
  159. package/commands/project/installDeps.js +48 -32
  160. package/commands/project/listBuilds.d.ts +3 -7
  161. package/commands/project/listBuilds.js +32 -27
  162. package/commands/project/logs.d.ts +10 -1
  163. package/commands/project/logs.js +73 -65
  164. package/commands/project/migrate.d.ts +7 -8
  165. package/commands/project/migrate.js +49 -26
  166. package/commands/project/migrateApp.d.ts +3 -8
  167. package/commands/project/migrateApp.js +23 -20
  168. package/commands/project/open.d.ts +3 -7
  169. package/commands/project/open.js +29 -21
  170. package/commands/project/profile/add.d.ts +7 -0
  171. package/commands/project/profile/add.js +209 -0
  172. package/commands/project/profile/delete.d.ts +6 -0
  173. package/commands/project/profile/delete.js +123 -0
  174. package/commands/project/profile.d.ts +3 -0
  175. package/commands/project/profile.js +25 -0
  176. package/commands/project/upload.d.ts +10 -1
  177. package/commands/project/upload.js +110 -56
  178. package/commands/project/watch.d.ts +6 -1
  179. package/commands/project/watch.js +95 -61
  180. package/commands/project.d.ts +3 -1
  181. package/commands/project.js +47 -37
  182. package/commands/remove.d.ts +3 -7
  183. package/commands/remove.js +22 -20
  184. package/commands/sandbox/create.d.ts +4 -9
  185. package/commands/sandbox/create.js +27 -21
  186. package/commands/sandbox/delete.d.ts +4 -9
  187. package/commands/sandbox/delete.js +35 -29
  188. package/commands/sandbox.d.ts +3 -4
  189. package/commands/sandbox.js +18 -44
  190. package/commands/secret/addSecret.d.ts +4 -9
  191. package/commands/secret/addSecret.js +21 -15
  192. package/commands/secret/deleteSecret.d.ts +4 -9
  193. package/commands/secret/deleteSecret.js +28 -18
  194. package/commands/secret/listSecret.d.ts +4 -9
  195. package/commands/secret/listSecret.js +19 -13
  196. package/commands/secret/updateSecret.d.ts +4 -9
  197. package/commands/secret/updateSecret.js +25 -17
  198. package/commands/secret.d.ts +3 -4
  199. package/commands/secret.js +23 -49
  200. package/commands/theme/generate-selectors.d.ts +3 -7
  201. package/commands/theme/generate-selectors.js +20 -16
  202. package/commands/theme/marketplace-validate.d.ts +4 -9
  203. package/commands/theme/marketplace-validate.js +22 -18
  204. package/commands/theme/preview.d.ts +4 -9
  205. package/commands/theme/preview.js +36 -30
  206. package/commands/theme.d.ts +3 -4
  207. package/commands/theme.js +22 -48
  208. package/commands/upload.d.ts +12 -1
  209. package/commands/upload.js +116 -135
  210. package/commands/watch.d.ts +14 -1
  211. package/commands/watch.js +74 -76
  212. package/lang/en.d.ts +3078 -0
  213. package/lang/en.js +2940 -3317
  214. package/lang/en.lyaml +89 -214
  215. package/lib/accountTypes.d.ts +1 -0
  216. package/lib/accountTypes.js +11 -0
  217. package/lib/app/migrate.d.ts +33 -4
  218. package/lib/app/migrate.js +171 -86
  219. package/lib/app/migrate_legacy.d.ts +2 -2
  220. package/lib/app/migrate_legacy.js +12 -11
  221. package/lib/app/urls.d.ts +16 -0
  222. package/lib/app/urls.js +16 -0
  223. package/lib/buildAccount.d.ts +1 -2
  224. package/lib/buildAccount.js +11 -10
  225. package/lib/commonOpts.d.ts +4 -7
  226. package/lib/commonOpts.js +47 -19
  227. package/lib/configMigrate.d.ts +2 -0
  228. package/lib/configMigrate.js +83 -0
  229. package/lib/configOptions.d.ts +4 -0
  230. package/lib/configOptions.js +41 -45
  231. package/lib/constants.d.ts +24 -0
  232. package/lib/constants.js +25 -1
  233. package/lib/dependencyManagement.d.ts +0 -5
  234. package/lib/dependencyManagement.js +14 -40
  235. package/lib/doctor/Diagnosis.d.ts +1 -2
  236. package/lib/doctor/Diagnosis.js +19 -16
  237. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  238. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  239. package/lib/doctor/Doctor.d.ts +1 -0
  240. package/lib/doctor/Doctor.js +59 -45
  241. package/lib/errorHandlers/index.js +6 -7
  242. package/lib/errorHandlers/suppressError.js +18 -26
  243. package/lib/filesystem.d.ts +1 -1
  244. package/lib/generateSelectors.js +3 -6
  245. package/lib/hasFeature.d.ts +3 -1
  246. package/lib/interpolation.d.ts +2 -3
  247. package/lib/lang.d.ts +2 -3
  248. package/lib/marketplaceValidate.d.ts +12 -2
  249. package/lib/marketplaceValidate.js +22 -29
  250. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +3 -3
  251. package/lib/middleware/autoUpdateMiddleware.d.ts +1 -0
  252. package/lib/middleware/autoUpdateMiddleware.js +89 -0
  253. package/lib/middleware/configMiddleware.js +23 -3
  254. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  255. package/lib/middleware/fireAlarmMiddleware.js +125 -0
  256. package/lib/middleware/yargsChecksMiddleware.js +2 -2
  257. package/lib/npm.d.ts +9 -0
  258. package/lib/npm.js +36 -0
  259. package/lib/oauth.js +1 -2
  260. package/lib/process.js +1 -2
  261. package/lib/projectProfiles.d.ts +6 -0
  262. package/lib/projectProfiles.js +65 -0
  263. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  264. package/lib/projects/ProjectLogsManager.js +16 -21
  265. package/lib/projects/add/legacyAddComponent.d.ts +5 -0
  266. package/lib/projects/add/legacyAddComponent.js +48 -0
  267. package/lib/projects/add/v3AddComponent.d.ts +8 -0
  268. package/lib/projects/add/v3AddComponent.js +85 -0
  269. package/lib/projects/buildAndDeploy.js +45 -41
  270. package/lib/projects/components.d.ts +2 -0
  271. package/lib/projects/components.js +82 -0
  272. package/lib/projects/config.d.ts +9 -0
  273. package/lib/projects/config.js +79 -0
  274. package/lib/projects/create/index.d.ts +23 -0
  275. package/lib/projects/create/index.js +33 -0
  276. package/lib/projects/create/legacy.d.ts +6 -0
  277. package/lib/projects/{create.js → create/legacy.js} +23 -15
  278. package/lib/projects/create/v3.d.ts +27 -0
  279. package/lib/projects/create/v3.js +158 -0
  280. package/lib/projects/ensureProjectExists.d.ts +11 -0
  281. package/lib/projects/ensureProjectExists.js +97 -0
  282. package/lib/projects/localDev/AppDevModeInterface.d.ts +26 -0
  283. package/lib/projects/localDev/AppDevModeInterface.js +178 -0
  284. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  285. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  286. package/lib/projects/localDev/DevServerManagerV2.d.ts +22 -0
  287. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
  288. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  289. package/lib/projects/localDev/LocalDevLogger.js +158 -0
  290. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  291. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +57 -83
  292. package/lib/projects/localDev/LocalDevProcess.d.ts +33 -0
  293. package/lib/projects/localDev/LocalDevProcess.js +198 -0
  294. package/lib/projects/localDev/LocalDevState.d.ts +47 -0
  295. package/lib/projects/localDev/LocalDevState.js +109 -0
  296. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  297. package/lib/projects/localDev/LocalDevWatcher.js +53 -0
  298. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +20 -0
  299. package/lib/projects/localDev/LocalDevWebsocketServer.js +130 -0
  300. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +6 -4
  301. package/lib/{localDev.js → projects/localDev/helpers.js} +127 -114
  302. package/lib/projects/ui.d.ts +1 -0
  303. package/lib/projects/ui.js +15 -0
  304. package/lib/projects/upload.d.ts +14 -2
  305. package/lib/projects/upload.js +25 -35
  306. package/lib/projects/urls.d.ts +1 -0
  307. package/lib/projects/urls.js +6 -0
  308. package/lib/projects/watch.d.ts +1 -1
  309. package/lib/projects/watch.js +21 -18
  310. package/lib/prompts/accountNamePrompt.js +16 -13
  311. package/lib/prompts/accountsPrompt.js +1 -2
  312. package/lib/prompts/cmsFieldPrompt.js +1 -2
  313. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  314. package/lib/prompts/createApiSamplePrompt.js +4 -5
  315. package/lib/prompts/createFunctionPrompt.js +13 -14
  316. package/lib/prompts/createModulePrompt.js +8 -9
  317. package/lib/prompts/createProjectPrompt.d.ts +20 -4
  318. package/lib/prompts/createProjectPrompt.js +41 -13
  319. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  320. package/lib/prompts/createTemplatePrompt.js +1 -2
  321. package/lib/prompts/downloadProjectPrompt.js +3 -4
  322. package/lib/prompts/installAppPrompt.d.ts +1 -0
  323. package/lib/prompts/installAppPrompt.js +35 -0
  324. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  325. package/lib/prompts/previewPrompt.js +5 -6
  326. package/lib/prompts/projectAddPrompt.d.ts +5 -1
  327. package/lib/prompts/projectAddPrompt.js +35 -8
  328. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +6 -1
  329. package/lib/prompts/projectDevTargetAccountPrompt.js +15 -16
  330. package/lib/prompts/projectNamePrompt.js +5 -6
  331. package/lib/prompts/projectsLogsPrompt.js +3 -2
  332. package/lib/prompts/promptUtils.d.ts +3 -2
  333. package/lib/prompts/promptUtils.js +2 -1
  334. package/lib/prompts/sandboxesPrompt.js +5 -6
  335. package/lib/prompts/secretPrompt.js +2 -3
  336. package/lib/prompts/selectAppPrompt.d.ts +2 -0
  337. package/lib/prompts/selectAppPrompt.js +40 -0
  338. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  339. package/lib/prompts/{selectPublicAppPrompt.d.ts → selectPublicAppForMigrationPrompt.d.ts} +1 -1
  340. package/lib/prompts/{selectPublicAppPrompt.js → selectPublicAppForMigrationPrompt.js} +8 -9
  341. package/lib/prompts/setAsDefaultAccountPrompt.js +11 -2
  342. package/lib/prompts/uploadPrompt.js +4 -5
  343. package/lib/sandboxSync.js +15 -14
  344. package/lib/sandboxes.js +12 -13
  345. package/lib/serverlessLogs.js +4 -6
  346. package/lib/testUtils.d.ts +3 -3
  347. package/lib/testUtils.js +8 -9
  348. package/lib/ui/SpinniesManager.d.ts +1 -1
  349. package/lib/ui/boxen.d.ts +5 -0
  350. package/lib/ui/boxen.js +30 -0
  351. package/lib/ui/git.js +8 -9
  352. package/lib/ui/index.d.ts +4 -2
  353. package/lib/ui/index.js +20 -17
  354. package/lib/ui/logger.d.ts +10 -0
  355. package/lib/ui/logger.js +15 -0
  356. package/lib/ui/serverlessFunctionLogs.js +2 -3
  357. package/lib/ui/spinniesUtils.d.ts +5 -5
  358. package/lib/upload.d.ts +1 -1
  359. package/lib/validation.js +4 -5
  360. package/lib/yargsUtils.d.ts +5 -1
  361. package/lib/yargsUtils.js +6 -0
  362. package/package.json +16 -10
  363. package/types/Cms.d.ts +30 -0
  364. package/types/Cms.js +2 -0
  365. package/types/LocalDev.d.ts +33 -0
  366. package/types/LocalDev.js +2 -0
  367. package/types/Projects.d.ts +19 -2
  368. package/types/Prompts.d.ts +0 -7
  369. package/types/Yargs.d.ts +14 -14
  370. package/lib/DevServerManagerV2.d.ts +0 -33
  371. package/lib/LocalDevManagerV2.d.ts +0 -64
  372. package/lib/LocalDevManagerV2.js +0 -377
  373. package/lib/projects/create.d.ts +0 -5
  374. package/lib/projects/index.d.ts +0 -21
  375. package/lib/projects/index.js +0 -194
  376. package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
  377. package/lib/prompts/installPublicAppPrompt.js +0 -40
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logFeedbackMessage = logFeedbackMessage;
4
+ const logger_1 = require("../ui/logger");
5
+ const constants_1 = require("../constants");
6
+ const ui_1 = require("../ui");
7
+ const en_1 = require("../../lang/en");
8
+ function logFeedbackMessage(buildId) {
9
+ if (buildId > 0 && buildId % constants_1.FEEDBACK_INTERVAL === 0) {
10
+ (0, ui_1.uiLine)();
11
+ logger_1.uiLogger.log(en_1.lib.projects.logFeedbackMessage.feedbackHeader);
12
+ (0, ui_1.uiLine)();
13
+ logger_1.uiLogger.log(en_1.lib.projects.logFeedbackMessage.feedbackMessage);
14
+ }
15
+ }
@@ -1,9 +1,21 @@
1
1
  import { FileResult } from 'tmp';
2
2
  import { ProjectConfig } from '../../types/Projects';
3
- type ProjectUploadCallbackFunction<T> = (accountId: number, projectConfig: ProjectConfig, tempFile: FileResult, buildId?: number) => Promise<T>;
3
+ type ProjectUploadCallbackFunction<T> = (accountId: number, projectConfig: ProjectConfig, tempFile: FileResult, buildId: number) => Promise<T>;
4
4
  type ProjectUploadResult<T> = {
5
5
  result?: T;
6
6
  uploadError?: unknown;
7
7
  };
8
- export declare function handleProjectUpload<T>(accountId: number, projectConfig: ProjectConfig, projectDir: string, callbackFunc: ProjectUploadCallbackFunction<T>, uploadMessage: string, sendIR?: boolean, skipValidation?: boolean): Promise<ProjectUploadResult<T>>;
8
+ type HandleProjectUploadArg<T> = {
9
+ accountId: number;
10
+ projectConfig: ProjectConfig;
11
+ projectDir: string;
12
+ callbackFunc: ProjectUploadCallbackFunction<T>;
13
+ uploadMessage?: string;
14
+ forceCreate?: boolean;
15
+ isUploadCommand?: boolean;
16
+ sendIR?: boolean;
17
+ skipValidation?: boolean;
18
+ profile?: string;
19
+ };
20
+ export declare function handleProjectUpload<T>({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage, forceCreate, isUploadCommand, sendIR, skipValidation, }: HandleProjectUploadArg<T>): Promise<ProjectUploadResult<T>>;
9
21
  export {};
@@ -10,23 +10,21 @@ 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
+ const buildAndDeploy_1 = require("./buildAndDeploy");
22
23
  async function uploadProjectFiles(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation) {
23
24
  SpinniesManager_1.default.init({});
24
25
  const accountIdentifier = (0, ui_1.uiAccountDescription)(accountId);
25
26
  SpinniesManager_1.default.add('upload', {
26
- text: (0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.add`, {
27
- accountIdentifier,
28
- projectName,
29
- }),
27
+ text: en_1.lib.projectUpload.uploadProjectFiles.add(projectName, accountIdentifier),
30
28
  succeedColor: 'white',
31
29
  });
32
30
  let buildId;
@@ -35,48 +33,38 @@ async function uploadProjectFiles(accountId, projectName, filePath, uploadMessag
35
33
  const { data: upload } = await (0, projects_1.uploadProject)(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation);
36
34
  buildId = upload.buildId;
37
35
  SpinniesManager_1.default.succeed('upload', {
38
- text: (0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.succeed`, {
39
- accountIdentifier,
40
- projectName,
41
- }),
36
+ text: en_1.lib.projectUpload.uploadProjectFiles.succeed(projectName, accountIdentifier),
42
37
  });
43
38
  if (buildId) {
44
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.buildCreated`, {
45
- buildId,
46
- projectName,
47
- }));
39
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.uploadProjectFiles.buildCreated(projectName, buildId));
48
40
  }
49
41
  }
50
42
  catch (err) {
51
43
  SpinniesManager_1.default.fail('upload', {
52
- text: (0, lang_1.i18n)(`${i18nKey}.uploadProjectFiles.fail`, {
53
- accountIdentifier,
54
- projectName,
55
- }),
44
+ text: en_1.lib.projectUpload.uploadProjectFiles.fail(projectName, accountIdentifier),
56
45
  });
57
46
  error = err;
58
47
  }
59
48
  return { buildId, error };
60
49
  }
61
- async function handleProjectUpload(accountId, projectConfig, projectDir, callbackFunc, uploadMessage, sendIR = false, skipValidation = false) {
50
+ async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
62
51
  const srcDir = path_1.default.resolve(projectDir, projectConfig.srcDir);
63
52
  const filenames = fs_extra_1.default.readdirSync(srcDir);
64
53
  if (!filenames || filenames.length === 0) {
65
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.handleProjectUpload.emptySource`, {
66
- srcDir: projectConfig.srcDir,
67
- }));
54
+ logger_1.uiLogger.log(en_1.lib.projectUpload.handleProjectUpload.emptySource(projectConfig.srcDir));
68
55
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
69
56
  }
57
+ const hasHsMetaFiles = await (0, project_parsing_lib_1.projectContainsHsMetaFiles)(srcDir);
58
+ if (!(0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion) && hasHsMetaFiles) {
59
+ logger_1.uiLogger.error(en_1.lib.projectUpload.wrongPlatformVersionMetaFiles);
60
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
61
+ }
70
62
  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
- }));
63
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.compressing(tempFile.name));
74
64
  const output = fs_extra_1.default.createWriteStream(tempFile.name);
75
65
  const archive = (0, archiver_1.default)('zip');
76
66
  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
- }));
67
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.compressed(archive.pointer()));
80
68
  let intermediateRepresentation;
81
69
  if (sendIR) {
82
70
  try {
@@ -84,12 +72,12 @@ async function handleProjectUpload(accountId, projectConfig, projectDir, callbac
84
72
  projectSourceDir: path_1.default.join(projectDir, projectConfig.srcDir),
85
73
  platformVersion: projectConfig.platformVersion,
86
74
  accountId,
87
- }, { skipValidation });
88
- logger_1.logger.debug(node_util_1.default.inspect(intermediateRepresentation, false, null, true));
75
+ }, { skipValidation, profile });
76
+ logger_1.uiLogger.debug(node_util_1.default.inspect(intermediateRepresentation, false, null, true));
89
77
  }
90
78
  catch (e) {
91
79
  if ((0, project_parsing_lib_1.isTranslationError)(e)) {
92
- logger_1.logger.error(e.toString());
80
+ logger_1.uiLogger.error(e.toString());
93
81
  }
94
82
  else {
95
83
  (0, errorHandlers_1.logError)(e);
@@ -97,6 +85,10 @@ async function handleProjectUpload(accountId, projectConfig, projectDir, callbac
97
85
  return process.exit(exitCodes_1.EXIT_CODES.ERROR);
98
86
  }
99
87
  }
88
+ await (0, ensureProjectExists_1.ensureProjectExists)(accountId, projectConfig.name, {
89
+ forceCreate,
90
+ uploadCommand: isUploadCommand,
91
+ });
100
92
  const { buildId, error } = await uploadProjectFiles(accountId, projectConfig.name, tempFile.name, uploadMessage, projectConfig.platformVersion, intermediateRepresentation);
101
93
  if (error) {
102
94
  resolve({ uploadError: error });
@@ -113,9 +105,7 @@ async function handleProjectUpload(accountId, projectConfig, projectDir, callbac
113
105
  if (ignored) {
114
106
  const isNodeModule = file.name.includes('node_modules');
115
107
  if (!isNodeModule || !loggedIgnoredNodeModule) {
116
- logger_1.logger.debug((0, lang_1.i18n)(`${i18nKey}.handleProjectUpload.fileFiltered`, {
117
- filename: file.name,
118
- }));
108
+ logger_1.uiLogger.debug(en_1.lib.projectUpload.handleProjectUpload.fileFiltered(file.name));
119
109
  }
120
110
  if (isNodeModule && !loggedIgnoredNodeModule) {
121
111
  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() {