@hubspot/cli 7.4.9-experimental.0 → 7.4.10-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 (366) hide show
  1. package/api/migrate.d.ts +14 -4
  2. package/api/migrate.js +16 -2
  3. package/bin/cli.js +9 -187
  4. package/commands/account/auth.d.ts +6 -0
  5. package/commands/account/auth.js +198 -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 +35 -53
  24. package/commands/app/migrate.d.ts +5 -6
  25. package/commands/app/migrate.js +60 -44
  26. package/commands/app.d.ts +2 -5
  27. package/commands/app.js +9 -9
  28. package/commands/auth.d.ts +3 -7
  29. package/commands/auth.js +25 -15
  30. package/commands/cms/convertFields.d.ts +7 -1
  31. package/commands/cms/convertFields.js +57 -41
  32. package/commands/cms/getReactModule.d.ts +7 -1
  33. package/commands/cms/getReactModule.js +52 -34
  34. package/commands/cms/lighthouseScore.d.ts +8 -1
  35. package/commands/cms/lighthouseScore.js +133 -100
  36. package/commands/cms.d.ts +3 -1
  37. package/commands/cms.js +24 -16
  38. package/commands/completion.d.ts +3 -1
  39. package/commands/completion.js +25 -13
  40. package/commands/config/migrate.d.ts +6 -0
  41. package/commands/config/migrate.js +94 -0
  42. package/commands/config/set.d.ts +10 -1
  43. package/commands/config/set.js +61 -32
  44. package/commands/config.d.ts +3 -1
  45. package/commands/config.js +21 -11
  46. package/commands/create/api-sample.d.ts +3 -1
  47. package/commands/create/api-sample.js +34 -36
  48. package/commands/create/app.d.ts +3 -1
  49. package/commands/create/app.js +9 -7
  50. package/commands/create/function.d.ts +3 -1
  51. package/commands/create/function.js +11 -10
  52. package/commands/create/index.d.ts +5 -1
  53. package/commands/create/index.js +23 -11
  54. package/commands/create/module.d.ts +3 -1
  55. package/commands/create/module.js +14 -13
  56. package/commands/create/react-app.d.ts +3 -1
  57. package/commands/create/react-app.js +10 -7
  58. package/commands/create/template.d.ts +3 -1
  59. package/commands/create/template.js +14 -14
  60. package/commands/create/vue-app.d.ts +3 -1
  61. package/commands/create/vue-app.js +10 -7
  62. package/commands/create/webpack-serverless.d.ts +3 -1
  63. package/commands/create/webpack-serverless.js +10 -7
  64. package/commands/create/website-theme.d.ts +3 -1
  65. package/commands/create/website-theme.js +10 -9
  66. package/commands/create.d.ts +4 -24
  67. package/commands/create.js +64 -75
  68. package/commands/customObject/create.d.ts +4 -9
  69. package/commands/customObject/create.js +17 -10
  70. package/commands/customObject/schema/create.d.ts +4 -9
  71. package/commands/customObject/schema/create.js +18 -11
  72. package/commands/customObject/schema/delete.d.ts +4 -9
  73. package/commands/customObject/schema/delete.js +21 -11
  74. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  75. package/commands/customObject/schema/fetch-all.js +19 -11
  76. package/commands/customObject/schema/fetch.d.ts +4 -9
  77. package/commands/customObject/schema/fetch.js +19 -11
  78. package/commands/customObject/schema/list.d.ts +4 -8
  79. package/commands/customObject/schema/list.js +17 -10
  80. package/commands/customObject/schema/update.d.ts +4 -9
  81. package/commands/customObject/schema/update.js +18 -11
  82. package/commands/customObject/schema.d.ts +3 -5
  83. package/commands/customObject/schema.js +27 -54
  84. package/commands/customObject.d.ts +3 -4
  85. package/commands/customObject.js +22 -48
  86. package/commands/doctor.d.ts +6 -8
  87. package/commands/doctor.js +32 -22
  88. package/commands/feedback.d.ts +4 -1
  89. package/commands/feedback.js +40 -48
  90. package/commands/fetch.d.ts +12 -1
  91. package/commands/fetch.js +49 -34
  92. package/commands/filemanager/fetch.d.ts +4 -9
  93. package/commands/filemanager/fetch.js +18 -11
  94. package/commands/filemanager/upload.d.ts +4 -9
  95. package/commands/filemanager/upload.js +17 -11
  96. package/commands/filemanager.d.ts +3 -4
  97. package/commands/filemanager.js +20 -42
  98. package/commands/function/deploy.d.ts +6 -1
  99. package/commands/function/deploy.js +70 -50
  100. package/commands/function/list.d.ts +6 -1
  101. package/commands/function/list.js +44 -32
  102. package/commands/function/server.d.ts +10 -1
  103. package/commands/function/server.js +49 -38
  104. package/commands/function.d.ts +5 -1
  105. package/commands/function.js +24 -11
  106. package/commands/hubdb/clear.d.ts +4 -9
  107. package/commands/hubdb/clear.js +21 -15
  108. package/commands/hubdb/create.d.ts +4 -9
  109. package/commands/hubdb/create.js +23 -17
  110. package/commands/hubdb/delete.d.ts +4 -9
  111. package/commands/hubdb/delete.js +24 -16
  112. package/commands/hubdb/fetch.d.ts +4 -9
  113. package/commands/hubdb/fetch.js +20 -14
  114. package/commands/hubdb.d.ts +3 -2
  115. package/commands/hubdb.js +24 -47
  116. package/commands/init.d.ts +3 -7
  117. package/commands/init.js +28 -23
  118. package/commands/lint.d.ts +6 -4
  119. package/commands/lint.js +44 -44
  120. package/commands/list.d.ts +3 -7
  121. package/commands/list.js +23 -16
  122. package/commands/logs.d.ts +10 -1
  123. package/commands/logs.js +53 -45
  124. package/commands/module/marketplace-validate.d.ts +6 -1
  125. package/commands/module/marketplace-validate.js +39 -28
  126. package/commands/module.d.ts +3 -1
  127. package/commands/module.js +22 -12
  128. package/commands/mv.d.ts +3 -7
  129. package/commands/mv.js +22 -15
  130. package/commands/open.d.ts +3 -7
  131. package/commands/open.js +22 -15
  132. package/commands/project/add.d.ts +3 -7
  133. package/commands/project/add.js +28 -23
  134. package/commands/project/cloneApp.d.ts +6 -8
  135. package/commands/project/cloneApp.js +49 -45
  136. package/commands/project/create.d.ts +10 -1
  137. package/commands/project/create.js +85 -63
  138. package/commands/project/deploy.d.ts +4 -6
  139. package/commands/project/deploy.js +66 -36
  140. package/commands/project/dev/deprecatedFlow.js +32 -25
  141. package/commands/project/dev/index.d.ts +4 -5
  142. package/commands/project/dev/index.js +70 -25
  143. package/commands/project/dev/unifiedFlow.d.ts +2 -1
  144. package/commands/project/dev/unifiedFlow.js +58 -27
  145. package/commands/project/download.d.ts +3 -7
  146. package/commands/project/download.js +18 -19
  147. package/commands/project/installDeps.d.ts +6 -1
  148. package/commands/project/installDeps.js +48 -32
  149. package/commands/project/listBuilds.d.ts +3 -7
  150. package/commands/project/listBuilds.js +32 -27
  151. package/commands/project/logs.d.ts +10 -1
  152. package/commands/project/logs.js +73 -65
  153. package/commands/project/migrate.d.ts +7 -0
  154. package/commands/project/migrate.js +71 -0
  155. package/commands/project/migrateApp.d.ts +3 -8
  156. package/commands/project/migrateApp.js +23 -20
  157. package/commands/project/open.d.ts +3 -7
  158. package/commands/project/open.js +29 -21
  159. package/commands/project/profile/add.d.ts +7 -0
  160. package/commands/project/profile/add.js +190 -0
  161. package/commands/project/profile/remove.d.ts +6 -0
  162. package/commands/project/profile/remove.js +119 -0
  163. package/commands/project/profile.d.ts +3 -0
  164. package/commands/project/profile.js +25 -0
  165. package/commands/project/upload.d.ts +10 -1
  166. package/commands/project/upload.js +110 -56
  167. package/commands/project/watch.d.ts +6 -1
  168. package/commands/project/watch.js +95 -61
  169. package/commands/project.d.ts +3 -1
  170. package/commands/project.js +49 -35
  171. package/commands/remove.d.ts +3 -7
  172. package/commands/remove.js +25 -15
  173. package/commands/sandbox/create.d.ts +4 -9
  174. package/commands/sandbox/create.js +27 -21
  175. package/commands/sandbox/delete.d.ts +4 -9
  176. package/commands/sandbox/delete.js +35 -29
  177. package/commands/sandbox.d.ts +3 -4
  178. package/commands/sandbox.js +20 -44
  179. package/commands/secret/addSecret.d.ts +4 -9
  180. package/commands/secret/addSecret.js +21 -15
  181. package/commands/secret/deleteSecret.d.ts +4 -9
  182. package/commands/secret/deleteSecret.js +28 -18
  183. package/commands/secret/listSecret.d.ts +4 -9
  184. package/commands/secret/listSecret.js +19 -13
  185. package/commands/secret/updateSecret.d.ts +4 -9
  186. package/commands/secret/updateSecret.js +25 -17
  187. package/commands/secret.d.ts +3 -4
  188. package/commands/secret.js +25 -49
  189. package/commands/theme/generate-selectors.d.ts +3 -7
  190. package/commands/theme/generate-selectors.js +18 -11
  191. package/commands/theme/marketplace-validate.d.ts +4 -9
  192. package/commands/theme/marketplace-validate.js +21 -15
  193. package/commands/theme/preview.d.ts +4 -9
  194. package/commands/theme/preview.js +31 -24
  195. package/commands/theme.d.ts +3 -4
  196. package/commands/theme.js +23 -47
  197. package/commands/upload.d.ts +12 -1
  198. package/commands/upload.js +118 -98
  199. package/commands/watch.d.ts +14 -1
  200. package/commands/watch.js +76 -66
  201. package/lang/en.d.ts +2932 -0
  202. package/lang/en.js +2796 -3318
  203. package/lang/en.lyaml +120 -58
  204. package/lib/accountTypes.d.ts +1 -0
  205. package/lib/accountTypes.js +12 -0
  206. package/lib/app/migrate.d.ts +33 -4
  207. package/lib/app/migrate.js +218 -93
  208. package/lib/app/migrate_legacy.d.ts +2 -2
  209. package/lib/app/migrate_legacy.js +15 -12
  210. package/lib/app/urls.d.ts +16 -0
  211. package/lib/app/urls.js +16 -0
  212. package/lib/buildAccount.d.ts +1 -2
  213. package/lib/buildAccount.js +11 -10
  214. package/lib/commonOpts.d.ts +3 -4
  215. package/lib/commonOpts.js +46 -18
  216. package/lib/configMigrate.d.ts +2 -0
  217. package/lib/configMigrate.js +118 -0
  218. package/lib/configOptions.d.ts +4 -0
  219. package/lib/configOptions.js +41 -45
  220. package/lib/constants.d.ts +10 -0
  221. package/lib/constants.js +11 -1
  222. package/lib/dependencyManagement.d.ts +0 -5
  223. package/lib/dependencyManagement.js +14 -40
  224. package/lib/doctor/Diagnosis.d.ts +1 -2
  225. package/lib/doctor/Diagnosis.js +19 -16
  226. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  227. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  228. package/lib/doctor/Doctor.d.ts +1 -0
  229. package/lib/doctor/Doctor.js +59 -45
  230. package/lib/errorHandlers/index.js +6 -7
  231. package/lib/errorHandlers/suppressError.js +18 -26
  232. package/lib/filesystem.d.ts +1 -1
  233. package/lib/generateSelectors.js +1 -2
  234. package/lib/hasFeature.d.ts +3 -1
  235. package/lib/interpolation.d.ts +2 -3
  236. package/lib/lang.d.ts +2 -3
  237. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  238. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  239. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  240. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  241. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  242. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  243. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  244. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  245. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  246. package/lib/middleware/__test__/utils.test.js +53 -0
  247. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  248. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  249. package/lib/middleware/autoUpdateMiddleware.d.ts +1 -0
  250. package/lib/middleware/autoUpdateMiddleware.js +89 -0
  251. package/lib/middleware/configMiddleware.d.ts +13 -0
  252. package/lib/middleware/configMiddleware.js +124 -0
  253. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  254. package/lib/middleware/fireAlarmMiddleware.js +123 -0
  255. package/lib/middleware/gitMiddleware.d.ts +2 -0
  256. package/lib/middleware/gitMiddleware.js +14 -0
  257. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  258. package/lib/middleware/notificationsMiddleware.js +38 -0
  259. package/lib/middleware/requestMiddleware.d.ts +1 -0
  260. package/lib/middleware/requestMiddleware.js +11 -0
  261. package/lib/middleware/utils.d.ts +8 -0
  262. package/lib/middleware/utils.js +17 -0
  263. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  264. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  265. package/lib/npm.d.ts +9 -0
  266. package/lib/npm.js +36 -0
  267. package/lib/oauth.js +1 -2
  268. package/lib/process.js +1 -2
  269. package/lib/projectProfiles.d.ts +6 -0
  270. package/lib/projectProfiles.js +65 -0
  271. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  272. package/lib/projects/ProjectLogsManager.js +16 -21
  273. package/lib/projects/buildAndDeploy.js +45 -41
  274. package/lib/projects/config.d.ts +9 -0
  275. package/lib/projects/config.js +79 -0
  276. package/lib/projects/create.js +5 -6
  277. package/lib/projects/ensureProjectExists.d.ts +11 -0
  278. package/lib/projects/ensureProjectExists.js +97 -0
  279. package/lib/projects/localDev/AppDevModeInterface.d.ts +26 -0
  280. package/lib/projects/localDev/AppDevModeInterface.js +156 -0
  281. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  282. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  283. package/lib/projects/localDev/DevServerManagerV2.d.ts +22 -0
  284. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
  285. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  286. package/lib/projects/localDev/LocalDevLogger.js +158 -0
  287. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  288. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +57 -83
  289. package/lib/projects/localDev/LocalDevProcess.d.ts +27 -0
  290. package/lib/projects/localDev/LocalDevProcess.js +171 -0
  291. package/lib/projects/localDev/LocalDevState.d.ts +37 -0
  292. package/lib/projects/localDev/LocalDevState.js +78 -0
  293. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  294. package/lib/projects/localDev/LocalDevWatcher.js +56 -0
  295. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +17 -0
  296. package/lib/projects/localDev/LocalDevWebsocketServer.js +92 -0
  297. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
  298. package/lib/{localDev.js → projects/localDev/helpers.js} +98 -114
  299. package/lib/projects/ui.d.ts +1 -0
  300. package/lib/projects/ui.js +15 -0
  301. package/lib/projects/upload.d.ts +14 -2
  302. package/lib/projects/upload.js +19 -35
  303. package/lib/projects/urls.d.ts +1 -0
  304. package/lib/projects/urls.js +6 -0
  305. package/lib/projects/watch.d.ts +1 -1
  306. package/lib/projects/watch.js +21 -18
  307. package/lib/prompts/accountNamePrompt.js +16 -13
  308. package/lib/prompts/accountsPrompt.js +1 -2
  309. package/lib/prompts/cmsFieldPrompt.js +1 -2
  310. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  311. package/lib/prompts/createApiSamplePrompt.js +4 -5
  312. package/lib/prompts/createFunctionPrompt.js +13 -14
  313. package/lib/prompts/createModulePrompt.js +8 -9
  314. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  315. package/lib/prompts/createProjectPrompt.js +14 -9
  316. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  317. package/lib/prompts/createTemplatePrompt.js +1 -2
  318. package/lib/prompts/downloadProjectPrompt.js +3 -4
  319. package/lib/prompts/installAppPrompt.d.ts +1 -0
  320. package/lib/prompts/installAppPrompt.js +35 -0
  321. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  322. package/lib/prompts/previewPrompt.js +5 -6
  323. package/lib/prompts/projectAddPrompt.js +4 -5
  324. package/lib/prompts/projectDevTargetAccountPrompt.js +18 -12
  325. package/lib/prompts/projectNamePrompt.js +5 -6
  326. package/lib/prompts/projectsLogsPrompt.js +3 -2
  327. package/lib/prompts/promptUtils.d.ts +3 -2
  328. package/lib/prompts/promptUtils.js +2 -1
  329. package/lib/prompts/sandboxesPrompt.js +5 -6
  330. package/lib/prompts/secretPrompt.js +2 -3
  331. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  332. package/lib/prompts/selectPublicAppPrompt.js +6 -7
  333. package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
  334. package/lib/prompts/uploadPrompt.js +4 -5
  335. package/lib/sandboxSync.js +15 -14
  336. package/lib/sandboxes.js +12 -13
  337. package/lib/serverlessLogs.js +4 -6
  338. package/lib/testUtils.d.ts +3 -3
  339. package/lib/testUtils.js +8 -9
  340. package/lib/ui/SpinniesManager.d.ts +1 -1
  341. package/lib/ui/boxen.d.ts +5 -0
  342. package/lib/ui/boxen.js +30 -0
  343. package/lib/ui/git.js +8 -9
  344. package/lib/ui/index.d.ts +4 -2
  345. package/lib/ui/index.js +20 -17
  346. package/lib/ui/logger.d.ts +10 -0
  347. package/lib/ui/logger.js +15 -0
  348. package/lib/ui/serverlessFunctionLogs.js +2 -3
  349. package/lib/ui/spinniesUtils.d.ts +5 -5
  350. package/lib/upload.d.ts +1 -1
  351. package/lib/validation.js +4 -5
  352. package/lib/yargsUtils.d.ts +5 -1
  353. package/lib/yargsUtils.js +6 -0
  354. package/package.json +10 -6
  355. package/types/Cms.d.ts +30 -0
  356. package/types/Cms.js +2 -0
  357. package/types/LocalDev.d.ts +24 -0
  358. package/types/LocalDev.js +2 -0
  359. package/types/Yargs.d.ts +12 -11
  360. package/lib/DevServerManagerV2.d.ts +0 -33
  361. package/lib/LocalDevManagerV2.d.ts +0 -64
  362. package/lib/LocalDevManagerV2.js +0 -377
  363. package/lib/projects/index.d.ts +0 -20
  364. package/lib/projects/index.js +0 -194
  365. package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
  366. package/lib/prompts/installPublicAppPrompt.js +0 -40
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.writeProjectConfig = writeProjectConfig;
7
- exports.getIsInProject = getIsInProject;
8
- exports.getProjectConfig = getProjectConfig;
9
- exports.validateProjectConfig = validateProjectConfig;
10
- exports.ensureProjectExists = ensureProjectExists;
11
- exports.logFeedbackMessage = logFeedbackMessage;
12
- const fs_extra_1 = __importDefault(require("fs-extra"));
13
- const path_1 = __importDefault(require("path"));
14
- const findup_sync_1 = __importDefault(require("findup-sync"));
15
- const logger_1 = require("@hubspot/local-dev-lib/logger");
16
- const projects_1 = require("@hubspot/local-dev-lib/api/projects");
17
- const index_1 = require("@hubspot/local-dev-lib/errors/index");
18
- const path_2 = require("@hubspot/local-dev-lib/path");
19
- const constants_1 = require("../constants");
20
- const promptUtils_1 = require("../prompts/promptUtils");
21
- const exitCodes_1 = require("../enums/exitCodes");
22
- const ui_1 = require("../ui");
23
- const lang_1 = require("../lang");
24
- const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
25
- const index_2 = require("../errorHandlers/index");
26
- const i18nKey = 'lib.projects';
27
- function writeProjectConfig(configPath, config) {
28
- try {
29
- fs_extra_1.default.ensureFileSync(configPath);
30
- fs_extra_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2));
31
- logger_1.logger.debug(`Wrote project config at ${configPath}`);
32
- }
33
- catch (e) {
34
- logger_1.logger.debug(e);
35
- return false;
36
- }
37
- return true;
38
- }
39
- function getIsInProject(dir) {
40
- const configPath = getProjectConfigPath(dir);
41
- return !!configPath;
42
- }
43
- function getProjectConfigPath(dir) {
44
- const projectDir = dir ? (0, path_2.getAbsoluteFilePath)(dir) : (0, path_2.getCwd)();
45
- const configPath = (0, findup_sync_1.default)(constants_1.PROJECT_CONFIG_FILE, {
46
- cwd: projectDir,
47
- nocase: true,
48
- });
49
- return configPath;
50
- }
51
- async function getProjectConfig(dir) {
52
- const configPath = getProjectConfigPath(dir);
53
- if (!configPath) {
54
- return { projectConfig: null, projectDir: null };
55
- }
56
- try {
57
- const config = fs_extra_1.default.readFileSync(configPath);
58
- const projectConfig = JSON.parse(config.toString());
59
- return {
60
- projectDir: path_1.default.dirname(configPath),
61
- projectConfig,
62
- };
63
- }
64
- catch (e) {
65
- logger_1.logger.error('Could not read from project config');
66
- return { projectConfig: null, projectDir: null };
67
- }
68
- }
69
- function validateProjectConfig(projectConfig, projectDir) {
70
- if (!projectConfig || !projectDir) {
71
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.validateProjectConfig.configNotFound`, {
72
- createCommand: (0, ui_1.uiCommandReference)('hs project create'),
73
- }));
74
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
75
- }
76
- if (!projectConfig.name || !projectConfig.srcDir) {
77
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.validateProjectConfig.configMissingFields`));
78
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
79
- }
80
- const resolvedPath = path_1.default.resolve(projectDir, projectConfig.srcDir);
81
- if (!resolvedPath.startsWith(projectDir)) {
82
- const projectConfigFile = path_1.default.relative('.', path_1.default.join(projectDir, constants_1.PROJECT_CONFIG_FILE));
83
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.validateProjectConfig.srcOutsideProjectDir`, {
84
- srcDir: projectConfig.srcDir,
85
- projectConfig: projectConfigFile,
86
- }));
87
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
88
- }
89
- if (!fs_extra_1.default.existsSync(resolvedPath)) {
90
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.validateProjectConfig.srcDirNotFound`, {
91
- srcDir: projectConfig.srcDir,
92
- projectDir: projectDir,
93
- }));
94
- return process.exit(exitCodes_1.EXIT_CODES.ERROR);
95
- }
96
- }
97
- async function pollFetchProject(accountId, projectName) {
98
- // Temporary solution for gating slowness. Retry on 403 statusCode
99
- return new Promise((resolve, reject) => {
100
- let pollCount = 0;
101
- SpinniesManager_1.default.init();
102
- SpinniesManager_1.default.add('pollFetchProject', {
103
- text: (0, lang_1.i18n)(`${i18nKey}.pollFetchProject.checkingProject`, {
104
- accountIdentifier: (0, ui_1.uiAccountDescription)(accountId),
105
- }),
106
- });
107
- const pollInterval = setInterval(async () => {
108
- try {
109
- const response = await (0, projects_1.fetchProject)(accountId, projectName);
110
- if (response && response.data) {
111
- SpinniesManager_1.default.remove('pollFetchProject');
112
- clearInterval(pollInterval);
113
- resolve(response);
114
- }
115
- }
116
- catch (err) {
117
- if ((0, index_1.isSpecifiedError)(err, {
118
- statusCode: 403,
119
- category: 'GATED',
120
- subCategory: 'BuildPipelineErrorType.PORTAL_GATED',
121
- }) &&
122
- pollCount < 15) {
123
- pollCount += 1;
124
- }
125
- else {
126
- SpinniesManager_1.default.remove('pollFetchProject');
127
- clearInterval(pollInterval);
128
- reject(err);
129
- }
130
- }
131
- }, constants_1.DEFAULT_POLLING_DELAY);
132
- });
133
- }
134
- async function ensureProjectExists(accountId, projectName, { forceCreate = false, allowCreate = true, noLogs = false, withPolling = false, uploadCommand = false, } = {}) {
135
- const accountIdentifier = (0, ui_1.uiAccountDescription)(accountId);
136
- try {
137
- const { data: project } = withPolling
138
- ? await pollFetchProject(accountId, projectName)
139
- : await (0, projects_1.fetchProject)(accountId, projectName);
140
- return { projectExists: !!project, project };
141
- }
142
- catch (err) {
143
- if ((0, index_1.isSpecifiedError)(err, { statusCode: 404 })) {
144
- let shouldCreateProject = forceCreate;
145
- if (allowCreate && !shouldCreateProject) {
146
- const promptKey = uploadCommand ? 'createPromptUpload' : 'createPrompt';
147
- const promptResult = await (0, promptUtils_1.promptUser)([
148
- {
149
- name: 'shouldCreateProject',
150
- message: (0, lang_1.i18n)(`${i18nKey}.ensureProjectExists.${promptKey}`, {
151
- projectName,
152
- accountIdentifier,
153
- }),
154
- type: 'confirm',
155
- },
156
- ]);
157
- shouldCreateProject = promptResult.shouldCreateProject;
158
- }
159
- if (shouldCreateProject) {
160
- try {
161
- const { data: project } = await (0, projects_1.createProject)(accountId, projectName);
162
- logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.ensureProjectExists.createSuccess`, {
163
- projectName,
164
- accountIdentifier,
165
- }));
166
- return { projectExists: true, project };
167
- }
168
- catch (err) {
169
- (0, index_2.logError)(err, new index_2.ApiErrorContext({ accountId }));
170
- return { projectExists: false };
171
- }
172
- }
173
- else {
174
- if (!noLogs) {
175
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.ensureProjectExists.notFound`, {
176
- projectName,
177
- accountIdentifier,
178
- }));
179
- }
180
- return { projectExists: false };
181
- }
182
- }
183
- (0, index_2.logError)(err, new index_2.ApiErrorContext({ accountId }));
184
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
185
- }
186
- }
187
- function logFeedbackMessage(buildId) {
188
- if (buildId > 0 && buildId % constants_1.FEEDBACK_INTERVAL === 0) {
189
- (0, ui_1.uiLine)();
190
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logFeedbackMessage.feedbackHeader`));
191
- (0, ui_1.uiLine)();
192
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logFeedbackMessage.feedbackMessage`));
193
- }
194
- }
@@ -1 +0,0 @@
1
- export declare function installPublicAppPrompt(env: string, targetAccountId: number, clientId: string, scopes: string[], redirectUrls: string[], isReinstall?: boolean): Promise<void>;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.installPublicAppPrompt = installPublicAppPrompt;
7
- const open_1 = __importDefault(require("open"));
8
- const urls_1 = require("@hubspot/local-dev-lib/urls");
9
- const logger_1 = require("@hubspot/local-dev-lib/logger");
10
- const promptUtils_1 = require("./promptUtils");
11
- const lang_1 = require("../lang");
12
- const exitCodes_1 = require("../enums/exitCodes");
13
- const i18nKey = 'lib.prompts.installPublicAppPrompt';
14
- async function installPublicAppPrompt(env, targetAccountId, clientId, scopes, redirectUrls, isReinstall = false) {
15
- logger_1.logger.log('');
16
- if (isReinstall) {
17
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.reinstallExplanation`));
18
- }
19
- else {
20
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.explanation`));
21
- }
22
- const { shouldOpenBrowser } = await (0, promptUtils_1.promptUser)({
23
- name: 'shouldOpenBrowser',
24
- type: 'confirm',
25
- message: (0, lang_1.i18n)(isReinstall ? `${i18nKey}.reinstallPrompt` : `${i18nKey}.prompt`),
26
- });
27
- if (!isReinstall && !shouldOpenBrowser) {
28
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.decline`));
29
- process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
30
- }
31
- else if (!shouldOpenBrowser) {
32
- return;
33
- }
34
- const websiteOrigin = (0, urls_1.getHubSpotWebsiteOrigin)(env);
35
- const url = `${websiteOrigin}/oauth/${targetAccountId}/authorize` +
36
- `?client_id=${encodeURIComponent(clientId)}` +
37
- `&scope=${encodeURIComponent(scopes.join(' '))}` +
38
- `&redirect_uri=${encodeURIComponent(redirectUrls[0])}`;
39
- (0, open_1.default)(url);
40
- }