@hubspot/cli 7.5.11-experimental.0 → 7.7.0-experimental.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 (289) hide show
  1. package/bin/cli.js +5 -6
  2. package/bin/hsmcp.d.ts +2 -0
  3. package/bin/hsmcp.js +13 -0
  4. package/commands/account/auth.d.ts +3 -7
  5. package/commands/account/auth.js +19 -9
  6. package/commands/account/clean.d.ts +3 -7
  7. package/commands/account/clean.js +16 -9
  8. package/commands/account/createOverride.d.ts +3 -7
  9. package/commands/account/createOverride.js +23 -6
  10. package/commands/account/info.d.ts +3 -7
  11. package/commands/account/info.js +13 -5
  12. package/commands/account/list.d.ts +3 -7
  13. package/commands/account/list.js +15 -8
  14. package/commands/account/remove.d.ts +3 -7
  15. package/commands/account/remove.js +21 -9
  16. package/commands/account/removeOverride.d.ts +3 -7
  17. package/commands/account/removeOverride.js +23 -6
  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 +14 -6
  22. package/commands/account.d.ts +3 -4
  23. package/commands/account.js +35 -58
  24. package/commands/app/migrate.d.ts +1 -2
  25. package/commands/app/migrate.js +7 -8
  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 +12 -8
  38. package/commands/auth.d.ts +3 -7
  39. package/commands/auth.js +12 -5
  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 +129 -100
  46. package/commands/cms.d.ts +3 -1
  47. package/commands/cms.js +24 -15
  48. package/commands/completion.d.ts +3 -1
  49. package/commands/completion.js +25 -12
  50. package/commands/config/migrate.d.ts +3 -7
  51. package/commands/config/migrate.js +25 -15
  52. package/commands/config/set.d.ts +5 -6
  53. package/commands/config/set.js +38 -14
  54. package/commands/config.d.ts +3 -4
  55. package/commands/config.js +20 -44
  56. package/commands/create/api-sample.d.ts +3 -1
  57. package/commands/create/api-sample.js +34 -38
  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 +64 -74
  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 +17 -10
  84. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  85. package/commands/customObject/schema/fetch-all.js +17 -10
  86. package/commands/customObject/schema/fetch.d.ts +4 -9
  87. package/commands/customObject/schema/fetch.js +17 -10
  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 -45
  96. package/commands/doctor.d.ts +6 -8
  97. package/commands/doctor.js +32 -21
  98. package/commands/feedback.d.ts +4 -1
  99. package/commands/feedback.js +40 -47
  100. package/commands/fetch.d.ts +12 -1
  101. package/commands/fetch.js +49 -33
  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 +20 -41
  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 +24 -10
  116. package/commands/hubdb/clear.d.ts +4 -9
  117. package/commands/hubdb/clear.js +17 -10
  118. package/commands/hubdb/create.d.ts +4 -9
  119. package/commands/hubdb/create.js +17 -10
  120. package/commands/hubdb/delete.d.ts +4 -9
  121. package/commands/hubdb/delete.js +17 -10
  122. package/commands/hubdb/fetch.d.ts +4 -9
  123. package/commands/hubdb/fetch.js +17 -10
  124. package/commands/hubdb.d.ts +3 -2
  125. package/commands/hubdb.js +23 -45
  126. package/commands/init.d.ts +3 -7
  127. package/commands/init.js +12 -5
  128. package/commands/lint.d.ts +6 -4
  129. package/commands/lint.js +44 -43
  130. package/commands/list.d.ts +3 -7
  131. package/commands/list.js +19 -11
  132. package/commands/logs.d.ts +10 -1
  133. package/commands/logs.js +53 -44
  134. package/commands/module/marketplace-validate.d.ts +6 -1
  135. package/commands/module/marketplace-validate.js +39 -27
  136. package/commands/module.d.ts +3 -1
  137. package/commands/module.js +22 -10
  138. package/commands/mv.d.ts +3 -7
  139. package/commands/mv.js +19 -11
  140. package/commands/open.d.ts +3 -7
  141. package/commands/open.js +19 -11
  142. package/commands/project/cloneApp.d.ts +1 -1
  143. package/commands/project/cloneApp.js +2 -2
  144. package/commands/project/create.js +3 -3
  145. package/commands/project/deploy.d.ts +1 -0
  146. package/commands/project/deploy.js +40 -12
  147. package/commands/project/dev/index.d.ts +1 -4
  148. package/commands/project/dev/index.js +48 -16
  149. package/commands/project/dev/unifiedFlow.d.ts +2 -1
  150. package/commands/project/dev/unifiedFlow.js +85 -30
  151. package/commands/project/migrate.d.ts +1 -0
  152. package/commands/project/profile/add.d.ts +7 -0
  153. package/commands/project/profile/add.js +209 -0
  154. package/commands/project/profile/delete.d.ts +6 -0
  155. package/commands/project/profile/delete.js +123 -0
  156. package/commands/project/profile.d.ts +3 -0
  157. package/commands/project/profile.js +25 -0
  158. package/commands/project/upload.d.ts +1 -0
  159. package/commands/project/upload.js +38 -8
  160. package/commands/project/validate.d.ts +4 -0
  161. package/commands/project/validate.js +53 -0
  162. package/commands/project.js +4 -0
  163. package/commands/remove.d.ts +3 -7
  164. package/commands/remove.js +19 -11
  165. package/commands/sandbox/create.d.ts +4 -9
  166. package/commands/sandbox/create.js +18 -11
  167. package/commands/sandbox/delete.d.ts +4 -9
  168. package/commands/sandbox/delete.js +18 -11
  169. package/commands/sandbox.d.ts +3 -4
  170. package/commands/sandbox.js +20 -43
  171. package/commands/secret/addSecret.d.ts +4 -9
  172. package/commands/secret/addSecret.js +17 -10
  173. package/commands/secret/deleteSecret.d.ts +4 -9
  174. package/commands/secret/deleteSecret.js +17 -10
  175. package/commands/secret/listSecret.d.ts +4 -9
  176. package/commands/secret/listSecret.js +17 -10
  177. package/commands/secret/updateSecret.d.ts +4 -9
  178. package/commands/secret/updateSecret.js +17 -10
  179. package/commands/secret.d.ts +3 -4
  180. package/commands/secret.js +25 -48
  181. package/commands/setupMcp.d.ts +8 -0
  182. package/commands/setupMcp.js +229 -0
  183. package/commands/theme/generate-selectors.d.ts +3 -7
  184. package/commands/theme/generate-selectors.js +14 -6
  185. package/commands/theme/marketplace-validate.d.ts +4 -9
  186. package/commands/theme/marketplace-validate.js +17 -10
  187. package/commands/theme/preview.d.ts +4 -9
  188. package/commands/theme/preview.js +16 -9
  189. package/commands/theme.d.ts +3 -4
  190. package/commands/theme.js +23 -46
  191. package/commands/upload.d.ts +12 -1
  192. package/commands/upload.js +118 -97
  193. package/commands/watch.d.ts +14 -1
  194. package/commands/watch.js +76 -65
  195. package/lang/en.d.ts +838 -574
  196. package/lang/en.js +630 -373
  197. package/lang/en.lyaml +30 -23
  198. package/lib/accountTypes.js +2 -1
  199. package/lib/app/migrate.d.ts +23 -0
  200. package/lib/app/migrate.js +14 -3
  201. package/lib/app/migrate_legacy.js +7 -7
  202. package/lib/app/urls.d.ts +16 -0
  203. package/lib/app/urls.js +16 -0
  204. package/lib/configMigrate.js +24 -10
  205. package/lib/configOptions.d.ts +4 -0
  206. package/lib/configOptions.js +41 -46
  207. package/lib/constants.d.ts +6 -0
  208. package/lib/constants.js +7 -1
  209. package/lib/dependencyManagement.d.ts +0 -5
  210. package/lib/dependencyManagement.js +13 -39
  211. package/lib/doctor/Doctor.js +2 -1
  212. package/lib/filesystem.d.ts +1 -1
  213. package/lib/interpolation.d.ts +2 -3
  214. package/lib/lang.d.ts +2 -3
  215. package/lib/middleware/autoUpdateMiddleware.d.ts +1 -0
  216. package/lib/middleware/autoUpdateMiddleware.js +89 -0
  217. package/lib/middleware/configMiddleware.js +8 -0
  218. package/lib/npm.d.ts +9 -0
  219. package/lib/npm.js +36 -0
  220. package/lib/projectProfiles.d.ts +6 -0
  221. package/lib/projectProfiles.js +65 -0
  222. package/lib/projects/buildAndDeploy.js +17 -2
  223. package/lib/projects/localDev/AppDevModeInterface.d.ts +26 -0
  224. package/lib/projects/localDev/AppDevModeInterface.js +156 -0
  225. package/lib/projects/localDev/DevServerManagerV2.d.ts +11 -22
  226. package/lib/projects/localDev/DevServerManagerV2.js +19 -15
  227. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  228. package/lib/projects/localDev/LocalDevLogger.js +158 -0
  229. package/lib/projects/localDev/LocalDevManager.js +12 -5
  230. package/lib/projects/localDev/LocalDevProcess.d.ts +27 -0
  231. package/lib/projects/localDev/LocalDevProcess.js +171 -0
  232. package/lib/projects/localDev/LocalDevState.d.ts +37 -0
  233. package/lib/projects/localDev/LocalDevState.js +78 -0
  234. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  235. package/lib/projects/localDev/LocalDevWatcher.js +56 -0
  236. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +17 -0
  237. package/lib/projects/localDev/LocalDevWebsocketServer.js +92 -0
  238. package/lib/projects/localDev/helpers.d.ts +3 -2
  239. package/lib/projects/localDev/helpers.js +32 -2
  240. package/lib/projects/upload.d.ts +2 -1
  241. package/lib/projects/upload.js +2 -2
  242. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  243. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  244. package/lib/prompts/installAppPrompt.d.ts +1 -0
  245. package/lib/prompts/installAppPrompt.js +35 -0
  246. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +6 -1
  247. package/lib/prompts/projectDevTargetAccountPrompt.js +6 -6
  248. package/lib/prompts/promptUtils.d.ts +2 -1
  249. package/lib/prompts/promptUtils.js +2 -1
  250. package/lib/prompts/selectAppPrompt.d.ts +2 -0
  251. package/lib/prompts/selectAppPrompt.js +40 -0
  252. package/lib/prompts/{selectPublicAppPrompt.d.ts → selectPublicAppForMigrationPrompt.d.ts} +1 -1
  253. package/lib/prompts/{selectPublicAppPrompt.js → selectPublicAppForMigrationPrompt.js} +8 -8
  254. package/lib/testUtils.d.ts +3 -3
  255. package/lib/testUtils.js +8 -9
  256. package/lib/ui/index.js +4 -1
  257. package/lib/upload.d.ts +1 -1
  258. package/lib/validation.js +4 -5
  259. package/lib/yargsUtils.d.ts +4 -0
  260. package/lib/yargsUtils.js +6 -0
  261. package/mcp-server/index.d.ts +1 -0
  262. package/mcp-server/index.js +17 -0
  263. package/mcp-server/mcpLoader.d.ts +5 -0
  264. package/mcp-server/mcpLoader.js +24 -0
  265. package/mcp-server/tools/ExplainProjectStructureTool.d.ts +33 -0
  266. package/mcp-server/tools/ExplainProjectStructureTool.js +266 -0
  267. package/mcp-server/tools/GenerateAppComponentTool.d.ts +99 -0
  268. package/mcp-server/tools/GenerateAppComponentTool.js +193 -0
  269. package/mcp-server/tools/GenerateCardComponentTool.d.ts +74 -0
  270. package/mcp-server/tools/GenerateCardComponentTool.js +146 -0
  271. package/mcp-server/tools/GenerateProjectConfigTool.d.ts +32 -0
  272. package/mcp-server/tools/GenerateProjectConfigTool.js +40 -0
  273. package/mcp-server/tools/HubSpotCLIHelper.d.ts +16 -0
  274. package/mcp-server/tools/HubSpotCLIHelper.js +74 -0
  275. package/mcp-server/tools/UploadProjectTool.d.ts +44 -0
  276. package/mcp-server/tools/UploadProjectTool.js +149 -0
  277. package/mcp-server/tools/ValidateProjectTool.d.ts +62 -0
  278. package/mcp-server/tools/ValidateProjectTool.js +315 -0
  279. package/package.json +13 -6
  280. package/types/Cms.d.ts +30 -0
  281. package/types/Cms.js +2 -0
  282. package/types/LocalDev.d.ts +24 -0
  283. package/types/LocalDev.js +2 -0
  284. package/types/Prompts.d.ts +0 -7
  285. package/types/Yargs.d.ts +8 -1
  286. package/lib/projects/localDev/LocalDevManagerV2.d.ts +0 -64
  287. package/lib/projects/localDev/LocalDevManagerV2.js +0 -345
  288. package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
  289. package/lib/prompts/installPublicAppPrompt.js +0 -41
