@hubspot/cli 7.4.3-experimental.0 → 7.4.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/migrate.d.ts +71 -0
- package/api/migrate.js +58 -0
- package/bin/cli.js +8 -183
- package/commands/account/auth.d.ts +10 -0
- package/commands/account/auth.js +168 -0
- package/commands/account/clean.js +38 -5
- package/commands/account/createOverride.d.ts +10 -0
- package/commands/account/createOverride.js +104 -0
- package/commands/account/info.js +38 -4
- package/commands/account/list.js +23 -5
- package/commands/account/remove.js +36 -2
- package/commands/account/removeOverride.d.ts +10 -0
- package/commands/account/removeOverride.js +76 -0
- package/commands/account/use.js +25 -3
- package/commands/account.js +7 -2
- package/commands/app/migrate.d.ts +4 -5
- package/commands/app/migrate.js +24 -12
- package/commands/auth.js +14 -11
- package/commands/cms/lighthouseScore.js +6 -2
- package/commands/cms.js +1 -2
- package/commands/completion.js +2 -3
- package/commands/config/migrate.d.ts +10 -0
- package/commands/config/migrate.js +84 -0
- package/commands/config/set.d.ts +10 -0
- package/commands/config/set.js +34 -29
- package/commands/config.d.ts +4 -1
- package/commands/config.js +45 -11
- package/commands/create/api-sample.js +3 -1
- package/commands/create.js +7 -8
- package/commands/customObject/schema/delete.js +4 -1
- package/commands/customObject/schema/fetch-all.js +2 -1
- package/commands/customObject/schema/fetch.js +2 -1
- package/commands/customObject.js +3 -4
- package/commands/doctor.js +5 -6
- package/commands/feedback.js +7 -8
- package/commands/fetch.js +6 -7
- package/commands/filemanager.js +1 -2
- package/commands/function.js +1 -2
- package/commands/hubdb/clear.js +5 -6
- package/commands/hubdb/create.js +7 -8
- package/commands/hubdb/delete.js +8 -7
- package/commands/hubdb/fetch.js +4 -5
- package/commands/hubdb.js +1 -2
- package/commands/init.js +18 -20
- package/commands/lint.js +3 -4
- package/commands/list.js +5 -6
- package/commands/logs.js +12 -13
- package/commands/module/marketplace-validate.js +5 -6
- package/commands/module.js +1 -3
- package/commands/mv.js +4 -5
- package/commands/open.js +4 -5
- package/commands/project/add.js +17 -13
- package/commands/project/cloneApp.d.ts +5 -1
- package/commands/project/cloneApp.js +17 -12
- package/commands/project/create.js +18 -14
- package/commands/project/deploy.js +17 -15
- package/commands/project/dev/deprecatedFlow.js +19 -12
- package/commands/project/dev/index.js +12 -8
- package/commands/project/dev/unifiedFlow.js +2 -3
- package/commands/project/download.js +8 -9
- package/commands/project/installDeps.d.ts +9 -1
- package/commands/project/installDeps.js +46 -31
- package/commands/project/listBuilds.js +15 -11
- package/commands/project/logs.d.ts +13 -1
- package/commands/project/logs.js +72 -63
- package/commands/project/migrate.d.ts +11 -0
- package/commands/project/migrate.js +67 -0
- package/commands/project/migrateApp.d.ts +4 -4
- package/commands/project/migrateApp.js +7 -5
- package/commands/project/open.js +11 -5
- package/commands/project/upload.d.ts +12 -0
- package/commands/project/upload.js +67 -50
- package/commands/project/watch.js +22 -6
- package/commands/project.js +3 -2
- package/commands/remove.js +7 -5
- package/commands/sandbox/create.js +10 -11
- package/commands/sandbox/delete.js +18 -19
- package/commands/sandbox.js +1 -2
- package/commands/secret/addSecret.js +5 -6
- package/commands/secret/deleteSecret.js +12 -9
- package/commands/secret/listSecret.js +3 -4
- package/commands/secret/updateSecret.js +9 -8
- package/commands/secret.js +1 -2
- package/commands/theme/generate-selectors.js +5 -6
- package/commands/theme/marketplace-validate.js +5 -6
- package/commands/theme/preview.js +14 -14
- package/commands/theme.js +1 -2
- package/commands/upload.js +23 -24
- package/commands/watch.js +18 -19
- package/lang/en.d.ts +2792 -0
- package/lang/en.js +2648 -3300
- package/lang/en.lyaml +97 -43
- package/lib/accountTypes.d.ts +1 -0
- package/lib/accountTypes.js +12 -0
- package/lib/app/migrate.d.ts +10 -6
- package/lib/app/migrate.js +206 -220
- package/lib/app/migrate_legacy.d.ts +4 -0
- package/lib/app/migrate_legacy.js +132 -0
- package/lib/configMigrate.d.ts +2 -0
- package/lib/configMigrate.js +104 -0
- package/lib/constants.d.ts +4 -0
- package/lib/constants.js +5 -1
- package/lib/doctor/Diagnosis.d.ts +1 -2
- package/lib/doctor/Diagnosis.js +10 -6
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -0
- package/lib/doctor/DiagnosticInfoBuilder.js +1 -0
- package/lib/doctor/Doctor.d.ts +1 -0
- package/lib/doctor/Doctor.js +18 -0
- package/lib/errorHandlers/index.js +1 -1
- package/lib/hasFeature.d.ts +3 -1
- package/lib/localDev.d.ts +2 -1
- package/lib/localDev.js +21 -3
- package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
- package/lib/middleware/__test__/configMiddleware.test.js +194 -0
- package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
- package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
- package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
- package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
- package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
- package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
- package/lib/middleware/__test__/utils.test.d.ts +1 -0
- package/lib/middleware/__test__/utils.test.js +53 -0
- package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
- package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
- package/lib/middleware/configMiddleware.d.ts +13 -0
- package/lib/middleware/configMiddleware.js +116 -0
- package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
- package/lib/middleware/fireAlarmMiddleware.js +137 -0
- package/lib/middleware/gitMiddleware.d.ts +2 -0
- package/lib/middleware/gitMiddleware.js +14 -0
- package/lib/middleware/notificationsMiddleware.d.ts +1 -0
- package/lib/middleware/notificationsMiddleware.js +38 -0
- package/lib/middleware/requestMiddleware.d.ts +1 -0
- package/lib/middleware/requestMiddleware.js +11 -0
- package/lib/middleware/utils.d.ts +8 -0
- package/lib/middleware/utils.js +17 -0
- package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
- package/lib/middleware/yargsChecksMiddleware.js +24 -0
- package/lib/projects/ProjectLogsManager.d.ts +1 -1
- package/lib/projects/ProjectLogsManager.js +1 -1
- package/lib/projects/index.d.ts +4 -3
- package/lib/projects/upload.d.ts +1 -1
- package/lib/prompts/promptUtils.d.ts +1 -1
- package/lib/ui/SpinniesManager.d.ts +1 -1
- package/lib/ui/index.d.ts +1 -0
- package/lib/ui/index.js +5 -0
- package/lib/ui/spinniesUtils.d.ts +5 -5
- package/package.json +7 -6
- package/types/Yargs.d.ts +0 -10
|
@@ -1,43 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
6
|
+
exports.builder = exports.describe = exports.command = void 0;
|
|
7
|
+
exports.handler = handler;
|
|
8
|
+
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
9
|
+
const dependencyManagement_1 = require("../../lib/dependencyManagement");
|
|
10
|
+
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
11
|
+
const projects_1 = require("../../lib/projects");
|
|
12
|
+
const promptUtils_1 = require("../../lib/prompts/promptUtils");
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const lang_1 = require("../../lib/lang");
|
|
15
|
+
const usageTracking_1 = require("../../lib/usageTracking");
|
|
16
|
+
const ui_1 = require("../../lib/ui");
|
|
17
|
+
const errorHandlers_1 = require("../../lib/errorHandlers");
|
|
18
|
+
const yargsUtils_1 = require("../../lib/yargsUtils");
|
|
14
19
|
exports.command = 'install-deps [packages..]';
|
|
15
|
-
exports.describe = uiBetaTag(i18n(
|
|
16
|
-
|
|
17
|
-
const { derivedAccountId, packages } =
|
|
20
|
+
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.describe`), false);
|
|
21
|
+
async function handler(args) {
|
|
22
|
+
const { derivedAccountId, packages } = args;
|
|
18
23
|
try {
|
|
19
|
-
trackCommandUsage('project-install-deps',
|
|
20
|
-
const projectConfig = await getProjectConfig();
|
|
24
|
+
(0, usageTracking_1.trackCommandUsage)('project-install-deps', undefined, derivedAccountId);
|
|
25
|
+
const projectConfig = await (0, projects_1.getProjectConfig)();
|
|
21
26
|
if (!projectConfig || !projectConfig.projectDir) {
|
|
22
|
-
logger.error(i18n(
|
|
23
|
-
return process.exit(EXIT_CODES.ERROR);
|
|
27
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.installDeps.noProjectConfig`));
|
|
28
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
24
29
|
}
|
|
25
30
|
const { projectDir } = projectConfig;
|
|
26
|
-
let installLocations = await getProjectPackageJsonLocations();
|
|
31
|
+
let installLocations = await (0, dependencyManagement_1.getProjectPackageJsonLocations)();
|
|
27
32
|
if (packages) {
|
|
28
|
-
const { selectedInstallLocations } = await promptUser([
|
|
33
|
+
const { selectedInstallLocations } = await (0, promptUtils_1.promptUser)([
|
|
29
34
|
{
|
|
30
35
|
name: 'selectedInstallLocations',
|
|
31
36
|
type: 'checkbox',
|
|
32
37
|
when: () => packages && packages.length > 0,
|
|
33
|
-
message: i18n(
|
|
38
|
+
message: (0, lang_1.i18n)(`commands.project.subcommands.installDeps.installLocationPrompt`),
|
|
34
39
|
choices: installLocations.map(dir => ({
|
|
35
|
-
name:
|
|
40
|
+
name: path_1.default.relative(projectDir, dir),
|
|
36
41
|
value: dir,
|
|
37
42
|
})),
|
|
38
43
|
validate: choices => {
|
|
39
44
|
if (choices === undefined || choices.length === 0) {
|
|
40
|
-
return i18n(
|
|
45
|
+
return (0, lang_1.i18n)(`commands.project.subcommands.installDeps.installLocationPromptRequired`);
|
|
41
46
|
}
|
|
42
47
|
return true;
|
|
43
48
|
},
|
|
@@ -47,23 +52,33 @@ exports.handler = async (options) => {
|
|
|
47
52
|
installLocations = selectedInstallLocations;
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
|
-
await installPackages({
|
|
55
|
+
await (0, dependencyManagement_1.installPackages)({
|
|
51
56
|
packages,
|
|
52
57
|
installLocations,
|
|
53
58
|
});
|
|
54
59
|
}
|
|
55
60
|
catch (e) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return process.exit(EXIT_CODES.ERROR);
|
|
61
|
+
(0, errorHandlers_1.logError)(e);
|
|
62
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
59
63
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
64
|
+
}
|
|
65
|
+
function projectInstallDepsBuilder(yargs) {
|
|
62
66
|
yargs.example([
|
|
63
|
-
[
|
|
67
|
+
[
|
|
68
|
+
'$0 project install-deps',
|
|
69
|
+
(0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.installAppDepsExample`),
|
|
70
|
+
],
|
|
64
71
|
[
|
|
65
72
|
'$0 project install-deps dependency1 dependency2',
|
|
66
|
-
i18n(
|
|
73
|
+
(0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.addDepToSubComponentExample`),
|
|
67
74
|
],
|
|
68
75
|
]);
|
|
76
|
+
return yargs;
|
|
77
|
+
}
|
|
78
|
+
exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectInstallDepsBuilder, exports.command, exports.describe);
|
|
79
|
+
module.exports = {
|
|
80
|
+
command: exports.command,
|
|
81
|
+
describe: exports.describe,
|
|
82
|
+
builder: exports.builder,
|
|
83
|
+
handler,
|
|
69
84
|
};
|
|
@@ -20,27 +20,26 @@ const usageTracking_1 = require("../../lib/usageTracking");
|
|
|
20
20
|
const lang_1 = require("../../lib/lang");
|
|
21
21
|
const index_2 = require("../../lib/errorHandlers/index");
|
|
22
22
|
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
23
|
-
const i18nKey = 'commands.project.subcommands.listBuilds';
|
|
24
23
|
exports.command = 'list-builds';
|
|
25
|
-
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(
|
|
24
|
+
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.describe`), false);
|
|
26
25
|
async function fetchAndDisplayBuilds(accountId, project, options) {
|
|
27
26
|
const { data: { results, paging }, } = await (0, projects_1.fetchProjectBuilds)(accountId, project.name, options);
|
|
28
27
|
const currentDeploy = project.deployedBuildId;
|
|
29
28
|
if (options && options.after) {
|
|
30
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
29
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.showingNextBuilds`, {
|
|
31
30
|
count: results.length,
|
|
32
31
|
projectName: project.name,
|
|
33
32
|
}));
|
|
34
33
|
}
|
|
35
34
|
else {
|
|
36
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
35
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.showingRecentBuilds`, {
|
|
37
36
|
count: results.length,
|
|
38
37
|
projectName: project.name,
|
|
39
|
-
viewBuildsLink: (0, ui_1.uiLink)((0, lang_1.i18n)(
|
|
38
|
+
viewBuildsLink: (0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.viewAllBuildsLink`), (0, urls_1.getProjectDetailUrl)(project.name, accountId)),
|
|
40
39
|
}));
|
|
41
40
|
}
|
|
42
41
|
if (results.length === 0) {
|
|
43
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
42
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.errors.noBuilds`));
|
|
44
43
|
}
|
|
45
44
|
else {
|
|
46
45
|
const builds = results.map(build => {
|
|
@@ -70,7 +69,7 @@ async function fetchAndDisplayBuilds(accountId, project, options) {
|
|
|
70
69
|
if (paging && paging.next) {
|
|
71
70
|
await (0, promptUtils_1.promptUser)({
|
|
72
71
|
name: 'more',
|
|
73
|
-
message: (0, lang_1.i18n)(
|
|
72
|
+
message: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.continueOrExitPrompt`),
|
|
74
73
|
});
|
|
75
74
|
await fetchAndDisplayBuilds(accountId, project, {
|
|
76
75
|
limit: options.limit,
|
|
@@ -93,7 +92,9 @@ async function handler(args) {
|
|
|
93
92
|
}
|
|
94
93
|
catch (e) {
|
|
95
94
|
if ((0, index_1.isHubSpotHttpError)(e) && e.status === 404) {
|
|
96
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
95
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.errors.projectNotFound`, {
|
|
96
|
+
projectName,
|
|
97
|
+
}));
|
|
97
98
|
}
|
|
98
99
|
else {
|
|
99
100
|
(0, index_2.logError)(e, new index_2.ApiErrorContext({
|
|
@@ -110,16 +111,19 @@ function builder(yargs) {
|
|
|
110
111
|
(0, commonOpts_1.addUseEnvironmentOptions)(yargs);
|
|
111
112
|
yargs.options({
|
|
112
113
|
project: {
|
|
113
|
-
describe: (0, lang_1.i18n)(
|
|
114
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.options.project.describe`),
|
|
114
115
|
type: 'string',
|
|
115
116
|
},
|
|
116
117
|
limit: {
|
|
117
|
-
describe: (0, lang_1.i18n)(
|
|
118
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.options.limit.describe`),
|
|
118
119
|
type: 'string',
|
|
119
120
|
},
|
|
120
121
|
});
|
|
121
122
|
yargs.example([
|
|
122
|
-
[
|
|
123
|
+
[
|
|
124
|
+
'$0 project list-builds',
|
|
125
|
+
(0, lang_1.i18n)(`commands.project.subcommands.listBuilds.examples.default`),
|
|
126
|
+
],
|
|
123
127
|
]);
|
|
124
128
|
return yargs;
|
|
125
129
|
}
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { Argv, ArgumentsCamelCase } from 'yargs';
|
|
2
|
+
import { CommonArgs } from '../../types/Yargs';
|
|
3
|
+
export declare const command = "logs";
|
|
4
|
+
export declare const describe: string;
|
|
5
|
+
export type ProjectLogsArgs = CommonArgs & {
|
|
6
|
+
function?: string;
|
|
7
|
+
latest?: boolean;
|
|
8
|
+
compact?: boolean;
|
|
9
|
+
tail?: boolean;
|
|
10
|
+
limit?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const handler: (args: ArgumentsCamelCase<ProjectLogsArgs>) => Promise<never>;
|
|
13
|
+
export declare const builder: (yargs: Argv) => Promise<Argv<ProjectLogsArgs>>;
|
package/commands/project/logs.js
CHANGED
|
@@ -1,110 +1,119 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
|
|
3
|
+
exports.builder = exports.handler = exports.describe = exports.command = void 0;
|
|
4
|
+
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
5
|
+
const urls_1 = require("@hubspot/local-dev-lib/urls");
|
|
6
|
+
const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
|
|
7
|
+
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
8
|
+
const usageTracking_1 = require("../../lib/usageTracking");
|
|
9
|
+
const table_1 = require("../../lib/ui/table");
|
|
10
|
+
const errorHandlers_1 = require("../../lib/errorHandlers/");
|
|
11
|
+
const ui_1 = require("../../lib/ui");
|
|
12
|
+
const projectsLogsPrompt_1 = require("../../lib/prompts/projectsLogsPrompt");
|
|
13
|
+
const lang_1 = require("../../lib/lang");
|
|
14
|
+
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
15
|
+
const ProjectLogsManager_1 = require("../../lib/projects/ProjectLogsManager");
|
|
16
|
+
const yargsUtils_1 = require("../../lib/yargsUtils");
|
|
17
|
+
function getPrivateAppsUrl(accountId) {
|
|
18
|
+
const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)(accountId) === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
|
|
20
19
|
return `${baseUrl}/private-apps/${accountId}`;
|
|
21
|
-
}
|
|
20
|
+
}
|
|
22
21
|
function logTable(tableHeader, logsInfo) {
|
|
23
|
-
logger.log(i18n(
|
|
24
|
-
logger.log(getTableContents([tableHeader, logsInfo], { border: { bodyLeft: ' ' } }));
|
|
22
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.logs.logs.showingLogs`));
|
|
23
|
+
logger_1.logger.log((0, table_1.getTableContents)([tableHeader, logsInfo], { border: { bodyLeft: ' ' } }));
|
|
25
24
|
}
|
|
26
25
|
function logPreamble() {
|
|
27
|
-
if (ProjectLogsManager.isPublicFunction) {
|
|
28
|
-
logTable(getTableHeader([
|
|
29
|
-
i18n(
|
|
30
|
-
i18n(
|
|
31
|
-
i18n(
|
|
26
|
+
if (ProjectLogsManager_1.ProjectLogsManager.isPublicFunction) {
|
|
27
|
+
logTable((0, table_1.getTableHeader)([
|
|
28
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.table.accountHeader`),
|
|
29
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.table.functionHeader`),
|
|
30
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.table.endpointHeader`),
|
|
32
31
|
]), [
|
|
33
|
-
ProjectLogsManager.accountId,
|
|
34
|
-
ProjectLogsManager.functionName,
|
|
35
|
-
ProjectLogsManager.endpointName,
|
|
32
|
+
ProjectLogsManager_1.ProjectLogsManager.accountId,
|
|
33
|
+
ProjectLogsManager_1.ProjectLogsManager.functionName,
|
|
34
|
+
ProjectLogsManager_1.ProjectLogsManager.endpointName,
|
|
36
35
|
]);
|
|
37
|
-
logger.log(uiLink(i18n(
|
|
36
|
+
logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.logs.logs.hubspotLogsDirectLink`), `${getPrivateAppsUrl(ProjectLogsManager_1.ProjectLogsManager.accountId)}/${ProjectLogsManager_1.ProjectLogsManager.appId}/logs/serverlessGatewayExecution?path=${ProjectLogsManager_1.ProjectLogsManager.endpointName}`));
|
|
38
37
|
}
|
|
39
38
|
else {
|
|
40
|
-
logTable(getTableHeader([
|
|
41
|
-
i18n(
|
|
42
|
-
i18n(
|
|
43
|
-
]), [ProjectLogsManager.accountId, ProjectLogsManager.functionName]);
|
|
44
|
-
logger.log(uiLink(i18n(
|
|
39
|
+
logTable((0, table_1.getTableHeader)([
|
|
40
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.table.accountHeader`),
|
|
41
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.table.functionHeader`),
|
|
42
|
+
]), [ProjectLogsManager_1.ProjectLogsManager.accountId, ProjectLogsManager_1.ProjectLogsManager.functionName]);
|
|
43
|
+
logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.logs.logs.hubspotLogsDirectLink`), `${getPrivateAppsUrl(ProjectLogsManager_1.ProjectLogsManager.accountId)}/${ProjectLogsManager_1.ProjectLogsManager.appId}/logs/crm?serverlessFunction=${ProjectLogsManager_1.ProjectLogsManager.functionName}`));
|
|
45
44
|
}
|
|
46
|
-
logger.log();
|
|
47
|
-
uiLine();
|
|
45
|
+
logger_1.logger.log();
|
|
46
|
+
(0, ui_1.uiLine)();
|
|
48
47
|
}
|
|
49
48
|
exports.command = 'logs';
|
|
50
|
-
exports.describe = uiBetaTag(i18n(
|
|
51
|
-
|
|
52
|
-
const { derivedAccountId } =
|
|
53
|
-
trackCommandUsage('project-logs',
|
|
49
|
+
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.logs.describe`), false);
|
|
50
|
+
const handler = async (args) => {
|
|
51
|
+
const { derivedAccountId } = args;
|
|
52
|
+
(0, usageTracking_1.trackCommandUsage)('project-logs', undefined, derivedAccountId);
|
|
54
53
|
try {
|
|
55
|
-
await ProjectLogsManager.init(derivedAccountId);
|
|
56
|
-
const { functionName } = await projectLogsPrompt({
|
|
57
|
-
functionChoices: ProjectLogsManager.getFunctionNames(),
|
|
58
|
-
promptOptions:
|
|
59
|
-
projectName: ProjectLogsManager.projectName,
|
|
54
|
+
await ProjectLogsManager_1.ProjectLogsManager.init(derivedAccountId);
|
|
55
|
+
const { functionName } = await (0, projectsLogsPrompt_1.projectLogsPrompt)({
|
|
56
|
+
functionChoices: ProjectLogsManager_1.ProjectLogsManager.getFunctionNames(),
|
|
57
|
+
promptOptions: args,
|
|
58
|
+
projectName: ProjectLogsManager_1.ProjectLogsManager.projectName,
|
|
60
59
|
});
|
|
61
|
-
ProjectLogsManager.setFunction(functionName);
|
|
60
|
+
ProjectLogsManager_1.ProjectLogsManager.setFunction(functionName);
|
|
62
61
|
logPreamble();
|
|
63
62
|
}
|
|
64
63
|
catch (e) {
|
|
65
|
-
logError(e, {
|
|
64
|
+
(0, errorHandlers_1.logError)(e, {
|
|
66
65
|
accountId: derivedAccountId,
|
|
67
|
-
projectName: ProjectLogsManager.projectName,
|
|
66
|
+
projectName: ProjectLogsManager_1.ProjectLogsManager.projectName,
|
|
68
67
|
});
|
|
69
|
-
return process.exit(EXIT_CODES.ERROR);
|
|
68
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
70
69
|
}
|
|
70
|
+
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
71
71
|
};
|
|
72
|
-
exports.
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
exports.handler = handler;
|
|
73
|
+
function projectLogsBuilder(yargs) {
|
|
74
|
+
yargs.options({
|
|
75
75
|
function: {
|
|
76
76
|
alias: 'function',
|
|
77
|
-
describe: i18n(
|
|
77
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.logs.options.function.describe`),
|
|
78
78
|
requiresArg: true,
|
|
79
79
|
type: 'string',
|
|
80
80
|
},
|
|
81
81
|
latest: {
|
|
82
82
|
alias: 'l',
|
|
83
|
-
describe: i18n(
|
|
83
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.logs.options.latest.describe`),
|
|
84
84
|
type: 'boolean',
|
|
85
85
|
},
|
|
86
86
|
compact: {
|
|
87
|
-
describe: i18n(
|
|
87
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.logs.options.compact.describe`),
|
|
88
88
|
type: 'boolean',
|
|
89
89
|
},
|
|
90
90
|
tail: {
|
|
91
91
|
alias: ['t', 'follow'],
|
|
92
|
-
describe: i18n(
|
|
92
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.logs.options.tail.describe`),
|
|
93
93
|
type: 'boolean',
|
|
94
94
|
},
|
|
95
95
|
limit: {
|
|
96
|
-
describe: i18n(
|
|
96
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.logs.options.limit.describe`),
|
|
97
97
|
type: 'number',
|
|
98
98
|
},
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
[
|
|
99
|
+
});
|
|
100
|
+
yargs.conflicts('tail', 'limit');
|
|
101
|
+
yargs.example([
|
|
102
|
+
[
|
|
103
|
+
'$0 project logs',
|
|
104
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.examples.default`),
|
|
105
|
+
],
|
|
103
106
|
[
|
|
104
107
|
'$0 project logs --function=my-function',
|
|
105
|
-
i18n(
|
|
108
|
+
(0, lang_1.i18n)(`commands.project.subcommands.logs.examples.withOptions`),
|
|
106
109
|
],
|
|
107
110
|
]);
|
|
108
|
-
addUseEnvironmentOptions(yargs);
|
|
109
111
|
return yargs;
|
|
112
|
+
}
|
|
113
|
+
exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectLogsBuilder, exports.command, exports.describe, { useEnvironmentOptions: true });
|
|
114
|
+
module.exports = {
|
|
115
|
+
command: exports.command,
|
|
116
|
+
describe: exports.describe,
|
|
117
|
+
builder: exports.builder,
|
|
118
|
+
handler: exports.handler,
|
|
110
119
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ArgumentsCamelCase, Argv, CommandModule } from 'yargs';
|
|
2
|
+
import { AccountArgs, CommonArgs, ConfigArgs, EnvironmentArgs } from '../../types/Yargs';
|
|
3
|
+
export type ProjectMigrateArgs = CommonArgs & AccountArgs & EnvironmentArgs & ConfigArgs & {
|
|
4
|
+
platformVersion: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const command = "migrate";
|
|
7
|
+
export declare const describe: undefined;
|
|
8
|
+
export declare function handler(options: ArgumentsCamelCase<ProjectMigrateArgs>): Promise<void>;
|
|
9
|
+
export declare function builder(yargs: Argv): Argv<ProjectMigrateArgs>;
|
|
10
|
+
declare const migrateAppCommand: CommandModule<unknown, ProjectMigrateArgs>;
|
|
11
|
+
export default migrateAppCommand;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.describe = exports.command = void 0;
|
|
4
|
+
exports.handler = handler;
|
|
5
|
+
exports.builder = builder;
|
|
6
|
+
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
7
|
+
const commonOpts_1 = require("../../lib/commonOpts");
|
|
8
|
+
const migrate_1 = require("../../lib/app/migrate");
|
|
9
|
+
const projects_1 = require("../../lib/projects");
|
|
10
|
+
const projects_2 = require("@hubspot/local-dev-lib/constants/projects");
|
|
11
|
+
const errorHandlers_1 = require("../../lib/errorHandlers");
|
|
12
|
+
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
13
|
+
const ui_1 = require("../../lib/ui");
|
|
14
|
+
const en_1 = require("../../lang/en");
|
|
15
|
+
const { v2025_2 } = projects_2.PLATFORM_VERSIONS;
|
|
16
|
+
exports.command = 'migrate';
|
|
17
|
+
exports.describe = undefined;
|
|
18
|
+
async function handler(options) {
|
|
19
|
+
const { platformVersion, unstable } = options;
|
|
20
|
+
const projectConfig = await (0, projects_1.getProjectConfig)();
|
|
21
|
+
if (!projectConfig.projectConfig) {
|
|
22
|
+
logger_1.logger.error(en_1.commands.project.migrate.errors.noProjectConfig((0, ui_1.uiCommandReference)('hs app migrate')));
|
|
23
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
24
|
+
}
|
|
25
|
+
logger_1.logger.log();
|
|
26
|
+
logger_1.logger.log((0, ui_1.uiBetaTag)(en_1.commands.project.migrate.preamble(platformVersion), false));
|
|
27
|
+
const { derivedAccountId } = options;
|
|
28
|
+
try {
|
|
29
|
+
await (0, migrate_1.migrateApp2025_2)(derivedAccountId, {
|
|
30
|
+
...options,
|
|
31
|
+
name: projectConfig?.projectConfig?.name,
|
|
32
|
+
platformVersion: unstable
|
|
33
|
+
? projects_2.PLATFORM_VERSIONS.unstable
|
|
34
|
+
: platformVersion,
|
|
35
|
+
}, projectConfig);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
(0, errorHandlers_1.logError)(error);
|
|
39
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
40
|
+
}
|
|
41
|
+
return process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
42
|
+
}
|
|
43
|
+
function builder(yargs) {
|
|
44
|
+
(0, commonOpts_1.addConfigOptions)(yargs);
|
|
45
|
+
(0, commonOpts_1.addAccountOptions)(yargs);
|
|
46
|
+
(0, commonOpts_1.addGlobalOptions)(yargs);
|
|
47
|
+
yargs
|
|
48
|
+
.option('platform-version', {
|
|
49
|
+
type: 'string',
|
|
50
|
+
choices: [v2025_2],
|
|
51
|
+
default: v2025_2,
|
|
52
|
+
hidden: true,
|
|
53
|
+
})
|
|
54
|
+
.option('unstable', {
|
|
55
|
+
type: 'boolean',
|
|
56
|
+
default: false,
|
|
57
|
+
hidden: true,
|
|
58
|
+
});
|
|
59
|
+
return yargs;
|
|
60
|
+
}
|
|
61
|
+
const migrateAppCommand = {
|
|
62
|
+
command: exports.command,
|
|
63
|
+
describe: exports.describe,
|
|
64
|
+
handler,
|
|
65
|
+
builder,
|
|
66
|
+
};
|
|
67
|
+
exports.default = migrateAppCommand;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ArgumentsCamelCase, Argv, CommandModule } from 'yargs';
|
|
2
|
-
import {
|
|
2
|
+
import { MigrateAppArgs } from '../../lib/app/migrate';
|
|
3
3
|
export declare const command = "migrate-app";
|
|
4
4
|
export declare const describe: string | undefined;
|
|
5
5
|
export declare const deprecated = true;
|
|
6
|
-
export declare function handler(
|
|
7
|
-
export declare function builder(yargs: Argv): Argv<
|
|
8
|
-
declare const migrateAppCommand: CommandModule<unknown,
|
|
6
|
+
export declare function handler(options: ArgumentsCamelCase<MigrateAppArgs>): Promise<void>;
|
|
7
|
+
export declare function builder(yargs: Argv): Argv<MigrateAppArgs>;
|
|
8
|
+
declare const migrateAppCommand: CommandModule<unknown, MigrateAppArgs>;
|
|
9
9
|
export default migrateAppCommand;
|
|
@@ -8,16 +8,18 @@ const ui_1 = require("../../lib/ui");
|
|
|
8
8
|
const migrate_1 = require("../app/migrate");
|
|
9
9
|
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
10
10
|
const commonOpts_1 = require("../../lib/commonOpts");
|
|
11
|
+
const projects_1 = require("@hubspot/local-dev-lib/constants/projects");
|
|
12
|
+
const { v2023_2, v2025_2 } = projects_1.PLATFORM_VERSIONS;
|
|
11
13
|
exports.command = 'migrate-app';
|
|
12
14
|
// TODO: Leave this as deprecated and remove in the next major release
|
|
13
15
|
exports.describe = (0, ui_1.uiDeprecatedTag)((0, lang_1.i18n)(`commands.project.subcommands.migrateApp.describe`), false);
|
|
14
16
|
exports.deprecated = true;
|
|
15
|
-
async function handler(
|
|
17
|
+
async function handler(options) {
|
|
16
18
|
logger_1.logger.warn((0, lang_1.i18n)(`commands.project.subcommands.migrateApp.deprecationWarning`, {
|
|
17
19
|
oldCommand: (0, ui_1.uiCommandReference)('hs project migrate-app'),
|
|
18
|
-
newCommand: (0, ui_1.uiCommandReference)(
|
|
20
|
+
newCommand: (0, ui_1.uiCommandReference)(`hs app migrate --platform-version=${options.platformVersion}`),
|
|
19
21
|
}));
|
|
20
|
-
await (0, migrate_1.handler)(
|
|
22
|
+
await (0, migrate_1.handler)(options);
|
|
21
23
|
}
|
|
22
24
|
function builder(yargs) {
|
|
23
25
|
(0, commonOpts_1.addConfigOptions)(yargs);
|
|
@@ -38,9 +40,9 @@ function builder(yargs) {
|
|
|
38
40
|
},
|
|
39
41
|
'platform-version': {
|
|
40
42
|
type: 'string',
|
|
41
|
-
choices:
|
|
43
|
+
choices: [v2023_2, v2025_2],
|
|
42
44
|
hidden: true,
|
|
43
|
-
default:
|
|
45
|
+
default: v2023_2,
|
|
44
46
|
},
|
|
45
47
|
});
|
|
46
48
|
yargs.example([
|
package/commands/project/open.js
CHANGED
|
@@ -16,9 +16,8 @@ const urls_1 = require("../../lib/projects/urls");
|
|
|
16
16
|
const projectNamePrompt_1 = require("../../lib/prompts/projectNamePrompt");
|
|
17
17
|
const ui_1 = require("../../lib/ui");
|
|
18
18
|
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
19
|
-
const i18nKey = 'commands.project.subcommands.open';
|
|
20
19
|
exports.command = 'open';
|
|
21
|
-
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(
|
|
20
|
+
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.open.describe`), false);
|
|
22
21
|
async function handler(args) {
|
|
23
22
|
const { project, derivedAccountId } = args;
|
|
24
23
|
(0, usageTracking_1.trackCommandUsage)('project-open', undefined, derivedAccountId);
|
|
@@ -41,7 +40,9 @@ async function handler(args) {
|
|
|
41
40
|
}
|
|
42
41
|
const url = (0, urls_1.getProjectDetailUrl)(projectName, derivedAccountId);
|
|
43
42
|
(0, open_1.default)(url, { url: true });
|
|
44
|
-
logger_1.logger.success((0, lang_1.i18n)(
|
|
43
|
+
logger_1.logger.success((0, lang_1.i18n)(`commands.project.subcommands.open.success`, {
|
|
44
|
+
projectName: projectName,
|
|
45
|
+
}));
|
|
45
46
|
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
46
47
|
}
|
|
47
48
|
function builder(yargs) {
|
|
@@ -51,11 +52,16 @@ function builder(yargs) {
|
|
|
51
52
|
(0, commonOpts_1.addTestingOptions)(yargs);
|
|
52
53
|
yargs.options({
|
|
53
54
|
project: {
|
|
54
|
-
describe: (0, lang_1.i18n)(
|
|
55
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.open.options.project.describe`),
|
|
55
56
|
type: 'string',
|
|
56
57
|
},
|
|
57
58
|
});
|
|
58
|
-
yargs.example([
|
|
59
|
+
yargs.example([
|
|
60
|
+
[
|
|
61
|
+
'$0 project open',
|
|
62
|
+
(0, lang_1.i18n)(`commands.project.subcommands.open.examples.default`),
|
|
63
|
+
],
|
|
64
|
+
]);
|
|
59
65
|
return yargs;
|
|
60
66
|
}
|
|
61
67
|
module.exports = {
|
|
@@ -1 +1,13 @@
|
|
|
1
|
+
import { Argv, ArgumentsCamelCase } from 'yargs';
|
|
2
|
+
import { CommonArgs } from '../../types/Yargs';
|
|
3
|
+
export declare const command = "upload";
|
|
4
|
+
export declare const describe: string;
|
|
5
|
+
type ProjectUploadArgs = CommonArgs & {
|
|
6
|
+
forceCreate: boolean;
|
|
7
|
+
message: string;
|
|
8
|
+
m: string;
|
|
9
|
+
skipValidation: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function handler(args: ArgumentsCamelCase<ProjectUploadArgs>): Promise<void>;
|
|
12
|
+
export declare const builder: (yargs: Argv) => Promise<Argv<ProjectUploadArgs>>;
|
|
1
13
|
export {};
|