@hubspot/cli 7.7.0-experimental.2 → 7.7.1-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.
- package/bin/cli.js +96 -94
- package/commands/account.js +0 -2
- package/commands/app.js +0 -2
- package/commands/auth.js +0 -2
- package/commands/cms.js +0 -2
- package/commands/completion.js +0 -2
- package/commands/config.js +0 -2
- package/commands/create.js +0 -2
- package/commands/customObject.js +0 -2
- package/commands/doctor.js +0 -2
- package/commands/feedback.js +0 -2
- package/commands/filemanager.js +0 -2
- package/commands/function.js +0 -2
- package/commands/hubdb.js +0 -2
- package/commands/init.js +0 -2
- package/commands/lint.js +0 -2
- package/commands/list.js +0 -2
- package/commands/mv.js +0 -2
- package/commands/open.js +0 -2
- package/commands/project/dev/deprecatedFlow.d.ts +8 -2
- package/commands/project/dev/deprecatedFlow.js +9 -1
- package/commands/project/dev/index.js +59 -34
- package/commands/project/dev/unifiedFlow.d.ts +10 -2
- package/commands/project/dev/unifiedFlow.js +27 -41
- package/commands/project.js +0 -4
- package/commands/remove.js +0 -2
- package/commands/sandbox.js +0 -2
- package/commands/secret.js +0 -2
- package/commands/theme.js +0 -2
- package/commands/upload.js +0 -2
- package/lang/en.d.ts +14 -54
- package/lang/en.js +14 -54
- package/lib/accountTypes.js +1 -3
- package/lib/commonOpts.d.ts +1 -3
- package/lib/commonOpts.js +1 -1
- package/lib/middleware/fireAlarmMiddleware.d.ts +2 -2
- package/lib/middleware/fireAlarmMiddleware.js +5 -3
- package/lib/projects/localDev/AppDevModeInterface.js +0 -6
- package/lib/projects/upload.js +6 -0
- package/package.json +4 -7
- package/types/Yargs.d.ts +2 -0
- package/bin/hsmcp.d.ts +0 -2
- package/bin/hsmcp.js +0 -13
- package/commands/project/validate.d.ts +0 -4
- package/commands/project/validate.js +0 -53
- package/commands/setupMcp.d.ts +0 -8
- package/commands/setupMcp.js +0 -229
- package/mcp-server/index.d.ts +0 -1
- package/mcp-server/index.js +0 -17
- package/mcp-server/mcpLoader.d.ts +0 -5
- package/mcp-server/mcpLoader.js +0 -24
- package/mcp-server/tools/ExplainProjectStructureTool.d.ts +0 -33
- package/mcp-server/tools/ExplainProjectStructureTool.js +0 -266
- package/mcp-server/tools/GenerateAppComponentTool.d.ts +0 -99
- package/mcp-server/tools/GenerateAppComponentTool.js +0 -193
- package/mcp-server/tools/GenerateCardComponentTool.d.ts +0 -74
- package/mcp-server/tools/GenerateCardComponentTool.js +0 -146
- package/mcp-server/tools/GenerateProjectConfigTool.d.ts +0 -32
- package/mcp-server/tools/GenerateProjectConfigTool.js +0 -40
- package/mcp-server/tools/HubSpotCLIHelper.d.ts +0 -24
- package/mcp-server/tools/HubSpotCLIHelper.js +0 -110
- package/mcp-server/tools/UploadProjectTool.d.ts +0 -44
- package/mcp-server/tools/UploadProjectTool.js +0 -166
- package/mcp-server/tools/ValidateProjectTool.d.ts +0 -62
- package/mcp-server/tools/ValidateProjectTool.js +0 -336
package/bin/cli.js
CHANGED
|
@@ -1,80 +1,83 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
9
|
+
const index_1 = require("../lib/errorHandlers/index");
|
|
10
|
+
const commonOpts_1 = require("../lib/commonOpts");
|
|
11
|
+
const usageTracking_1 = require("../lib/usageTracking");
|
|
12
|
+
const exitCodes_1 = require("../lib/enums/exitCodes");
|
|
13
|
+
const configMiddleware_1 = require("../lib/middleware/configMiddleware");
|
|
14
|
+
const autoUpdateMiddleware_1 = require("../lib/middleware/autoUpdateMiddleware");
|
|
15
|
+
const gitMiddleware_1 = require("../lib/middleware/gitMiddleware");
|
|
16
|
+
const yargsChecksMiddleware_1 = require("../lib/middleware/yargsChecksMiddleware");
|
|
17
|
+
const requestMiddleware_1 = require("../lib/middleware/requestMiddleware");
|
|
18
|
+
const fireAlarmMiddleware_1 = require("../lib/middleware/fireAlarmMiddleware");
|
|
19
|
+
const remove_1 = __importDefault(require("../commands/remove"));
|
|
20
|
+
const init_1 = __importDefault(require("../commands/init"));
|
|
21
|
+
const logs_1 = __importDefault(require("../commands/logs"));
|
|
22
|
+
const lint_1 = __importDefault(require("../commands/lint"));
|
|
23
|
+
const hubdb_1 = __importDefault(require("../commands/hubdb"));
|
|
24
|
+
const watch_1 = __importDefault(require("../commands/watch"));
|
|
25
|
+
const auth_1 = __importDefault(require("../commands/auth"));
|
|
26
|
+
const upload_1 = __importDefault(require("../commands/upload"));
|
|
27
|
+
const create_1 = __importDefault(require("../commands/create"));
|
|
28
|
+
const fetch_1 = __importDefault(require("../commands/fetch"));
|
|
29
|
+
const filemanager_1 = __importDefault(require("../commands/filemanager"));
|
|
30
|
+
const secret_1 = __importDefault(require("../commands/secret"));
|
|
31
|
+
const customObject_1 = __importDefault(require("../commands/customObject"));
|
|
32
|
+
const function_1 = __importDefault(require("../commands/function"));
|
|
33
|
+
const list_1 = __importDefault(require("../commands/list"));
|
|
34
|
+
const open_1 = __importDefault(require("../commands/open"));
|
|
35
|
+
const mv_1 = __importDefault(require("../commands/mv"));
|
|
36
|
+
const project_1 = __importDefault(require("../commands/project"));
|
|
37
|
+
const theme_1 = __importDefault(require("../commands/theme"));
|
|
38
|
+
const module_1 = __importDefault(require("../commands/module"));
|
|
39
|
+
const config_1 = __importDefault(require("../commands/config"));
|
|
40
|
+
const account_1 = __importDefault(require("../commands/account"));
|
|
41
|
+
const sandbox_1 = __importDefault(require("../commands/sandbox"));
|
|
42
|
+
const cms_1 = __importDefault(require("../commands/cms"));
|
|
43
|
+
const feedback_1 = __importDefault(require("../commands/feedback"));
|
|
44
|
+
const doctor_1 = __importDefault(require("../commands/doctor"));
|
|
45
|
+
const completion_1 = __importDefault(require("../commands/completion"));
|
|
46
|
+
const app_1 = __importDefault(require("../commands/app"));
|
|
47
|
+
function getTerminalWidth() {
|
|
48
|
+
const width = yargs_1.default.terminalWidth();
|
|
46
49
|
if (width >= 100)
|
|
47
50
|
return width * 0.9;
|
|
48
51
|
return width;
|
|
49
|
-
}
|
|
50
|
-
|
|
52
|
+
}
|
|
53
|
+
function handleFailure(msg, err, yargs) {
|
|
51
54
|
if (msg) {
|
|
52
|
-
logger.error(msg);
|
|
55
|
+
logger_1.logger.error(msg);
|
|
53
56
|
}
|
|
54
57
|
else if (err) {
|
|
55
|
-
logError(err);
|
|
58
|
+
(0, index_1.logError)(err);
|
|
56
59
|
}
|
|
57
60
|
if (msg === null) {
|
|
58
61
|
yargs.showHelp('log');
|
|
59
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
62
|
+
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
60
63
|
}
|
|
61
64
|
else {
|
|
62
|
-
process.exit(EXIT_CODES.ERROR);
|
|
65
|
+
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
63
66
|
}
|
|
64
|
-
}
|
|
65
|
-
const argv =
|
|
67
|
+
}
|
|
68
|
+
const argv = yargs_1.default
|
|
66
69
|
.usage('The command line interface to interact with HubSpot.')
|
|
67
70
|
// loadConfigMiddleware loads the new hidden config for all commands
|
|
68
71
|
.middleware([
|
|
69
|
-
setLogLevel,
|
|
70
|
-
setRequestHeaders,
|
|
71
|
-
handleDeprecatedEnvVariables,
|
|
72
|
-
loadConfigMiddleware,
|
|
73
|
-
injectAccountIdMiddleware,
|
|
74
|
-
autoUpdateCLI,
|
|
75
|
-
checkAndWarnGitInclusionMiddleware,
|
|
76
|
-
validateAccountOptions,
|
|
77
|
-
checkFireAlarms,
|
|
72
|
+
commonOpts_1.setLogLevel,
|
|
73
|
+
requestMiddleware_1.setRequestHeaders,
|
|
74
|
+
configMiddleware_1.handleDeprecatedEnvVariables,
|
|
75
|
+
configMiddleware_1.loadConfigMiddleware,
|
|
76
|
+
configMiddleware_1.injectAccountIdMiddleware,
|
|
77
|
+
autoUpdateMiddleware_1.autoUpdateCLI,
|
|
78
|
+
gitMiddleware_1.checkAndWarnGitInclusionMiddleware,
|
|
79
|
+
configMiddleware_1.validateAccountOptions,
|
|
80
|
+
fireAlarmMiddleware_1.checkFireAlarms,
|
|
78
81
|
])
|
|
79
82
|
.exitProcess(false)
|
|
80
83
|
.fail(handleFailure)
|
|
@@ -90,45 +93,44 @@ const argv = yargs
|
|
|
90
93
|
hidden: true,
|
|
91
94
|
type: 'boolean',
|
|
92
95
|
})
|
|
93
|
-
.check(performChecks)
|
|
94
|
-
.command(
|
|
95
|
-
.command(
|
|
96
|
-
.command(
|
|
97
|
-
.command(
|
|
98
|
-
.command(
|
|
99
|
-
.command(
|
|
100
|
-
.command(
|
|
101
|
-
.command(
|
|
102
|
-
.command(
|
|
103
|
-
.command(
|
|
104
|
-
.command(
|
|
105
|
-
.command(
|
|
106
|
-
.command(
|
|
107
|
-
.command(
|
|
108
|
-
.command(
|
|
109
|
-
.command(
|
|
110
|
-
.command(
|
|
111
|
-
.command(
|
|
112
|
-
.command(
|
|
113
|
-
.command(
|
|
114
|
-
.command(
|
|
115
|
-
.command(
|
|
116
|
-
.command(
|
|
117
|
-
.command(
|
|
118
|
-
.command(
|
|
119
|
-
.command(
|
|
120
|
-
.command(
|
|
121
|
-
.command(
|
|
122
|
-
.command(setupMcpCommand)
|
|
96
|
+
.check(yargsChecksMiddleware_1.performChecks)
|
|
97
|
+
.command(auth_1.default)
|
|
98
|
+
.command(init_1.default)
|
|
99
|
+
.command(logs_1.default)
|
|
100
|
+
.command(cms_1.default)
|
|
101
|
+
.command(lint_1.default)
|
|
102
|
+
.command(hubdb_1.default)
|
|
103
|
+
.command(watch_1.default)
|
|
104
|
+
.command(remove_1.default)
|
|
105
|
+
.command(upload_1.default)
|
|
106
|
+
.command(create_1.default)
|
|
107
|
+
.command(fetch_1.default)
|
|
108
|
+
.command(filemanager_1.default)
|
|
109
|
+
.command(secret_1.default)
|
|
110
|
+
.command(customObject_1.default)
|
|
111
|
+
.command(function_1.default)
|
|
112
|
+
.command(list_1.default)
|
|
113
|
+
.command(open_1.default)
|
|
114
|
+
.command(mv_1.default)
|
|
115
|
+
.command(project_1.default)
|
|
116
|
+
.command(theme_1.default)
|
|
117
|
+
.command(module_1.default)
|
|
118
|
+
.command(config_1.default)
|
|
119
|
+
.command(account_1.default)
|
|
120
|
+
.command(sandbox_1.default)
|
|
121
|
+
.command(feedback_1.default)
|
|
122
|
+
.command(doctor_1.default)
|
|
123
|
+
.command(completion_1.default)
|
|
124
|
+
.command(app_1.default)
|
|
123
125
|
.help()
|
|
124
126
|
.alias('h', 'help')
|
|
125
127
|
.recommendCommands()
|
|
126
128
|
.demandCommand(1, '')
|
|
127
129
|
.wrap(getTerminalWidth())
|
|
128
130
|
.strict().argv;
|
|
129
|
-
if (argv.help) {
|
|
130
|
-
trackHelpUsage(getCommandName(argv));
|
|
131
|
+
if ('help' in argv && argv.help !== undefined) {
|
|
132
|
+
(0, usageTracking_1.trackHelpUsage)((0, commonOpts_1.getCommandName)(argv));
|
|
131
133
|
}
|
|
132
|
-
if (argv.convertFields) {
|
|
133
|
-
trackConvertFieldsUsage(getCommandName(argv));
|
|
134
|
+
if ('convertFields' in argv && argv.convertFields !== undefined) {
|
|
135
|
+
(0, usageTracking_1.trackConvertFieldsUsage)((0, commonOpts_1.getCommandName)(argv));
|
|
134
136
|
}
|
package/commands/account.js
CHANGED
package/commands/app.js
CHANGED
package/commands/auth.js
CHANGED
package/commands/cms.js
CHANGED
package/commands/completion.js
CHANGED
package/commands/config.js
CHANGED
package/commands/create.js
CHANGED
package/commands/customObject.js
CHANGED
package/commands/doctor.js
CHANGED
package/commands/feedback.js
CHANGED
package/commands/filemanager.js
CHANGED
package/commands/function.js
CHANGED
package/commands/hubdb.js
CHANGED
package/commands/init.js
CHANGED
package/commands/lint.js
CHANGED
package/commands/list.js
CHANGED
package/commands/mv.js
CHANGED
package/commands/open.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { ArgumentsCamelCase } from 'yargs';
|
|
2
|
-
import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
|
|
3
2
|
import { ProjectConfig } from '../../../types/Projects';
|
|
4
3
|
import { ProjectDevArgs } from '../../../types/Yargs';
|
|
5
|
-
|
|
4
|
+
type DeprecatedProjectDevFlowArgs = {
|
|
5
|
+
args: ArgumentsCamelCase<ProjectDevArgs>;
|
|
6
|
+
accountId: number;
|
|
7
|
+
projectConfig: ProjectConfig;
|
|
8
|
+
projectDir: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function deprecatedProjectDevFlow({ args, accountId, projectConfig, projectDir, }: DeprecatedProjectDevFlowArgs): Promise<void>;
|
|
11
|
+
export {};
|
|
@@ -18,7 +18,7 @@ const helpers_1 = require("../../../lib/projects/localDev/helpers");
|
|
|
18
18
|
const process_1 = require("../../../lib/process");
|
|
19
19
|
const accountTypes_1 = require("../../../lib/accountTypes");
|
|
20
20
|
const ensureProjectExists_1 = require("../../../lib/projects/ensureProjectExists");
|
|
21
|
-
async function deprecatedProjectDevFlow(args,
|
|
21
|
+
async function deprecatedProjectDevFlow({ args, accountId, projectConfig, projectDir, }) {
|
|
22
22
|
const { providedAccountId, derivedAccountId } = args;
|
|
23
23
|
const env = (0, environment_1.getValidEnv)((0, config_1.getEnv)(derivedAccountId));
|
|
24
24
|
const components = await (0, structure_1.findProjectComponents)(projectDir);
|
|
@@ -26,6 +26,14 @@ async function deprecatedProjectDevFlow(args, accountConfig, projectConfig, proj
|
|
|
26
26
|
const componentTypes = (0, structure_1.getProjectComponentTypes)(runnableComponents);
|
|
27
27
|
const hasPrivateApps = !!componentTypes[Projects_1.ComponentTypes.PrivateApp];
|
|
28
28
|
const hasPublicApps = !!componentTypes[Projects_1.ComponentTypes.PublicApp];
|
|
29
|
+
const accountConfig = (0, config_1.getAccountConfig)(accountId);
|
|
30
|
+
if (!accountConfig) {
|
|
31
|
+
logger_1.logger.error((0, lang_1.i18n)('commands.project.subcommands.dev.errors.noAccount', {
|
|
32
|
+
accountId: accountId,
|
|
33
|
+
authCommand: (0, ui_1.uiCommandReference)('hs auth'),
|
|
34
|
+
}));
|
|
35
|
+
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
36
|
+
}
|
|
29
37
|
if (runnableComponents.length === 0) {
|
|
30
38
|
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noRunnableComponents`, {
|
|
31
39
|
projectDir,
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.builder = void 0;
|
|
4
4
|
const usageTracking_1 = require("../../../lib/usageTracking");
|
|
5
|
-
const lang_1 = require("../../../lib/lang");
|
|
6
|
-
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
7
5
|
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
8
6
|
const config_2 = require("../../../lib/projects/config");
|
|
9
7
|
const exitCodes_1 = require("../../../lib/enums/exitCodes");
|
|
@@ -13,22 +11,35 @@ const unifiedFlow_1 = require("./unifiedFlow");
|
|
|
13
11
|
const buildAndDeploy_1 = require("../../../lib/projects/buildAndDeploy");
|
|
14
12
|
const yargsUtils_1 = require("../../../lib/yargsUtils");
|
|
15
13
|
const projectProfiles_1 = require("../../../lib/projectProfiles");
|
|
14
|
+
const en_1 = require("../../../lang/en");
|
|
15
|
+
const logger_1 = require("../../../lib/ui/logger");
|
|
16
16
|
const command = 'dev';
|
|
17
|
-
const describe = (0, ui_1.uiBetaTag)(
|
|
17
|
+
const describe = (0, ui_1.uiBetaTag)(en_1.commands.project.dev.describe, false);
|
|
18
|
+
function validateAccountFlags(testingAccount, projectAccount, providedAccountId, useV3) {
|
|
19
|
+
// Legacy projects do not support targetTestingAccount and targetProjectAccount
|
|
20
|
+
if (testingAccount && projectAccount && !useV3) {
|
|
21
|
+
logger_1.uiLogger.error(en_1.commands.project.dev.errors.unsupportedAccountFlagLegacy);
|
|
22
|
+
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
23
|
+
}
|
|
24
|
+
if (providedAccountId && useV3) {
|
|
25
|
+
logger_1.uiLogger.error(en_1.commands.project.dev.errors.unsupportedAccountFlagV3);
|
|
26
|
+
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
18
29
|
async function handler(args) {
|
|
19
|
-
const { derivedAccountId, providedAccountId } = args;
|
|
30
|
+
const { derivedAccountId, providedAccountId, testingAccount, projectAccount, } = args;
|
|
20
31
|
const { projectConfig, projectDir } = await (0, config_2.getProjectConfig)();
|
|
21
32
|
(0, config_2.validateProjectConfig)(projectConfig, projectDir);
|
|
33
|
+
const useV3 = (0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion);
|
|
22
34
|
if (!projectDir) {
|
|
23
|
-
logger_1.
|
|
24
|
-
accountId: derivedAccountId,
|
|
25
|
-
authCommand: (0, ui_1.uiCommandReference)('hs auth'),
|
|
26
|
-
}));
|
|
35
|
+
logger_1.uiLogger.error(en_1.commands.project.dev.errors.noProjectConfig);
|
|
27
36
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
28
37
|
}
|
|
29
|
-
|
|
38
|
+
validateAccountFlags(testingAccount, projectAccount, providedAccountId, useV3);
|
|
39
|
+
let targetProjectAccountId = (projectAccount && (0, config_1.getAccountId)(projectAccount)) ||
|
|
40
|
+
(providedAccountId && derivedAccountId);
|
|
30
41
|
let profile;
|
|
31
|
-
if (!
|
|
42
|
+
if (!targetProjectAccountId && (0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
|
|
32
43
|
if (args.profile) {
|
|
33
44
|
(0, projectProfiles_1.logProfileHeader)(args.profile);
|
|
34
45
|
profile = (0, projectProfiles_1.loadProfile)(projectConfig, projectDir, args.profile);
|
|
@@ -36,7 +47,7 @@ async function handler(args) {
|
|
|
36
47
|
(0, ui_1.uiLine)();
|
|
37
48
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
38
49
|
}
|
|
39
|
-
|
|
50
|
+
targetProjectAccountId = profile.accountId;
|
|
40
51
|
(0, projectProfiles_1.logProfileFooter)(profile);
|
|
41
52
|
}
|
|
42
53
|
else {
|
|
@@ -44,42 +55,56 @@ async function handler(args) {
|
|
|
44
55
|
await (0, projectProfiles_1.exitIfUsingProfiles)(projectConfig, projectDir);
|
|
45
56
|
}
|
|
46
57
|
}
|
|
47
|
-
if (!
|
|
48
|
-
// The user is not using
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
(0, usageTracking_1.trackCommandUsage)('project-dev', {}, targetAccountId);
|
|
52
|
-
const accountConfig = (0, config_1.getAccountConfig)(targetAccountId);
|
|
53
|
-
(0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.dev.logs.betaMessage`));
|
|
54
|
-
logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.dev.logs.learnMoreLocalDevServer`), 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
|
|
55
|
-
if (!accountConfig) {
|
|
56
|
-
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noAccount`, {
|
|
57
|
-
accountId: (0, ui_1.uiAccountDescription)(targetAccountId),
|
|
58
|
-
authCommand: (0, ui_1.uiCommandReference)('hs auth'),
|
|
59
|
-
}));
|
|
60
|
-
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
58
|
+
if (!targetProjectAccountId) {
|
|
59
|
+
// The user is not using profile or account flags, so we can use the derived accountId
|
|
60
|
+
targetProjectAccountId = derivedAccountId;
|
|
61
61
|
}
|
|
62
|
+
(0, usageTracking_1.trackCommandUsage)('project-dev', {}, targetProjectAccountId);
|
|
63
|
+
(0, ui_1.uiBetaTag)(en_1.commands.project.dev.logs.betaMessage);
|
|
64
|
+
logger_1.uiLogger.log(en_1.commands.project.dev.logs.learnMoreLocalDevServer);
|
|
62
65
|
if ((0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
|
|
63
|
-
|
|
66
|
+
const targetTestingAccountId = (testingAccount && (0, config_1.getAccountId)(testingAccount)) || undefined;
|
|
67
|
+
await (0, unifiedFlow_1.unifiedProjectDevFlow)({
|
|
68
|
+
args,
|
|
69
|
+
targetProjectAccountId,
|
|
70
|
+
providedTargetTestingAccountId: targetTestingAccountId,
|
|
71
|
+
projectConfig,
|
|
72
|
+
projectDir,
|
|
73
|
+
profileConfig: profile,
|
|
74
|
+
});
|
|
64
75
|
}
|
|
65
76
|
else {
|
|
66
|
-
await (0, deprecatedFlow_1.deprecatedProjectDevFlow)(
|
|
77
|
+
await (0, deprecatedFlow_1.deprecatedProjectDevFlow)({
|
|
78
|
+
args,
|
|
79
|
+
accountId: targetProjectAccountId,
|
|
80
|
+
projectConfig,
|
|
81
|
+
projectDir,
|
|
82
|
+
});
|
|
67
83
|
}
|
|
68
84
|
}
|
|
69
85
|
function projectDevBuilder(yargs) {
|
|
70
86
|
yargs.option('profile', {
|
|
71
87
|
type: 'string',
|
|
72
88
|
alias: 'p',
|
|
73
|
-
description:
|
|
89
|
+
description: en_1.commands.project.dev.options.profile,
|
|
90
|
+
hidden: true,
|
|
91
|
+
});
|
|
92
|
+
yargs.options('testingAccount', {
|
|
93
|
+
type: 'string',
|
|
94
|
+
description: en_1.commands.project.dev.options.testingAccount,
|
|
95
|
+
hidden: true,
|
|
96
|
+
implies: ['projectAccount'],
|
|
97
|
+
});
|
|
98
|
+
yargs.options('projectAccount', {
|
|
99
|
+
type: 'string',
|
|
100
|
+
description: en_1.commands.project.dev.options.projectAccount,
|
|
74
101
|
hidden: true,
|
|
102
|
+
implies: ['testingAccount'],
|
|
75
103
|
});
|
|
76
|
-
yargs.example([
|
|
77
|
-
[
|
|
78
|
-
'$0 project dev',
|
|
79
|
-
(0, lang_1.i18n)(`commands.project.subcommands.dev.examples.default`),
|
|
80
|
-
],
|
|
81
|
-
]);
|
|
104
|
+
yargs.example([['$0 project dev', en_1.commands.project.dev.examples.default]]);
|
|
82
105
|
yargs.conflicts('profile', 'account');
|
|
106
|
+
yargs.conflicts('profile', 'testingAccount');
|
|
107
|
+
yargs.conflicts('profile', 'projectAccount');
|
|
83
108
|
return yargs;
|
|
84
109
|
}
|
|
85
110
|
exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectDevBuilder, command, describe, {
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { ArgumentsCamelCase } from 'yargs';
|
|
2
2
|
import { HsProfileFile } from '@hubspot/project-parsing-lib/src/lib/types';
|
|
3
|
-
import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
|
|
4
3
|
import { ProjectDevArgs } from '../../../types/Yargs';
|
|
5
4
|
import { ProjectConfig } from '../../../types/Projects';
|
|
6
|
-
|
|
5
|
+
type UnifiedProjectDevFlowArgs = {
|
|
6
|
+
args: ArgumentsCamelCase<ProjectDevArgs>;
|
|
7
|
+
targetProjectAccountId: number;
|
|
8
|
+
providedTargetTestingAccountId?: number;
|
|
9
|
+
projectConfig: ProjectConfig;
|
|
10
|
+
projectDir: string;
|
|
11
|
+
profileConfig?: HsProfileFile;
|
|
12
|
+
};
|
|
13
|
+
export declare function unifiedProjectDevFlow({ args, targetProjectAccountId, providedTargetTestingAccountId, projectConfig, projectDir, profileConfig, }: UnifiedProjectDevFlowArgs): Promise<void>;
|
|
14
|
+
export {};
|