@@ -0,0 +1,56 @@
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
+ const path_1 = __importDefault(require("path"));
7
+ const chokidar_1 = __importDefault(require("chokidar"));
8
+ const constants_1 = require("../../constants");
9
+ const WATCH_EVENTS = {
10
+ add: 'add',
11
+ change: 'change',
12
+ unlink: 'unlink',
13
+ unlinkDir: 'unlinkDir',
14
+ };
15
+ class LocalDevWatcher {
16
+ localDevProcess;
17
+ watcher;
18
+ constructor(localDevProcess) {
19
+ this.localDevProcess = localDevProcess;
20
+ this.watcher = null;
21
+ }
22
+ async handleWatchEvent(filePath, event, configPaths) {
23
+ await this.localDevProcess.updateProjectNodes();
24
+ if (configPaths.includes(filePath)) {
25
+ this.localDevProcess.logger.uploadWarning();
26
+ }
27
+ else {
28
+ this.localDevProcess.handleFileChange(filePath, event);
29
+ }
30
+ }
31
+ start() {
32
+ this.watcher = chokidar_1.default.watch(this.localDevProcess.projectDir, {
33
+ ignoreInitial: true,
34
+ ignored: ['**/dist'],
35
+ });
36
+ const configPaths = Object.values(this.localDevProcess.projectNodes).map(component => component.localDev.componentConfigPath);
37
+ const projectConfigPath = path_1.default.join(this.localDevProcess.projectDir, constants_1.PROJECT_CONFIG_FILE);
38
+ configPaths.push(projectConfigPath);
39
+ this.watcher.on('add', filePath => {
40
+ this.handleWatchEvent(filePath, WATCH_EVENTS.add, configPaths);
41
+ });
42
+ this.watcher.on('change', filePath => {
43
+ this.handleWatchEvent(filePath, WATCH_EVENTS.change, configPaths);
44
+ });
45
+ this.watcher.on('unlink', filePath => {
46
+ this.handleWatchEvent(filePath, WATCH_EVENTS.unlink, configPaths);
47
+ });
48
+ this.watcher.on('unlinkDir', filePath => {
49
+ this.handleWatchEvent(filePath, WATCH_EVENTS.unlinkDir, configPaths);
50
+ });
51
+ }
52
+ async stop() {
53
+ await this.watcher?.close();
54
+ }
55
+ }
56
+ exports.default = LocalDevWatcher;
@@ -0,0 +1,17 @@
1
+ import LocalDevProcess from './LocalDevProcess';
2
+ declare class LocalDevWebsocketServer {
3
+ private server?;
4
+ private _websocket?;
5
+ private debug?;
6
+ private localDevProcess;
7
+ constructor(localDevProcess: LocalDevProcess, debug?: boolean);
8
+ private websocket;
9
+ private log;
10
+ private logError;
11
+ private sendMessage;
12
+ private setupMessageHandlers;
13
+ private setupStateListeners;
14
+ start(): Promise<void>;
15
+ shutdown(): void;
16
+ }
17
+ export default LocalDevWebsocketServer;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ws_1 = require("ws");
4
+ const portManager_1 = require("@hubspot/local-dev-lib/portManager");
5
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
6
+ const constants_1 = require("../../constants");
7
+ const en_1 = require("../../../lang/en");
8
+ const SERVER_INSTANCE_ID = 'local-dev-ui-websocket-server';
9
+ const LOG_PREFIX = '[LocalDevWebsocketServer]';
10
+ class LocalDevWebsocketServer {
11
+ server;
12
+ _websocket;
13
+ debug;
14
+ localDevProcess;
15
+ constructor(localDevProcess, debug) {
16
+ this.localDevProcess = localDevProcess;
17
+ this.debug = debug;
18
+ }
19
+ websocket() {
20
+ if (!this._websocket) {
21
+ throw new Error(en_1.lib.LocalDevWebsocketServer.errors.notInitialized(LOG_PREFIX));
22
+ }
23
+ return this._websocket;
24
+ }
25
+ log(message) {
26
+ if (this.debug) {
27
+ logger_1.logger.log(LOG_PREFIX, message);
28
+ }
29
+ }
30
+ logError(message) {
31
+ if (this.debug) {
32
+ logger_1.logger.error(LOG_PREFIX, message);
33
+ }
34
+ }
35
+ sendMessage(message) {
36
+ this.websocket().send(JSON.stringify(message));
37
+ }
38
+ setupMessageHandlers() {
39
+ this.websocket().on('message', data => {
40
+ try {
41
+ const message = JSON.parse(data.toString());
42
+ if (!message.type) {
43
+ this.logError(en_1.lib.LocalDevWebsocketServer.errors.missingTypeField(data.toString()));
44
+ return;
45
+ }
46
+ switch (message.type) {
47
+ case constants_1.LOCAL_DEV_UI_WEBSOCKET_MESSAGE_TYPES.UPLOAD:
48
+ this.localDevProcess.uploadProject();
49
+ break;
50
+ case constants_1.LOCAL_DEV_UI_WEBSOCKET_MESSAGE_TYPES.INSTALL_DEPS:
51
+ break;
52
+ case constants_1.LOCAL_DEV_UI_WEBSOCKET_MESSAGE_TYPES.APP_INSTALLED:
53
+ break;
54
+ default:
55
+ this.logError(en_1.lib.LocalDevWebsocketServer.errors.unknownMessageType(message.type));
56
+ }
57
+ }
58
+ catch (e) {
59
+ this.logError(en_1.lib.LocalDevWebsocketServer.errors.invalidJSON(data.toString()));
60
+ }
61
+ });
62
+ }
63
+ setupStateListeners() {
64
+ this.localDevProcess.addStateListener('projectNodes', nodes => {
65
+ this.sendMessage({
66
+ type: constants_1.LOCAL_DEV_UI_WEBSOCKET_MESSAGE_TYPES.UPDATE_PROJECT_NODES,
67
+ data: nodes,
68
+ });
69
+ });
70
+ }
71
+ async start() {
72
+ const portManagerIsRunning = await (0, portManager_1.isPortManagerServerRunning)();
73
+ if (!portManagerIsRunning) {
74
+ throw new Error(en_1.lib.LocalDevWebsocketServer.errors.portManagerNotRunning(LOG_PREFIX));
75
+ }
76
+ const portData = await (0, portManager_1.requestPorts)([{ instanceId: SERVER_INSTANCE_ID }]);
77
+ const port = portData[SERVER_INSTANCE_ID];
78
+ this.server = new ws_1.WebSocketServer({ port });
79
+ this.log(en_1.lib.LocalDevWebsocketServer.logs.startup(port));
80
+ this.server.on('connection', ws => {
81
+ this._websocket = ws;
82
+ this.setupMessageHandlers();
83
+ this.setupStateListeners();
84
+ });
85
+ }
86
+ shutdown() {
87
+ this.server?.close();
88
+ this.server = undefined;
89
+ this._websocket = undefined;
90
+ }
91
+ }
92
+ exports.default = LocalDevWebsocketServer;
@@ -4,7 +4,7 @@ import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTest
4
4
  import { Project } from '@hubspot/local-dev-lib/types/Project';
