@hubspot/cli 7.7.31-experimental.0 → 7.7.33-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 (115) hide show
  1. package/commands/app.js +1 -6
  2. package/commands/getStarted.js +5 -4
  3. package/commands/project/__tests__/add.test.js +3 -5
  4. package/commands/project/__tests__/deploy.test.js +3 -2
  5. package/commands/project/add.js +2 -4
  6. package/commands/project/deploy.js +9 -61
  7. package/commands/project/dev/index.js +1 -1
  8. package/commands/project/dev/unifiedFlow.js +3 -0
  9. package/commands/project/upload.d.ts +2 -2
  10. package/commands/project/upload.js +3 -3
  11. package/commands/project/validate.js +1 -1
  12. package/commands/project/watch.js +2 -2
  13. package/commands/testAccount/create.js +0 -3
  14. package/lang/en.d.ts +8 -26
  15. package/lang/en.js +9 -27
  16. package/lib/__tests__/hasFeature.test.js +145 -7
  17. package/lib/__tests__/importData.test.js +1 -1
  18. package/lib/app/migrate.js +9 -2
  19. package/lib/constants.d.ts +2 -0
  20. package/lib/constants.js +2 -0
  21. package/lib/errorHandlers/index.d.ts +4 -0
  22. package/lib/errorHandlers/index.js +1 -1
  23. package/lib/hasFeature.js +6 -0
  24. package/lib/importData.js +1 -1
  25. package/lib/mcp/setup.js +1 -1
  26. package/lib/projectProfiles.d.ts +1 -1
  27. package/lib/projectProfiles.js +2 -10
  28. package/lib/projects/__tests__/AppDevModeInterface.test.js +61 -44
  29. package/lib/projects/__tests__/LocalDevProcess.test.js +1 -0
  30. package/lib/projects/__tests__/deploy.test.js +164 -0
  31. package/lib/projects/__tests__/{buildAndDeploy.test.js → platformVersion.test.js} +2 -2
  32. package/lib/projects/add/__tests__/legacyAddComponent.test.js +49 -6
  33. package/lib/projects/add/__tests__/v3AddComponent.test.js +71 -1
  34. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  35. package/lib/projects/add/legacyAddComponent.js +5 -1
  36. package/lib/projects/add/v3AddComponent.d.ts +1 -0
  37. package/lib/projects/add/v3AddComponent.js +2 -2
  38. package/lib/projects/create/__tests__/v3.test.js +97 -9
  39. package/lib/projects/create/index.js +2 -2
  40. package/lib/projects/create/legacy.js +1 -1
  41. package/lib/projects/create/v3.d.ts +2 -2
  42. package/lib/projects/create/v3.js +35 -12
  43. package/lib/projects/deploy.d.ts +13 -0
  44. package/lib/projects/deploy.js +63 -0
  45. package/lib/projects/localDev/AppDevModeInterface.d.ts +0 -2
  46. package/lib/projects/localDev/AppDevModeInterface.js +65 -36
  47. package/lib/projects/localDev/DevServerManagerV2.js +1 -0
  48. package/lib/projects/localDev/LocalDevProcess.js +3 -1
  49. package/lib/projects/localDev/LocalDevState.d.ts +5 -2
  50. package/lib/projects/localDev/LocalDevState.js +9 -1
  51. package/lib/projects/localDev/helpers/project.js +1 -1
  52. package/lib/projects/platformVersion.d.ts +1 -0
  53. package/lib/projects/platformVersion.js +10 -0
  54. package/lib/projects/{buildAndDeploy.d.ts → pollProjectBuildAndDeploy.d.ts} +0 -1
  55. package/lib/projects/{buildAndDeploy.js → pollProjectBuildAndDeploy.js} +0 -10
  56. package/lib/projects/structure.d.ts +2 -2
  57. package/lib/projects/upload.d.ts +1 -2
  58. package/lib/projects/upload.js +1 -2
  59. package/lib/projects/urls.d.ts +1 -0
  60. package/lib/projects/urls.js +3 -0
  61. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +1 -0
  62. package/lib/prompts/__tests__/projectAddPrompt.test.js +143 -0
  63. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +1 -0
  64. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +160 -0
  65. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +1 -0
  66. package/lib/prompts/importDataFilePathPrompt.js +4 -2
  67. package/lib/prompts/installAppPrompt.d.ts +6 -1
  68. package/lib/prompts/installAppPrompt.js +6 -1
  69. package/lib/prompts/projectAddPrompt.js +1 -1
  70. package/lib/prompts/selectProjectTemplatePrompt.js +1 -1
  71. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +32 -0
  72. package/mcp-server/tools/cms/HsCreateFunctionTool.js +96 -0
  73. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +26 -0
  74. package/mcp-server/tools/cms/HsCreateTemplateTool.js +75 -0
  75. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +32 -0
  76. package/mcp-server/tools/cms/HsFunctionLogsTool.js +76 -0
  77. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +23 -0
  78. package/mcp-server/tools/cms/HsListFunctionsTool.js +58 -0
  79. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +1 -0
  80. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +251 -0
  81. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +1 -0
  82. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +206 -0
  83. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +1 -0
  84. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +183 -0
  85. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +1 -0
  86. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +120 -0
  87. package/mcp-server/tools/index.js +8 -0
  88. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +3 -3
  89. package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
  90. package/mcp-server/tools/project/GetConfigValuesTool.js +3 -3
  91. package/mcp-server/tools/project/constants.d.ts +1 -1
  92. package/mcp-server/tools/project/constants.js +6 -4
  93. package/package.json +4 -3
  94. package/types/LocalDev.d.ts +2 -1
  95. package/types/Projects.d.ts +1 -0
  96. package/types/Yargs.d.ts +1 -1
  97. package/ui/components/BoxWithTitle.d.ts +8 -0
  98. package/ui/components/BoxWithTitle.js +9 -0
  99. package/ui/components/HorizontalSelectPrompt.d.ts +8 -0
  100. package/ui/components/HorizontalSelectPrompt.js +30 -0
  101. package/ui/components/StatusMessageBoxes.d.ts +12 -0
  102. package/ui/components/StatusMessageBoxes.js +31 -0
  103. package/ui/lib/ui-testing-utils.d.ts +9 -0
  104. package/ui/lib/ui-testing-utils.js +47 -0
  105. package/ui/lib/useTerminalSize.d.ts +13 -0
  106. package/ui/lib/useTerminalSize.js +31 -0
  107. package/ui/styles.d.ts +18 -0
  108. package/ui/styles.js +18 -0
  109. package/ui/views/UiSandbox.d.ts +5 -0
  110. package/ui/views/UiSandbox.js +25 -0
  111. package/commands/app/__tests__/install.test.js +0 -47
  112. package/commands/app/install.d.ts +0 -8
  113. package/commands/app/install.js +0 -122
  114. /package/{commands/app/__tests__/install.test.d.ts → lib/projects/__tests__/deploy.test.d.ts} +0 -0
  115. /package/lib/projects/__tests__/{buildAndDeploy.test.d.ts → platformVersion.test.d.ts} +0 -0
