@hubspot/cli 7.4.7-experimental.0 → 7.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/api/migrate.d.ts +14 -4
  2. package/api/migrate.js +16 -2
  3. package/bin/cli.js +8 -183
  4. package/commands/account/auth.d.ts +10 -0
  5. package/commands/account/auth.js +188 -0
  6. package/commands/account/clean.js +38 -5
  7. package/commands/account/createOverride.d.ts +10 -0
  8. package/commands/account/createOverride.js +104 -0
  9. package/commands/account/info.js +38 -4
  10. package/commands/account/list.js +23 -5
  11. package/commands/account/remove.js +36 -2
  12. package/commands/account/removeOverride.d.ts +10 -0
  13. package/commands/account/removeOverride.js +76 -0
  14. package/commands/account/use.js +25 -3
  15. package/commands/account.js +7 -2
  16. package/commands/app/migrate.d.ts +6 -6
  17. package/commands/app/migrate.js +62 -45
  18. package/commands/app.js +0 -2
  19. package/commands/auth.js +14 -11
  20. package/commands/cms/lighthouseScore.js +7 -3
  21. package/commands/cms.js +1 -2
  22. package/commands/completion.js +2 -3
  23. package/commands/config/migrate.d.ts +10 -0
  24. package/commands/config/migrate.js +84 -0
  25. package/commands/config/set.d.ts +10 -0
  26. package/commands/config/set.js +34 -29
  27. package/commands/config.d.ts +4 -1
  28. package/commands/config.js +45 -11
  29. package/commands/create/api-sample.js +3 -1
  30. package/commands/create/website-theme.js +1 -1
  31. package/commands/create.js +7 -8
  32. package/commands/customObject/schema/delete.js +4 -1
  33. package/commands/customObject/schema/fetch-all.js +2 -1
  34. package/commands/customObject/schema/fetch.js +2 -1
  35. package/commands/customObject.js +3 -4
  36. package/commands/doctor.js +5 -6
  37. package/commands/feedback.js +7 -8
  38. package/commands/fetch.js +6 -7
  39. package/commands/filemanager.js +1 -2
  40. package/commands/function.js +1 -2
  41. package/commands/hubdb/clear.js +5 -6
  42. package/commands/hubdb/create.js +7 -8
  43. package/commands/hubdb/delete.js +8 -7
  44. package/commands/hubdb/fetch.js +4 -5
  45. package/commands/hubdb.js +1 -2
  46. package/commands/init.js +18 -20
  47. package/commands/lint.js +3 -4
  48. package/commands/list.js +5 -6
  49. package/commands/logs.js +12 -13
  50. package/commands/module/marketplace-validate.js +5 -6
  51. package/commands/module.js +1 -3
  52. package/commands/mv.js +4 -5
  53. package/commands/open.js +4 -5
  54. package/commands/project/add.d.ts +3 -7
  55. package/commands/project/add.js +28 -23
  56. package/commands/project/cloneApp.d.ts +6 -8
  57. package/commands/project/cloneApp.js +49 -45
  58. package/commands/project/create.d.ts +10 -1
  59. package/commands/project/create.js +85 -63
  60. package/commands/project/deploy.d.ts +3 -6
  61. package/commands/project/deploy.js +27 -25
  62. package/commands/project/dev/deprecatedFlow.js +32 -25
  63. package/commands/project/dev/index.d.ts +4 -2
  64. package/commands/project/dev/index.js +31 -18
  65. package/commands/project/dev/unifiedFlow.js +10 -11
  66. package/commands/project/download.d.ts +3 -7
  67. package/commands/project/download.js +18 -19
  68. package/commands/project/installDeps.d.ts +6 -1
  69. package/commands/project/installDeps.js +48 -32
  70. package/commands/project/listBuilds.d.ts +3 -7
  71. package/commands/project/listBuilds.js +32 -27
  72. package/commands/project/logs.d.ts +10 -1
  73. package/commands/project/logs.js +73 -65
  74. package/commands/project/migrate.d.ts +6 -0
  75. package/commands/project/migrate.js +71 -0
  76. package/commands/project/migrateApp.d.ts +3 -8
  77. package/commands/project/migrateApp.js +23 -20
  78. package/commands/project/open.d.ts +3 -7
  79. package/commands/project/open.js +29 -21
  80. package/commands/project/upload.d.ts +9 -1
  81. package/commands/project/upload.js +78 -54
  82. package/commands/project/watch.d.ts +6 -1
  83. package/commands/project/watch.js +95 -61
  84. package/commands/project.d.ts +3 -1
  85. package/commands/project.js +47 -35
  86. package/commands/remove.js +7 -5
  87. package/commands/sandbox/create.js +10 -11
  88. package/commands/sandbox/delete.js +18 -19
  89. package/commands/sandbox.js +1 -2
  90. package/commands/secret/addSecret.js +5 -6
  91. package/commands/secret/deleteSecret.js +12 -9
  92. package/commands/secret/listSecret.js +3 -4
  93. package/commands/secret/updateSecret.js +9 -8
  94. package/commands/secret.js +1 -2
  95. package/commands/theme/generate-selectors.js +5 -6
  96. package/commands/theme/marketplace-validate.js +5 -6
  97. package/commands/theme/preview.js +16 -16
  98. package/commands/theme.js +1 -2
  99. package/commands/upload.js +23 -24
  100. package/commands/watch.js +18 -19
  101. package/lang/en.d.ts +2806 -0
  102. package/lang/en.js +2659 -3300
  103. package/lang/en.lyaml +98 -41
  104. package/lib/accountTypes.d.ts +1 -0
  105. package/lib/accountTypes.js +12 -0
  106. package/lib/app/migrate.d.ts +10 -4
  107. package/lib/app/migrate.js +208 -94
  108. package/lib/app/migrate_legacy.d.ts +2 -2
  109. package/lib/app/migrate_legacy.js +10 -7
  110. package/lib/buildAccount.d.ts +1 -2
  111. package/lib/buildAccount.js +11 -10
  112. package/lib/commonOpts.d.ts +3 -4
  113. package/lib/commonOpts.js +46 -18
  114. package/lib/configMigrate.d.ts +2 -0
  115. package/lib/configMigrate.js +104 -0
  116. package/lib/configOptions.js +11 -10
  117. package/lib/constants.d.ts +4 -0
  118. package/lib/constants.js +5 -1
  119. package/lib/dependencyManagement.js +2 -2
  120. package/lib/doctor/Diagnosis.d.ts +1 -2
  121. package/lib/doctor/Diagnosis.js +19 -16
  122. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  123. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  124. package/lib/doctor/Doctor.d.ts +1 -0
  125. package/lib/doctor/Doctor.js +57 -44
  126. package/lib/errorHandlers/index.js +6 -7
  127. package/lib/errorHandlers/suppressError.js +6 -7
  128. package/lib/generateSelectors.js +1 -2
  129. package/lib/hasFeature.d.ts +3 -1
  130. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  131. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  132. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  133. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  134. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  135. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  136. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  137. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  138. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  139. package/lib/middleware/__test__/utils.test.js +53 -0
  140. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  141. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  142. package/lib/middleware/configMiddleware.d.ts +13 -0
  143. package/lib/middleware/configMiddleware.js +116 -0
  144. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  145. package/lib/middleware/fireAlarmMiddleware.js +123 -0
  146. package/lib/middleware/gitMiddleware.d.ts +2 -0
  147. package/lib/middleware/gitMiddleware.js +14 -0
  148. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  149. package/lib/middleware/notificationsMiddleware.js +38 -0
  150. package/lib/middleware/requestMiddleware.d.ts +1 -0
  151. package/lib/middleware/requestMiddleware.js +11 -0
  152. package/lib/middleware/utils.d.ts +8 -0
  153. package/lib/middleware/utils.js +17 -0
  154. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  155. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  156. package/lib/oauth.js +1 -2
  157. package/lib/process.js +1 -2
  158. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  159. package/lib/projects/ProjectLogsManager.js +16 -21
  160. package/lib/projects/buildAndDeploy.js +28 -39
  161. package/lib/projects/config.d.ts +9 -0
  162. package/lib/projects/config.js +79 -0
  163. package/lib/projects/create.js +5 -6
  164. package/lib/projects/ensureProjectExists.d.ts +11 -0
  165. package/lib/projects/ensureProjectExists.js +97 -0
  166. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  167. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  168. package/lib/{DevServerManagerV2.d.ts → projects/localDev/DevServerManagerV2.d.ts} +1 -1
  169. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +3 -4
  170. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  171. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +49 -82
  172. package/lib/{LocalDevManagerV2.d.ts → projects/localDev/LocalDevManagerV2.d.ts} +2 -2
  173. package/lib/{LocalDevManagerV2.js → projects/localDev/LocalDevManagerV2.js} +43 -75
  174. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
  175. package/lib/{localDev.js → projects/localDev/helpers.js} +97 -114
  176. package/lib/projects/ui.d.ts +1 -0
  177. package/lib/projects/ui.js +15 -0
  178. package/lib/projects/upload.d.ts +13 -2
  179. package/lib/projects/upload.js +18 -34
  180. package/lib/projects/urls.d.ts +1 -0
  181. package/lib/projects/urls.js +6 -0
  182. package/lib/projects/watch.d.ts +1 -1
  183. package/lib/projects/watch.js +21 -18
  184. package/lib/prompts/accountNamePrompt.js +16 -13
  185. package/lib/prompts/accountsPrompt.js +1 -2
  186. package/lib/prompts/cmsFieldPrompt.js +1 -2
  187. package/lib/prompts/createApiSamplePrompt.js +4 -5
  188. package/lib/prompts/createFunctionPrompt.js +13 -14
  189. package/lib/prompts/createModulePrompt.js +8 -9
  190. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  191. package/lib/prompts/createProjectPrompt.js +14 -9
  192. package/lib/prompts/createTemplatePrompt.js +1 -2
  193. package/lib/prompts/downloadProjectPrompt.js +3 -4
  194. package/lib/prompts/installPublicAppPrompt.js +6 -5
  195. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  196. package/lib/prompts/previewPrompt.js +5 -6
  197. package/lib/prompts/projectAddPrompt.js +4 -5
  198. package/lib/prompts/projectDevTargetAccountPrompt.js +11 -12
  199. package/lib/prompts/projectNamePrompt.js +5 -6
  200. package/lib/prompts/projectsLogsPrompt.js +3 -2
  201. package/lib/prompts/promptUtils.d.ts +1 -1
  202. package/lib/prompts/sandboxesPrompt.js +5 -6
  203. package/lib/prompts/secretPrompt.js +2 -3
  204. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  205. package/lib/prompts/selectPublicAppPrompt.js +6 -7
  206. package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
  207. package/lib/prompts/uploadPrompt.js +4 -5
  208. package/lib/sandboxSync.js +15 -14
  209. package/lib/sandboxes.js +12 -13
  210. package/lib/serverlessLogs.js +4 -6
  211. package/lib/ui/SpinniesManager.d.ts +1 -1
  212. package/lib/ui/boxen.d.ts +5 -0
  213. package/lib/ui/boxen.js +30 -0
  214. package/lib/ui/git.js +8 -9
  215. package/lib/ui/index.d.ts +4 -2
  216. package/lib/ui/index.js +16 -16
  217. package/lib/ui/logger.d.ts +10 -0
  218. package/lib/ui/logger.js +15 -0
  219. package/lib/ui/serverlessFunctionLogs.js +2 -3
  220. package/lib/ui/spinniesUtils.d.ts +5 -5
  221. package/lib/yargsUtils.d.ts +1 -1
  222. package/package.json +7 -6
  223. package/types/Yargs.d.ts +5 -11
  224. package/lib/projects/index.d.ts +0 -20
  225. package/lib/projects/index.js +0 -195