5
5
  import { Build } from '@hubspot/local-dev-lib/types/Build';
6
6
  import { ProjectConfig } from '../../../types/Projects';
7
- import { ProjectDevTargetAccountPromptResponse } from '../../../types/Prompts';
7
+ import { ProjectDevTargetAccountPromptResponse } from '../../prompts/projectDevTargetAccountPrompt';
8
8
  export declare function confirmDefaultAccountIsTarget(accountConfig: CLIAccount): Promise<void>;
9
9
  export declare function checkIfDefaultAccountIsSupported(accountConfig: CLIAccount, hasPublicApps: boolean): Promise<void>;
10
10
  export declare function checkIfParentAccountIsAuthed(accountConfig: CLIAccount): void;
@@ -14,6 +14,7 @@ export declare function createSandboxForLocalDev(accountId: number, accountConfi
14
14
  export declare function createDeveloperTestAccountForLocalDev(accountId: number, accountConfig: CLIAccount, env: Environment): Promise<number>;
15
15
  export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<void>;
16
16
  export declare function createNewProjectForLocalDev(projectConfig: ProjectConfig, targetAccountId: number, shouldCreateWithoutConfirmation: boolean, hasPublicApps: boolean): Promise<Project>;
17
- export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, sendIR?: boolean): Promise<Build>;
17
+ export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, sendIR?: boolean, profile?: string): Promise<Build>;
18
18
  export declare function getAccountHomeUrl(accountId: number): string;