@@ -1,8 +0,0 @@
1
- import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule, JSONOutputArgs } from '../../types/Yargs.js';
2
- type InstallAppArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & JSONOutputArgs & {
3
- appUid?: string;
4
- projectName?: string;
5
- testAccountId: number;
6
- };
7
- declare const installAppCommand: YargsCommandModule<unknown, InstallAppArgs>;
8
- export default installAppCommand;
@@ -1,122 +0,0 @@
1
- import { fetchDeveloperTestAccountOauthAppInstallStatus, installOauthAppIntoDeveloperTestAccount, } from '@hubspot/local-dev-lib/api/developerTestAccounts';
2
- import { trackCommandUsage } from '../../lib/usageTracking.js';
3
- import { commands } from '../../lang/en.js';
4
- import { EXIT_CODES } from '../../lib/enums/exitCodes.js';
5
- import { makeYargsBuilder } from '../../lib/yargsUtils.js';
6
- import { APP_AUTH_TYPES } from '../../lib/constants.js';
7
- import { uiLogger } from '../../lib/ui/logger.js';
8
- import SpinniesManager from '../../lib/ui/SpinniesManager.js';
9
- import { poll } from '../../lib/polling.js';
10
- import { getProjectConfig, validateProjectConfig, } from '../../lib/projects/config.js';
11
- import { handleTranslate } from '../../lib/projects/upload.js';
12
- import { isAppIRNode } from '../../lib/projects/structure.js';
13
- import { logError } from '../../lib/errorHandlers/index.js';
14
- const command = 'install <test-account-id>';
15
- const describe = undefined; // commands.app.subcommands.install.describe;
16
- async function handler(args) {
17
- const { derivedAccountId, appUid, projectName, testAccountId, formatOutputAsJson, } = args;
18
- trackCommandUsage('app-install', {}, derivedAccountId);
19
- const jsonOutput = {};
20
- let targetProjectName = projectName;
21
- let targetAppUid = appUid;
22
- const { projectConfig, projectDir } = await getProjectConfig();
23
- if (!targetProjectName) {
24
- validateProjectConfig(projectConfig, projectDir);
25
- targetProjectName = projectConfig?.name;
26
- }
27
- if (!targetProjectName) {
28
- uiLogger.error(commands.app.subcommands.install.errors.mustSpecifyProjectName);
29
- process.exit(EXIT_CODES.ERROR);
30
- }
31
- let isAppOauth = true;
32
- if (!targetAppUid) {
33
- const intermediateRepresentation = await handleTranslate(projectDir, projectConfig, derivedAccountId, true, undefined);
34
- if (intermediateRepresentation) {
35
- Object.values(intermediateRepresentation.intermediateNodesIndexedByUid).forEach(node => {
36
- if (isAppIRNode(node)) {
37
- targetAppUid = node.uid;
38
- isAppOauth = node.config.auth.type === APP_AUTH_TYPES.OAUTH;
39
- }
40
- });
41
- }
42
- }
43
- if (!targetAppUid) {
44
- uiLogger.error(commands.app.subcommands.install.errors.noAppUidFound);
45
- process.exit(EXIT_CODES.ERROR);
46
- }
47
- if (!isAppOauth) {
48
- uiLogger.error(commands.app.subcommands.install.errors.appMustBeOauth);
49
- process.exit(EXIT_CODES.ERROR);
50
- }
51
- try {
52
- const { data } = await installOauthAppIntoDeveloperTestAccount(derivedAccountId, testAccountId, targetProjectName, targetAppUid);
53
- if (data?.authCodes.length > 0) {
54
- jsonOutput.authCode = data.authCodes[0].authCode;
55
- }
56
- }
57
- catch (err) {
58
- logError(err);
59
- process.exit(EXIT_CODES.ERROR);
60
- }
61
- SpinniesManager.init({
62
- succeedColor: 'white',
63
- });
64
- SpinniesManager.add('installApp', {
65
- text: commands.app.subcommands.install.polling.start,
66
- });
67
- let appInstallSucceeded = false;
68
- try {
69
- await poll(() => fetchDeveloperTestAccountOauthAppInstallStatus(derivedAccountId, targetProjectName, targetAppUid), {
70
- successStates: ['SUCCESS'],
71
- errorStates: [],
72
- });
73
- appInstallSucceeded = true;
74
- }
75
- catch (err) {
76
- SpinniesManager.fail('installApp');
77
- logError(err);
78
- process.exit(EXIT_CODES.ERROR);
79
- }
80
- if (!appInstallSucceeded) {
81
- SpinniesManager.fail('installApp');
82
- process.exit(EXIT_CODES.ERROR);
83
- }
84
- SpinniesManager.succeed('installApp', {
85
- text: commands.app.subcommands.install.polling.success,
86
- });
87
- if (formatOutputAsJson) {
88
- uiLogger.json(jsonOutput);
89
- }
90
- process.exit(EXIT_CODES.SUCCESS);
91
- }
92
- function installAppBuilder(yargs) {
93
- yargs.positional('test-account-id', {
94
- describe: commands.app.subcommands.install.positionals.testAccountId,
95
- required: true,
96
- type: 'number',
97
- });
98
- yargs.option('app-uid', {
99
- describe: commands.app.subcommands.install.options.appUid,
100
- type: 'string',
101
- });
102
- yargs.option('project-name', {
103
- describe: commands.app.subcommands.install.options.projectName,
104
- type: 'string',
105
- });
106
- yargs.example('install 1234567890 --app-uid=my-app-uid --project-name=my-project', commands.app.subcommands.install.example);
107
- return yargs;
108
- }
109
- const builder = makeYargsBuilder(installAppBuilder, command, commands.app.subcommands.install.describe, {
110
- useGlobalOptions: true,
111
- useAccountOptions: true,
112
- useConfigOptions: true,
113
- useEnvironmentOptions: true,
114
- useJSONOutputOptions: true,
115
- });
116
- const installAppCommand = {
117
- command,
118
- describe,
119
- handler,
120
- builder,
121
- };
122
- export default installAppCommand;