@@ -1,195 +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
- logger_1.logger.log(err);
144
- if ((0, index_1.isSpecifiedError)(err, { statusCode: 404 })) {
145
- let shouldCreateProject = forceCreate;
146
- if (allowCreate && !shouldCreateProject) {
147
- const promptKey = uploadCommand ? 'createPromptUpload' : 'createPrompt';
148
- const promptResult = await (0, promptUtils_1.promptUser)([
149
- {
150
- name: 'shouldCreateProject',
151
- message: (0, lang_1.i18n)(`${i18nKey}.ensureProjectExists.${promptKey}`, {
152
- projectName,
153
- accountIdentifier,
154
- }),
155
- type: 'confirm',
156
- },
157
- ]);
158
- shouldCreateProject = promptResult.shouldCreateProject;
159
- }
160
- if (shouldCreateProject) {
161
- try {
162
- const { data: project } = await (0, projects_1.createProject)(accountId, projectName);
163
- logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.ensureProjectExists.createSuccess`, {
164
- projectName,
165
- accountIdentifier,
166
- }));
167
- return { projectExists: true, project };
168
- }
169
- catch (err) {
170
- (0, index_2.logError)(err, new index_2.ApiErrorContext({ accountId }));
171
- return { projectExists: false };
172
- }
173
- }
174
- else {
175
- if (!noLogs) {
176
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.ensureProjectExists.notFound`, {
177
- projectName,
178
- accountIdentifier,
179
- }));
180
- }
181
- return { projectExists: false };
182
- }
183
- }
184
- (0, index_2.logError)(err, new index_2.ApiErrorContext({ accountId }));
185
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
186
- }
187
- }
188
- function logFeedbackMessage(buildId) {
189
- if (buildId > 0 && buildId % constants_1.FEEDBACK_INTERVAL === 0) {
190
- (0, ui_1.uiLine)();
191
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logFeedbackMessage.feedbackHeader`));
192
- (0, ui_1.uiLine)();
193
- logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logFeedbackMessage.feedbackMessage`));
194
- }
195
- }