19
19
  export declare function hasSandboxes(account: CLIAccount): Promise<boolean>;
20
+ export declare function selectAccountTypePrompt(accountConfig: CLIAccount): Promise<string | null>;
@@ -15,6 +15,7 @@ exports.createNewProjectForLocalDev = createNewProjectForLocalDev;
15
15
  exports.createInitialBuildForNewProject = createInitialBuildForNewProject;
16
16
  exports.getAccountHomeUrl = getAccountHomeUrl;
17
17
  exports.hasSandboxes = hasSandboxes;
18
+ exports.selectAccountTypePrompt = selectAccountTypePrompt;
18
19
  const config_1 = require("@hubspot/local-dev-lib/constants/config");
19
20
  const index_1 = require("@hubspot/local-dev-lib/errors/index");
20
21
  const urls_1 = require("@hubspot/local-dev-lib/urls");
@@ -212,7 +213,7 @@ async function createNewProjectForLocalDev(projectConfig, targetAccountId, shoul
212
213
  .publicAppProjectMustExistExplanation
213
214
  : en_1.lib.localDevHelpers.createNewProjectForLocalDev
214
215
  .projectMustExistExplanation;
215
- const explanationString = explanationLangFunction((0, ui_1.uiAccountDescription)(targetAccountId), projectConfig.name);
216
+ const explanationString = explanationLangFunction(projectConfig.name, targetAccountId);
216
217
  logger_1.uiLogger.log('');
217
218
  (0, ui_1.uiLine)();
218
219
  logger_1.uiLogger.log(explanationString);
@@ -253,7 +254,7 @@ function projectUploadCallback(accountId, projectConfig, tempFile, buildId) {
253
254
  }
254
255
  // Create an initial build if the project was newly created in the account
255
256
  // Return the newly deployed build
256
- async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR) {
257
+ async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR, profile) {
257
258
  const { result: initialUploadResult, uploadError } = await (0, upload_1.handleProjectUpload)({
258
259
  accountId: targetAccountId,
259
260
  projectConfig,
@@ -264,6 +265,7 @@ async function createInitialBuildForNewProject(projectConfig, projectDir, target
264
265
  forceCreate: true,
265
266
  skipValidation: true,
266
267
  sendIR,
268
+ profile,
267
269
  });
268
270
  if (uploadError) {
269
271
  if ((0, index_1.isSpecifiedError)(uploadError, {
@@ -319,3 +321,31 @@ async function hasSandboxes(account) {
319
321
  return false;
320
322
  }
321
323
  }
324
+ // Top level prompt to choose the type of account to test on
325
+ async function selectAccountTypePrompt(accountConfig) {
326
+ const hasAccessToSandboxes = await hasSandboxes(accountConfig);
327
+ const result = await (0, promptUtils_1.listPrompt)(en_1.lib.localDevHelpers.selectAccountTypePrompt.message, {
328
+ choices: [
329
+ {
330
+ name: en_1.lib.localDevHelpers.selectAccountTypePrompt
331
+ .developerTestAccountOption,
332
+ value: config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
333
+ },
334
+ {
335
+ name: en_1.lib.localDevHelpers.selectAccountTypePrompt
336
+ .sandboxAccountOption,
337
+ value: config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
338
+ disabled: !hasAccessToSandboxes
339
+ ? en_1.lib.localDevHelpers.selectAccountTypePrompt
340
+ .sandboxAccountOptionDisabled
341
+ : false,
342
+ },
343
+ {
344
+ name: en_1.lib.localDevHelpers.selectAccountTypePrompt
345
+ .productionAccountOption,
346
+ value: null,
347
+ },
348
+ ],
349
+ });
350
+ return result;
351
+ }
@@ -15,6 +15,7 @@ type HandleProjectUploadArg<T> = {
15
15
  isUploadCommand?: boolean;
16
16
  sendIR?: boolean;
17
17
  skipValidation?: boolean;
18
+ profile?: string;
18
19
  };
19
- export declare function handleProjectUpload<T>({ accountId, projectConfig, projectDir, callbackFunc, uploadMessage, forceCreate, isUploadCommand, sendIR, skipValidation, }: HandleProjectUploadArg<T>): Promise<ProjectUploadResult<T>>;
20
+ export declare function handleProjectUpload<T>({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage, forceCreate, isUploadCommand, sendIR, skipValidation, }: HandleProjectUploadArg<T>): Promise<ProjectUploadResult<T>>;
20
21
  export {};
@@ -46,7 +46,7 @@ async function uploadProjectFiles(accountId, projectName, filePath, uploadMessag
46
46
  }
47
47
  return { buildId, error };
48
48
  }
49
- async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
49
+ async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
50
50
  const srcDir = path_1.default.resolve(projectDir, projectConfig.srcDir);
51
51
  const filenames = fs_extra_1.default.readdirSync(srcDir);
52
52
  if (!filenames || filenames.length === 0) {
@@ -66,7 +66,7 @@ async function handleProjectUpload({ accountId, projectConfig, projectDir, callb
66
66
  projectSourceDir: path_1.default.join(projectDir, projectConfig.srcDir),
67
67
  platformVersion: projectConfig.platformVersion,
68
68
  accountId,
69
- }, { skipValidation });
69
+ }, { skipValidation, profile });
70
70
  logger_1.uiLogger.debug(node_util_1.default.inspect(intermediateRepresentation, false, null, true));
71
71
  }
72
72
  catch (e) {
@@ -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 {};
@@ -1,7 +1,25 @@
1
- declare const templateTypeChoices: {
2
- name: string;
3
- value: string;
4
- }[];
1
+ declare const templateTypeChoices: [{
2
+ readonly name: "page";
3
+ readonly value: "page-template";
4
+ }, {
5
+ readonly name: "email";
6
+ readonly value: "email-template";
7
+ }, {
8
+ readonly name: "partial";
9
+ readonly value: "partial";
10
+ }, {
11
+ readonly name: "global partial";
12
+ readonly value: "global-partial";
13
+ }, {
14
+ readonly name: "blog listing";
15
+ readonly value: "blog-listing-template";
16
+ }, {
17
+ readonly name: "blog post";
18
+ readonly value: "blog-post-template";
19
+ }, {
20
+ readonly name: "search results";
21
+ readonly value: "search-template";
22
+ }];
5
23
  interface CreateTemplatePromptResponse {
6
24
  templateType: (typeof templateTypeChoices)[number]['value'];
7
25
  }
@@ -0,0 +1 @@
1
+ export declare function installAppPrompt(installUrl: string, isReinstall?: boolean): Promise<void>;
@@ -0,0 +1,35 @@
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.installAppPrompt = installAppPrompt;
7
+ const open_1 = __importDefault(require("open"));
8
+ const promptUtils_1 = require("./promptUtils");
9
+ const exitCodes_1 = require("../enums/exitCodes");
10
+ const en_1 = require("../../lang/en");
11
+ const logger_1 = require("../ui/logger");
12
+ async function installAppPrompt(installUrl, isReinstall = false) {
13
+ logger_1.uiLogger.log('');
14
+ if (isReinstall) {
15
+ logger_1.uiLogger.log(en_1.lib.prompts.installAppPrompt.reinstallExplanation);
16
+ }
17
+ else {
18
+ logger_1.uiLogger.log(en_1.lib.prompts.installAppPrompt.explanation);
19
+ }
20
+ const { shouldOpenBrowser } = await (0, promptUtils_1.promptUser)({
21
+ name: 'shouldOpenBrowser',
22
+ type: 'confirm',
23
+ message: isReinstall
24
+ ? en_1.lib.prompts.installAppPrompt.reinstallPrompt
25
+ : en_1.lib.prompts.installAppPrompt.prompt,
26
+ });
27
+ if (!isReinstall && !shouldOpenBrowser) {
28
+ logger_1.uiLogger.log(en_1.lib.prompts.installAppPrompt.decline);
29
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
30
+ }
31
+ else if (!shouldOpenBrowser) {
32
+ return;
33
+ }
34
+ (0, open_1.default)(installUrl);
35
+ }
@@ -1,6 +1,11 @@
1
1
  import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
2
2
  import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTestAccounts';
3
- import { ProjectDevTargetAccountPromptResponse } from '../../types/Prompts';
3
+ export type ProjectDevTargetAccountPromptResponse = {
4
+ targetAccountId: number | null;
5
+ createNestedAccount: boolean;
6
+ parentAccountId?: number | null;
7
+ notInConfigAccount?: DeveloperTestAccount | null;
8
+ };
4
9
  export declare function selectSandboxTargetAccountPrompt(accounts: CLIAccount[], defaultAccountConfig: CLIAccount): Promise<ProjectDevTargetAccountPromptResponse>;
5
10
  export declare function selectDeveloperTestTargetAccountPrompt(accounts: CLIAccount[], defaultAccountConfig: CLIAccount): Promise<ProjectDevTargetAccountPromptResponse>;
6
11
  export declare function confirmDefaultAccountPrompt(accountName: string, accountType: string): Promise<boolean>;
@@ -4,16 +4,16 @@ exports.selectSandboxTargetAccountPrompt = selectSandboxTargetAccountPrompt;
4
4
  exports.selectDeveloperTestTargetAccountPrompt = selectDeveloperTestTargetAccountPrompt;
5
5
  exports.confirmDefaultAccountPrompt = confirmDefaultAccountPrompt;
6
6
  exports.confirmUseExistingDeveloperTestAccountPrompt = confirmUseExistingDeveloperTestAccountPrompt;
7
- const promptUtils_1 = require("./promptUtils");
8
- const lang_1 = require("../lang");
9
- const ui_1 = require("../ui");
10
- const accountTypes_1 = require("../accountTypes");
11
7
  const config_1 = require("@hubspot/local-dev-lib/config");
12
8
  const sandboxHubs_1 = require("@hubspot/local-dev-lib/api/sandboxHubs");
13
9
  const config_2 = require("@hubspot/local-dev-lib/constants/config");
14
10
  const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
15
11
  const logger_1 = require("@hubspot/local-dev-lib/logger");
16
12
  const developerTestAccounts_1 = require("@hubspot/local-dev-lib/api/developerTestAccounts");
13
+ const promptUtils_1 = require("./promptUtils");
14
+ const lang_1 = require("../lang");
15
+ const ui_1 = require("../ui");
16
+ const accountTypes_1 = require("../accountTypes");
17
17
  const exitCodes_1 = require("../enums/exitCodes");
18
18
  function mapNestedAccount(accountConfig) {
19
19
  const parentAccountId = accountConfig.parentAccountId ?? null;
@@ -42,7 +42,7 @@ async function selectSandboxTargetAccountPrompt(accounts, defaultAccountConfig)
42
42
  sandboxUsage = data.usage;
43
43
  }
44
44
  else {
45
- logger_1.logger.error(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`);
45
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`));
46
46
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
47
47
  }
48
48
  }
@@ -101,7 +101,7 @@ async function selectDeveloperTestTargetAccountPrompt(accounts, defaultAccountCo
101
101
  devTestAccountsResponse = data;
102
102
  }
103
103
  else {
104
- logger_1.logger.error(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`);
104
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.projectDevTargetAccountPrompt.noAccountId`));
105
105
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
106
106
  }
107
107
  }
@@ -4,9 +4,10 @@ export declare function confirmPrompt(message: string, options?: {
4
4
  defaultAnswer?: boolean;
5
5
  when?: PromptWhen;
6
6
  }): Promise<boolean>;
7
- export declare function listPrompt<T = string>(message: string, { choices, when, }: {
7
+ export declare function listPrompt<T = string>(message: string, { choices, when, defaultAnswer, }: {
8
8
  choices: PromptChoices<T>;
9
9
  when?: PromptWhen;
10
+ defaultAnswer?: string | number | boolean;
10
11
  }): Promise<T>;
11
12
  export declare function inputPrompt(message: string, { when, validate, defaultAnswer, }?: {
12
13
  when?: boolean | (() => boolean);
@@ -22,7 +22,7 @@ async function confirmPrompt(message, options = {}) {
22
22
  ]);
23
23
  return choice;
24
24
  }
25
- async function listPrompt(message, { choices, when, }) {
25
+ async function listPrompt(message, { choices, when, defaultAnswer, }) {
26
26
  const { choice } = await promptUser([
27
27
  {
28
28
  name: 'choice',
@@ -30,6 +30,7 @@ async function listPrompt(message, { choices, when, }) {
30
30
  message,
31
31
  choices,
32
32
  when,
33
+ default: defaultAnswer,
33
34
  },
34
35
  ]);
35
36
  return choice;
@@ -0,0 +1,2 @@
1
+ import { PublicApp } from '@hubspot/local-dev-lib/types/Apps';
2
+ export declare function selectAppPrompt(accountId: number, appId?: number): Promise<PublicApp | null>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectAppPrompt = selectAppPrompt;
4
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
5
+ const appsDev_1 = require("@hubspot/local-dev-lib/api/appsDev");
6
+ const index_1 = require("../errorHandlers/index");
7
+ const en_1 = require("../../lang/en");
8
+ const promptUtils_1 = require("../prompts/promptUtils");
9
+ async function selectAppPrompt(accountId, appId) {
10
+ let availableApps = [];
11
+ try {
12
+ const appsResponse = await (0, appsDev_1.fetchPublicAppsForPortal)(accountId);
13
+ if (appsResponse.data.results) {
14
+ availableApps = appsResponse.data.results;
15
+ }
16
+ }
17
+ catch (err) {
18
+ (0, index_1.debugError)(err);
19
+ }
20
+ if (availableApps.length === 0) {
21
+ logger_1.logger.error(en_1.lib.prompts.selectAppPrompt.errors.noApps);
22
+ return null;
23
+ }
24
+ if (appId) {
25
+ const targetApp = availableApps.find(app => app.id === appId);
26
+ if (targetApp) {
27
+ return targetApp;
28
+ }
29
+ else {
30
+ logger_1.logger.error(en_1.lib.prompts.selectAppPrompt.errors.invalidAppId);
31
+ }
32
+ }
33
+ const appPromptValue = await (0, promptUtils_1.listPrompt)(en_1.lib.prompts.selectAppPrompt.selectAppId, {
34
+ choices: availableApps.map(app => ({
35
+ name: `${app.name} (${app.id})`,
36
+ value: app,
37
+ })),
38
+ });
39
+ return appPromptValue;
40
+ }
@@ -1,7 +1,7 @@
1
1
  type PublicAppPromptResponse = {
2
2
  appId: number;
3
3
  };
4
- export declare function selectPublicAppPrompt({ accountId, accountName, isMigratingApp, }: {
4
+ export declare function selectPublicAppForMigrationPrompt({ accountId, accountName, isMigratingApp, }: {
5
5
  accountId: number | null;
6
6
  accountName: string;
7
7
  isMigratingApp?: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.selectPublicAppPrompt = selectPublicAppPrompt;
3
+ exports.selectPublicAppForMigrationPrompt = selectPublicAppForMigrationPrompt;
4
4
  const promptUtils_1 = require("./promptUtils");
5
5
  const lang_1 = require("../lang");
6
6
  const ui_1 = require("../ui");
@@ -11,7 +11,7 @@ const exitCodes_1 = require("../enums/exitCodes");
11
11
  async function fetchPublicAppOptions(accountId, accountName, isMigratingApp = false) {
12
12
  try {
13
13
  if (!accountId) {
14
- logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.selectPublicAppPrompt.errors.noAccountId`));
14
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.selectPublicAppForMigrationPrompt.errors.noAccountId`));
15
15
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
16
16
  }
17
17
  const { data: { results: publicApps }, } = await (0, appsDev_1.fetchPublicAppsForPortal)(accountId);
@@ -26,8 +26,8 @@ async function fetchPublicAppOptions(accountId, accountName, isMigratingApp = fa
26
26
  ? 'noAppsMigrationMessage'
27
27
  : 'noAppsCloneMessage';
28
28
  (0, ui_1.uiLine)();
29
- logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.selectPublicAppPrompt.errors.${headerTranslationKey}`));
30
- logger_1.logger.log((0, lang_1.i18n)(`lib.prompts.selectPublicAppPrompt.errors.${messageTranslationKey}`, { accountName }));
29
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.selectPublicAppForMigrationPrompt.errors.${headerTranslationKey}`));
30
+ logger_1.logger.log((0, lang_1.i18n)(`lib.prompts.selectPublicAppForMigrationPrompt.errors.${messageTranslationKey}`, { accountName }));
31
31
  (0, ui_1.uiLine)();
32
32
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
33
33
  }
@@ -35,11 +35,11 @@ async function fetchPublicAppOptions(accountId, accountName, isMigratingApp = fa
35
35
  }
36
36
  catch (error) {
37
37
  (0, index_1.logError)(error, accountId ? { accountId } : undefined);
38
- logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.selectPublicAppPrompt.errors.errorFetchingApps`));
38
+ logger_1.logger.error((0, lang_1.i18n)(`lib.prompts.selectPublicAppForMigrationPrompt.errors.errorFetchingApps`));
39
39
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
40
40
  }
41
41
  }
42
- async function selectPublicAppPrompt({ accountId, accountName, isMigratingApp = false, }) {
42
+ async function selectPublicAppForMigrationPrompt({ accountId, accountName, isMigratingApp = false, }) {
43
43
  const publicApps = await fetchPublicAppOptions(accountId, accountName, isMigratingApp);
44
44
  const translationKey = isMigratingApp
45
45
  ? 'selectAppIdMigrate'
@@ -47,7 +47,7 @@ async function selectPublicAppPrompt({ accountId, accountName, isMigratingApp =
47
47
  return (0, promptUtils_1.promptUser)([
48
48
  {
49
49
  name: 'appId',
50
- message: (0, lang_1.i18n)(`lib.prompts.selectPublicAppPrompt.${translationKey}`, {
50
+ message: (0, lang_1.i18n)(`lib.prompts.selectPublicAppForMigrationPrompt.${translationKey}`, {
51
51
  accountName,
52
52
  }),
53
53
  type: 'list',
@@ -56,7 +56,7 @@ async function selectPublicAppPrompt({ accountId, accountName, isMigratingApp =
56
56
  if (isMigratingApp && preventProjectMigrations && listingInfo) {
57
57
  return {
58
58
  name: `${app.name} (${app.id})`,
59
- disabled: (0, lang_1.i18n)(`lib.prompts.selectPublicAppPrompt.errors.cannotBeMigrated`),
59
+ disabled: (0, lang_1.i18n)(`lib.prompts.selectPublicAppForMigrationPrompt.errors.cannotBeMigrated`),
60
60
  };
61
61
  }
62
62
  return {
@@ -1,4 +1,4 @@
1
- import { AxiosResponse } from 'axios';
1
+ import { HubSpotPromise } from '@hubspot/local-dev-lib/types/Http';
2
2
  import { HubSpotHttpError } from '@hubspot/local-dev-lib/models/HubSpotHttpError';
3
3
  type MockErrorResponse = {
4
4
  status: number;
@@ -9,6 +9,6 @@ type MockErrorResponse = {
9
9
  subCategory?: string;
10
10
  };
11
11
  };
12
- export declare const mockHubSpotHttpResponse: (data: any) => AxiosResponse;
13
- export declare const mockHubSpotHttpError: (message: string, response: MockErrorResponse) => HubSpotHttpError;
12
+ export declare function mockHubSpotHttpResponse<T>(data?: any): HubSpotPromise<T>;
13
+ export declare function mockHubSpotHttpError(message: string, response: MockErrorResponse): HubSpotHttpError;
14
14
  export {};
package/lib/testUtils.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockHubSpotHttpError = exports.mockHubSpotHttpResponse = void 0;
3
+ exports.mockHubSpotHttpResponse = mockHubSpotHttpResponse;
4
+ exports.mockHubSpotHttpError = mockHubSpotHttpError;
4
5
  const axios_1 = require("axios");
5
6
  const HubSpotHttpError_1 = require("@hubspot/local-dev-lib/models/HubSpotHttpError");
6
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const mockHubSpotHttpResponse = (data) => {
8
- return {
8
+ function mockHubSpotHttpResponse(data) {
9
+ return Promise.resolve({
9
10
  data,
10
11
  status: 200,
11
12
  statusText: 'OK',
@@ -13,12 +14,10 @@ const mockHubSpotHttpResponse = (data) => {
13
14
  config: {
14
15
  headers: new axios_1.AxiosHeaders(),
15
16
  },
16
- };
17
- };
18
- exports.mockHubSpotHttpResponse = mockHubSpotHttpResponse;
19
- const mockHubSpotHttpError = (message, response) => {
17
+ });
18
+ }
19
+ function mockHubSpotHttpError(message, response) {
20
20
  return new HubSpotHttpError_1.HubSpotHttpError(message, {
21
21
  cause: { isAxiosError: true, response },
22
22
  });
23
- };
24
- exports.mockHubSpotHttpError = mockHubSpotHttpError;
23
+ }
package/lib/ui/index.js CHANGED
@@ -61,7 +61,10 @@ function uiAccountDescription(accountId, bold = true) {
61
61
  if (account && account.accountType) {
62
62
  message = `${account.name} [${HUBSPOT_ACCOUNT_TYPE_STRINGS[account.accountType]}] (${accountId})`;
63
63
  }
64
- return bold ? chalk_1.default.bold(message) : message || '';
64
+ else {
65
+ message = accountId ? accountId.toString() : '';
66
+ }
67
+ return bold ? chalk_1.default.bold(message) : message;
65
68
  }
66
69
  function uiInfoSection(title, logContent) {
67
70
  uiLine();
package/lib/upload.d.ts CHANGED
@@ -1 +1 @@
1
- export declare function getUploadableFileList(src: string, convertFields: boolean): Promise<string[]>;
1
+ export declare function getUploadableFileList(src: string, convertFields?: boolean): Promise<string[]>;