@hubspot/cli 7.4.7-experimental.0 → 7.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/migrate.d.ts +14 -4
- package/api/migrate.js +16 -2
- package/bin/cli.js +8 -183
- package/commands/account/auth.d.ts +10 -0
- package/commands/account/auth.js +188 -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 +6 -6
- package/commands/app/migrate.js +62 -45
- package/commands/app.js +0 -2
- package/commands/auth.js +14 -11
- package/commands/cms/lighthouseScore.js +7 -3
- 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/website-theme.js +1 -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.d.ts +3 -7
- package/commands/project/add.js +28 -23
- package/commands/project/cloneApp.d.ts +6 -8
- package/commands/project/cloneApp.js +49 -45
- package/commands/project/create.d.ts +10 -1
- package/commands/project/create.js +85 -63
- package/commands/project/deploy.d.ts +3 -6
- package/commands/project/deploy.js +27 -25
- package/commands/project/dev/deprecatedFlow.js +32 -25
- package/commands/project/dev/index.d.ts +4 -2
- package/commands/project/dev/index.js +31 -18
- package/commands/project/dev/unifiedFlow.js +10 -11
- package/commands/project/download.d.ts +3 -7
- package/commands/project/download.js +18 -19
- package/commands/project/installDeps.d.ts +6 -1
- package/commands/project/installDeps.js +48 -32
- package/commands/project/listBuilds.d.ts +3 -7
- package/commands/project/listBuilds.js +32 -27
- package/commands/project/logs.d.ts +10 -1
- package/commands/project/logs.js +73 -65
- package/commands/project/migrate.d.ts +6 -0
- package/commands/project/migrate.js +71 -0
- package/commands/project/migrateApp.d.ts +3 -8
- package/commands/project/migrateApp.js +23 -20
- package/commands/project/open.d.ts +3 -7
- package/commands/project/open.js +29 -21
- package/commands/project/upload.d.ts +9 -1
- package/commands/project/upload.js +78 -54
- package/commands/project/watch.d.ts +6 -1
- package/commands/project/watch.js +95 -61
- package/commands/project.d.ts +3 -1
- package/commands/project.js +47 -35
- 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 +16 -16
- package/commands/theme.js +1 -2
- package/commands/upload.js +23 -24
- package/commands/watch.js +18 -19
- package/lang/en.d.ts +2806 -0
- package/lang/en.js +2659 -3300
- package/lang/en.lyaml +98 -41
- package/lib/accountTypes.d.ts +1 -0
- package/lib/accountTypes.js +12 -0
- package/lib/app/migrate.d.ts +10 -4
- package/lib/app/migrate.js +208 -94
- package/lib/app/migrate_legacy.d.ts +2 -2
- package/lib/app/migrate_legacy.js +10 -7
- package/lib/buildAccount.d.ts +1 -2
- package/lib/buildAccount.js +11 -10
- package/lib/commonOpts.d.ts +3 -4
- package/lib/commonOpts.js +46 -18
- package/lib/configMigrate.d.ts +2 -0
- package/lib/configMigrate.js +104 -0
- package/lib/configOptions.js +11 -10
- package/lib/constants.d.ts +4 -0
- package/lib/constants.js +5 -1
- package/lib/dependencyManagement.js +2 -2
- package/lib/doctor/Diagnosis.d.ts +1 -2
- package/lib/doctor/Diagnosis.js +19 -16
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
- package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
- package/lib/doctor/Doctor.d.ts +1 -0
- package/lib/doctor/Doctor.js +57 -44
- package/lib/errorHandlers/index.js +6 -7
- package/lib/errorHandlers/suppressError.js +6 -7
- package/lib/generateSelectors.js +1 -2
- package/lib/hasFeature.d.ts +3 -1
- 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 +123 -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/oauth.js +1 -2
- package/lib/process.js +1 -2
- package/lib/projects/ProjectLogsManager.d.ts +1 -1
- package/lib/projects/ProjectLogsManager.js +16 -21
- package/lib/projects/buildAndDeploy.js +28 -39
- package/lib/projects/config.d.ts +9 -0
- package/lib/projects/config.js +79 -0
- package/lib/projects/create.js +5 -6
- package/lib/projects/ensureProjectExists.d.ts +11 -0
- package/lib/projects/ensureProjectExists.js +97 -0
- package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
- package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
- package/lib/{DevServerManagerV2.d.ts → projects/localDev/DevServerManagerV2.d.ts} +1 -1
- package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +3 -4
- package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
- package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +49 -82
- package/lib/{LocalDevManagerV2.d.ts → projects/localDev/LocalDevManagerV2.d.ts} +2 -2
- package/lib/{LocalDevManagerV2.js → projects/localDev/LocalDevManagerV2.js} +43 -75
- package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
- package/lib/{localDev.js → projects/localDev/helpers.js} +97 -114
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +15 -0
- package/lib/projects/upload.d.ts +13 -2
- package/lib/projects/upload.js +18 -34
- package/lib/projects/urls.d.ts +1 -0
- package/lib/projects/urls.js +6 -0
- package/lib/projects/watch.d.ts +1 -1
- package/lib/projects/watch.js +21 -18
- package/lib/prompts/accountNamePrompt.js +16 -13
- package/lib/prompts/accountsPrompt.js +1 -2
- package/lib/prompts/cmsFieldPrompt.js +1 -2
- package/lib/prompts/createApiSamplePrompt.js +4 -5
- package/lib/prompts/createFunctionPrompt.js +13 -14
- package/lib/prompts/createModulePrompt.js +8 -9
- package/lib/prompts/createProjectPrompt.d.ts +11 -4
- package/lib/prompts/createProjectPrompt.js +14 -9
- package/lib/prompts/createTemplatePrompt.js +1 -2
- package/lib/prompts/downloadProjectPrompt.js +3 -4
- package/lib/prompts/installPublicAppPrompt.js +6 -5
- package/lib/prompts/personalAccessKeyPrompt.js +17 -18
- package/lib/prompts/previewPrompt.js +5 -6
- package/lib/prompts/projectAddPrompt.js +4 -5
- package/lib/prompts/projectDevTargetAccountPrompt.js +11 -12
- package/lib/prompts/projectNamePrompt.js +5 -6
- package/lib/prompts/projectsLogsPrompt.js +3 -2
- package/lib/prompts/promptUtils.d.ts +1 -1
- package/lib/prompts/sandboxesPrompt.js +5 -6
- package/lib/prompts/secretPrompt.js +2 -3
- package/lib/prompts/selectHubDBTablePrompt.js +11 -8
- package/lib/prompts/selectPublicAppPrompt.js +6 -7
- package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
- package/lib/prompts/uploadPrompt.js +4 -5
- package/lib/sandboxSync.js +15 -14
- package/lib/sandboxes.js +12 -13
- package/lib/serverlessLogs.js +4 -6
- package/lib/ui/SpinniesManager.d.ts +1 -1
- package/lib/ui/boxen.d.ts +5 -0
- package/lib/ui/boxen.js +30 -0
- package/lib/ui/git.js +8 -9
- package/lib/ui/index.d.ts +4 -2
- package/lib/ui/index.js +16 -16
- package/lib/ui/logger.d.ts +10 -0
- package/lib/ui/logger.js +15 -0
- package/lib/ui/serverlessFunctionLogs.js +2 -3
- package/lib/ui/spinniesUtils.d.ts +5 -5
- package/lib/yargsUtils.d.ts +1 -1
- package/package.json +7 -6
- package/types/Yargs.d.ts +5 -11
- package/lib/projects/index.d.ts +0 -20
- package/lib/projects/index.js +0 -195
|
@@ -13,16 +13,15 @@ const config_1 = require("@hubspot/local-dev-lib/config");
|
|
|
13
13
|
const environment_1 = require("@hubspot/local-dev-lib/environment");
|
|
14
14
|
const errorHandlers_1 = require("../../../lib/errorHandlers");
|
|
15
15
|
const exitCodes_1 = require("../../../lib/enums/exitCodes");
|
|
16
|
-
const
|
|
17
|
-
const
|
|
16
|
+
const ensureProjectExists_1 = require("../../../lib/projects/ensureProjectExists");
|
|
17
|
+
const helpers_1 = require("../../../lib/projects/localDev/helpers");
|
|
18
18
|
const projectDevTargetAccountPrompt_1 = require("../../../lib/prompts/projectDevTargetAccountPrompt");
|
|
19
19
|
const SpinniesManager_1 = __importDefault(require("../../../lib/ui/SpinniesManager"));
|
|
20
|
-
const LocalDevManagerV2_1 = __importDefault(require("../../../lib/LocalDevManagerV2"));
|
|
20
|
+
const LocalDevManagerV2_1 = __importDefault(require("../../../lib/projects/localDev/LocalDevManagerV2"));
|
|
21
21
|
const process_1 = require("../../../lib/process");
|
|
22
22
|
const accountTypes_1 = require("../../../lib/accountTypes");
|
|
23
23
|
const ui_1 = require("../../../lib/ui");
|
|
24
24
|
const lang_1 = require("../../../lib/lang");
|
|
25
|
-
const i18nKey = 'commands.project.subcommands.dev';
|
|
26
25
|
async function unifiedProjectDevFlow(args, accountConfig, projectConfig, projectDir) {
|
|
27
26
|
logger_1.logger.log('Unified Apps Local Dev');
|
|
28
27
|
const targetProjectAccountId = args.derivedAccountId;
|
|
@@ -49,7 +48,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
49
48
|
}
|
|
50
49
|
// @TODO Do we need to do more than this or leave it to the dev servers?
|
|
51
50
|
if (!Object.keys(projectNodes).length) {
|
|
52
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
51
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noRunnableComponents`, {
|
|
53
52
|
projectDir,
|
|
54
53
|
command: (0, ui_1.uiCommandReference)('hs project add'),
|
|
55
54
|
}));
|
|
@@ -61,7 +60,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
61
60
|
// For now, check if the account is either developer or standard
|
|
62
61
|
const derivedAccountIsRecommendedType = (0, accountTypes_1.isAppDeveloperAccount)(accountConfig) || (0, accountTypes_1.isStandardAccount)(accountConfig);
|
|
63
62
|
if (!derivedAccountIsRecommendedType) {
|
|
64
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
63
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.invalidUnifiedAppsAccount`), {
|
|
65
64
|
authCommand: (0, ui_1.uiCommandReference)('hs auth'),
|
|
66
65
|
});
|
|
67
66
|
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
@@ -72,14 +71,14 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
72
71
|
if (!!devAccountPromptResponse.notInConfigAccount) {
|
|
73
72
|
// When the developer test account isn't configured in the CLI config yet
|
|
74
73
|
// Walk the user through adding the account's PAK to the config
|
|
75
|
-
await (0,
|
|
74
|
+
await (0, helpers_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
|
|
76
75
|
}
|
|
77
76
|
else if (devAccountPromptResponse.createNestedAccount) {
|
|
78
77
|
// Create a new developer test account and automatically add it to the CLI config
|
|
79
|
-
targetTestingAccountId = await (0,
|
|
78
|
+
targetTestingAccountId = await (0, helpers_1.createDeveloperTestAccountForLocalDev)(targetProjectAccountId, accountConfig, env);
|
|
80
79
|
}
|
|
81
80
|
// Check if project exists in HubSpot
|
|
82
|
-
const { projectExists, project: uploadedProject } = await (0,
|
|
81
|
+
const { projectExists, project: uploadedProject } = await (0, ensureProjectExists_1.ensureProjectExists)(targetProjectAccountId, projectConfig.name, {
|
|
83
82
|
allowCreate: false,
|
|
84
83
|
noLogs: true,
|
|
85
84
|
});
|
|
@@ -92,8 +91,8 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
92
91
|
isGithubLinked = Boolean(project.sourceIntegration && project.sourceIntegration.source === 'GITHUB');
|
|
93
92
|
}
|
|
94
93
|
else {
|
|
95
|
-
project = await (0,
|
|
96
|
-
deployedBuild = await (0,
|
|
94
|
+
project = await (0, helpers_1.createNewProjectForLocalDev)(projectConfig, targetProjectAccountId, false, false);
|
|
95
|
+
deployedBuild = await (0, helpers_1.createInitialBuildForNewProject)(projectConfig, projectDir, targetProjectAccountId, true);
|
|
97
96
|
}
|
|
98
97
|
const LocalDev = new LocalDevManagerV2_1.default({
|
|
99
98
|
projectNodes,
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs } from '../../types/Yargs';
|
|
3
|
-
export declare const command = "download";
|
|
4
|
-
export declare const describe: string;
|
|
1
|
+
import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
|
|
5
2
|
type ProjectDownloadArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
|
|
6
3
|
project?: string;
|
|
7
4
|
dest?: string;
|
|
8
5
|
build?: number;
|
|
9
6
|
};
|
|
10
|
-
|
|
11
|
-
export
|
|
12
|
-
export {};
|
|
7
|
+
declare const projectDownloadCommand: YargsCommandModule<unknown, ProjectDownloadArgs>;
|
|
8
|
+
export default projectDownloadCommand;
|
|
@@ -3,28 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.builder = exports.describe = exports.command = void 0;
|
|
7
|
-
exports.handler = handler;
|
|
8
6
|
const path_1 = __importDefault(require("path"));
|
|
9
7
|
const path_2 = require("@hubspot/local-dev-lib/path");
|
|
10
8
|
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
11
9
|
const archive_1 = require("@hubspot/local-dev-lib/archive");
|
|
12
10
|
const projects_1 = require("@hubspot/local-dev-lib/api/projects");
|
|
13
11
|
const index_1 = require("../../lib/errorHandlers/index");
|
|
14
|
-
const
|
|
12
|
+
const config_1 = require("../../lib/projects/config");
|
|
15
13
|
const downloadProjectPrompt_1 = require("../../lib/prompts/downloadProjectPrompt");
|
|
16
14
|
const lang_1 = require("../../lib/lang");
|
|
17
15
|
const ui_1 = require("../../lib/ui");
|
|
18
16
|
const usageTracking_1 = require("../../lib/usageTracking");
|
|
19
17
|
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
20
18
|
const yargsUtils_1 = require("../../lib/yargsUtils");
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
|
|
19
|
+
const command = 'download';
|
|
20
|
+
const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.download.describe`), false);
|
|
24
21
|
async function handler(args) {
|
|
25
|
-
const { projectConfig } = await (0,
|
|
22
|
+
const { projectConfig } = await (0, config_1.getProjectConfig)();
|
|
26
23
|
if (projectConfig) {
|
|
27
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
24
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.download.warnings.cannotDownloadWithinProject`));
|
|
28
25
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
29
26
|
}
|
|
30
27
|
const { dest, build, derivedAccountId } = args;
|
|
@@ -41,13 +38,13 @@ async function handler(args) {
|
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
if (!buildNumberToDownload) {
|
|
44
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
41
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.download.errors.noBuildIdToDownload`));
|
|
45
42
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
46
43
|
}
|
|
47
44
|
const absoluteDestPath = dest ? path_1.default.resolve((0, path_2.getCwd)(), dest) : (0, path_2.getCwd)();
|
|
48
45
|
const { data: zippedProject } = await (0, projects_1.downloadProject)(derivedAccountId, projectName, buildNumberToDownload);
|
|
49
46
|
await (0, archive_1.extractZipArchive)(zippedProject, (0, path_2.sanitizeFileName)(projectName), path_1.default.resolve(absoluteDestPath), { includesRootDir: false });
|
|
50
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
47
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.download.logs.downloadSucceeded`, {
|
|
51
48
|
buildId: buildNumberToDownload,
|
|
52
49
|
projectName,
|
|
53
50
|
}));
|
|
@@ -64,15 +61,15 @@ async function handler(args) {
|
|
|
64
61
|
function projectDownloadBuilder(yargs) {
|
|
65
62
|
yargs.options({
|
|
66
63
|
project: {
|
|
67
|
-
describe: (0, lang_1.i18n)(
|
|
64
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.download.options.project.describe`),
|
|
68
65
|
type: 'string',
|
|
69
66
|
},
|
|
70
67
|
dest: {
|
|
71
|
-
describe: (0, lang_1.i18n)(
|
|
68
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.download.options.dest.describe`),
|
|
72
69
|
type: 'string',
|
|
73
70
|
},
|
|
74
71
|
build: {
|
|
75
|
-
describe: (0, lang_1.i18n)(
|
|
72
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.download.options.build.describe`),
|
|
76
73
|
alias: ['build-id'],
|
|
77
74
|
type: 'number',
|
|
78
75
|
},
|
|
@@ -80,19 +77,21 @@ function projectDownloadBuilder(yargs) {
|
|
|
80
77
|
yargs.example([
|
|
81
78
|
[
|
|
82
79
|
'$0 project download --project=myProject --dest=myProjectFolder',
|
|
83
|
-
(0, lang_1.i18n)(
|
|
80
|
+
(0, lang_1.i18n)(`commands.project.subcommands.download.examples.default`),
|
|
84
81
|
],
|
|
85
82
|
]);
|
|
86
83
|
return yargs;
|
|
87
84
|
}
|
|
88
|
-
|
|
85
|
+
const builder = (0, yargsUtils_1.makeYargsBuilder)(projectDownloadBuilder, command, describe, {
|
|
86
|
+
useGlobalOptions: true,
|
|
89
87
|
useConfigOptions: true,
|
|
90
88
|
useAccountOptions: true,
|
|
91
89
|
useEnvironmentOptions: true,
|
|
92
90
|
});
|
|
93
|
-
|
|
94
|
-
command
|
|
95
|
-
describe
|
|
96
|
-
builder: exports.builder,
|
|
91
|
+
const projectDownloadCommand = {
|
|
92
|
+
command,
|
|
93
|
+
describe,
|
|
97
94
|
handler,
|
|
95
|
+
builder,
|
|
98
96
|
};
|
|
97
|
+
exports.default = projectDownloadCommand;
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { CommonArgs, YargsCommandModule } from '../../types/Yargs';
|
|
2
|
+
export type ProjectInstallDepsArgs = CommonArgs & {
|
|
3
|
+
packages?: string[];
|
|
4
|
+
};
|
|
5
|
+
declare const projectInstallDepsCommand: YargsCommandModule<unknown, ProjectInstallDepsArgs>;
|
|
6
|
+
export default projectInstallDepsCommand;
|
|
@@ -1,43 +1,46 @@
|
|
|
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
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const { derivedAccountId, packages } =
|
|
6
|
+
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
7
|
+
const dependencyManagement_1 = require("../../lib/dependencyManagement");
|
|
8
|
+
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
9
|
+
const config_1 = require("../../lib/projects/config");
|
|
10
|
+
const promptUtils_1 = require("../../lib/prompts/promptUtils");
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
const lang_1 = require("../../lib/lang");
|
|
13
|
+
const usageTracking_1 = require("../../lib/usageTracking");
|
|
14
|
+
const ui_1 = require("../../lib/ui");
|
|
15
|
+
const errorHandlers_1 = require("../../lib/errorHandlers");
|
|
16
|
+
const yargsUtils_1 = require("../../lib/yargsUtils");
|
|
17
|
+
const command = 'install-deps [packages..]';
|
|
18
|
+
const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.describe`), false);
|
|
19
|
+
async function handler(args) {
|
|
20
|
+
const { derivedAccountId, packages } = args;
|
|
18
21
|
try {
|
|
19
|
-
trackCommandUsage('project-install-deps',
|
|
20
|
-
const projectConfig = await getProjectConfig();
|
|
22
|
+
(0, usageTracking_1.trackCommandUsage)('project-install-deps', undefined, derivedAccountId);
|
|
23
|
+
const projectConfig = await (0, config_1.getProjectConfig)();
|
|
21
24
|
if (!projectConfig || !projectConfig.projectDir) {
|
|
22
|
-
logger.error(i18n(
|
|
23
|
-
return process.exit(EXIT_CODES.ERROR);
|
|
25
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.installDeps.noProjectConfig`));
|
|
26
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
24
27
|
}
|
|
25
28
|
const { projectDir } = projectConfig;
|
|
26
|
-
let installLocations = await getProjectPackageJsonLocations();
|
|
29
|
+
let installLocations = await (0, dependencyManagement_1.getProjectPackageJsonLocations)();
|
|
27
30
|
if (packages) {
|
|
28
|
-
const { selectedInstallLocations } = await promptUser([
|
|
31
|
+
const { selectedInstallLocations } = await (0, promptUtils_1.promptUser)([
|
|
29
32
|
{
|
|
30
33
|
name: 'selectedInstallLocations',
|
|
31
34
|
type: 'checkbox',
|
|
32
35
|
when: () => packages && packages.length > 0,
|
|
33
|
-
message: i18n(
|
|
36
|
+
message: (0, lang_1.i18n)(`commands.project.subcommands.installDeps.installLocationPrompt`),
|
|
34
37
|
choices: installLocations.map(dir => ({
|
|
35
|
-
name:
|
|
38
|
+
name: path_1.default.relative(projectDir, dir),
|
|
36
39
|
value: dir,
|
|
37
40
|
})),
|
|
38
41
|
validate: choices => {
|
|
39
42
|
if (choices === undefined || choices.length === 0) {
|
|
40
|
-
return i18n(
|
|
43
|
+
return (0, lang_1.i18n)(`commands.project.subcommands.installDeps.installLocationPromptRequired`);
|
|
41
44
|
}
|
|
42
45
|
return true;
|
|
43
46
|
},
|
|
@@ -47,23 +50,36 @@ exports.handler = async (options) => {
|
|
|
47
50
|
installLocations = selectedInstallLocations;
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
|
-
await installPackages({
|
|
53
|
+
await (0, dependencyManagement_1.installPackages)({
|
|
51
54
|
packages,
|
|
52
55
|
installLocations,
|
|
53
56
|
});
|
|
54
57
|
}
|
|
55
58
|
catch (e) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return process.exit(EXIT_CODES.ERROR);
|
|
59
|
+
(0, errorHandlers_1.logError)(e);
|
|
60
|
+
return process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
59
61
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
+
}
|
|
63
|
+
function projectInstallDepsBuilder(yargs) {
|
|
62
64
|
yargs.example([
|
|
63
|
-
[
|
|
65
|
+
[
|
|
66
|
+
'$0 project install-deps',
|
|
67
|
+
(0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.installAppDepsExample`),
|
|
68
|
+
],
|
|
64
69
|
[
|
|
65
70
|
'$0 project install-deps dependency1 dependency2',
|
|
66
|
-
i18n(
|
|
71
|
+
(0, lang_1.i18n)(`commands.project.subcommands.installDeps.help.addDepToSubComponentExample`),
|
|
67
72
|
],
|
|
68
73
|
]);
|
|
74
|
+
return yargs;
|
|
75
|
+
}
|
|
76
|
+
const builder = (0, yargsUtils_1.makeYargsBuilder)(projectInstallDepsBuilder, command, describe, {
|
|
77
|
+
useGlobalOptions: true,
|
|
78
|
+
});
|
|
79
|
+
const projectInstallDepsCommand = {
|
|
80
|
+
command,
|
|
81
|
+
describe,
|
|
82
|
+
handler,
|
|
83
|
+
builder,
|
|
69
84
|
};
|
|
85
|
+
exports.default = projectInstallDepsCommand;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs } from '../../types/Yargs';
|
|
3
|
-
export declare const command = "list-builds";
|
|
4
|
-
export declare const describe: string;
|
|
1
|
+
import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
|
|
5
2
|
type ProjectListBuildsArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
|
|
6
3
|
project?: string;
|
|
7
4
|
limit?: number;
|
|
8
5
|
};
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
export {};
|
|
6
|
+
declare const projectListBuildsCommand: YargsCommandModule<unknown, ProjectListBuildsArgs>;
|
|
7
|
+
export default projectListBuildsCommand;
|
|
@@ -3,44 +3,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.describe = exports.command = void 0;
|
|
7
|
-
exports.handler = handler;
|
|
8
|
-
exports.builder = builder;
|
|
9
6
|
const index_1 = require("@hubspot/local-dev-lib/errors/index");
|
|
10
7
|
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
11
8
|
const projects_1 = require("@hubspot/local-dev-lib/api/projects");
|
|
12
9
|
const table_1 = require("../../lib/ui/table");
|
|
13
10
|
const ui_1 = require("../../lib/ui");
|
|
14
|
-
const
|
|
11
|
+
const config_1 = require("../../lib/projects/config");
|
|
15
12
|
const urls_1 = require("../../lib/projects/urls");
|
|
16
13
|
const moment_1 = __importDefault(require("moment"));
|
|
17
14
|
const promptUtils_1 = require("../../lib/prompts/promptUtils");
|
|
18
|
-
const commonOpts_1 = require("../../lib/commonOpts");
|
|
19
15
|
const usageTracking_1 = require("../../lib/usageTracking");
|
|
20
16
|
const lang_1 = require("../../lib/lang");
|
|
21
17
|
const index_2 = require("../../lib/errorHandlers/index");
|
|
22
18
|
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
const yargsUtils_1 = require("../../lib/yargsUtils");
|
|
20
|
+
const command = 'list-builds';
|
|
21
|
+
const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.describe`), false);
|
|
26
22
|
async function fetchAndDisplayBuilds(accountId, project, options) {
|
|
27
23
|
const { data: { results, paging }, } = await (0, projects_1.fetchProjectBuilds)(accountId, project.name, options);
|
|
28
24
|
const currentDeploy = project.deployedBuildId;
|
|
29
25
|
if (options && options.after) {
|
|
30
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
26
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.showingNextBuilds`, {
|
|
31
27
|
count: results.length,
|
|
32
28
|
projectName: project.name,
|
|
33
29
|
}));
|
|
34
30
|
}
|
|
35
31
|
else {
|
|
36
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
32
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.showingRecentBuilds`, {
|
|
37
33
|
count: results.length,
|
|
38
34
|
projectName: project.name,
|
|
39
|
-
viewBuildsLink: (0, ui_1.uiLink)((0, lang_1.i18n)(
|
|
35
|
+
viewBuildsLink: (0, ui_1.uiLink)((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.logs.viewAllBuildsLink`), (0, urls_1.getProjectDetailUrl)(project.name, accountId)),
|
|
40
36
|
}));
|
|
41
37
|
}
|
|
42
38
|
if (results.length === 0) {
|
|
43
|
-
logger_1.logger.log((0, lang_1.i18n)(
|
|
39
|
+
logger_1.logger.log((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.errors.noBuilds`));
|
|
44
40
|
}
|
|
45
41
|
else {
|
|
46
42
|
const builds = results.map(build => {
|
|
@@ -70,7 +66,7 @@ async function fetchAndDisplayBuilds(accountId, project, options) {
|
|
|
70
66
|
if (paging && paging.next) {
|
|
71
67
|
await (0, promptUtils_1.promptUser)({
|
|
72
68
|
name: 'more',
|
|
73
|
-
message: (0, lang_1.i18n)(
|
|
69
|
+
message: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.continueOrExitPrompt`),
|
|
74
70
|
});
|
|
75
71
|
await fetchAndDisplayBuilds(accountId, project, {
|
|
76
72
|
limit: options.limit,
|
|
@@ -83,8 +79,8 @@ async function handler(args) {
|
|
|
83
79
|
(0, usageTracking_1.trackCommandUsage)('project-list-builds', undefined, derivedAccountId);
|
|
84
80
|
let projectName = projectFlagValue;
|
|
85
81
|
if (!projectName) {
|
|
86
|
-
const { projectConfig, projectDir } = await (0,
|
|
87
|
-
(0,
|
|
82
|
+
const { projectConfig, projectDir } = await (0, config_1.getProjectConfig)();
|
|
83
|
+
(0, config_1.validateProjectConfig)(projectConfig, projectDir);
|
|
88
84
|
projectName = projectConfig.name;
|
|
89
85
|
}
|
|
90
86
|
try {
|
|
@@ -93,7 +89,9 @@ async function handler(args) {
|
|
|
93
89
|
}
|
|
94
90
|
catch (e) {
|
|
95
91
|
if ((0, index_1.isHubSpotHttpError)(e) && e.status === 404) {
|
|
96
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
92
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.listBuilds.errors.projectNotFound`, {
|
|
93
|
+
projectName,
|
|
94
|
+
}));
|
|
97
95
|
}
|
|
98
96
|
else {
|
|
99
97
|
(0, index_2.logError)(e, new index_2.ApiErrorContext({
|
|
@@ -104,28 +102,35 @@ async function handler(args) {
|
|
|
104
102
|
}
|
|
105
103
|
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
106
104
|
}
|
|
107
|
-
function
|
|
108
|
-
(0, commonOpts_1.addConfigOptions)(yargs);
|
|
109
|
-
(0, commonOpts_1.addAccountOptions)(yargs);
|
|
110
|
-
(0, commonOpts_1.addUseEnvironmentOptions)(yargs);
|
|
105
|
+
function projectListBuildsBuilder(yargs) {
|
|
111
106
|
yargs.options({
|
|
112
107
|
project: {
|
|
113
|
-
describe: (0, lang_1.i18n)(
|
|
108
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.options.project.describe`),
|
|
114
109
|
type: 'string',
|
|
115
110
|
},
|
|
116
111
|
limit: {
|
|
117
|
-
describe: (0, lang_1.i18n)(
|
|
112
|
+
describe: (0, lang_1.i18n)(`commands.project.subcommands.listBuilds.options.limit.describe`),
|
|
118
113
|
type: 'string',
|
|
119
114
|
},
|
|
120
115
|
});
|
|
121
116
|
yargs.example([
|
|
122
|
-
[
|
|
117
|
+
[
|
|
118
|
+
'$0 project list-builds',
|
|
119
|
+
(0, lang_1.i18n)(`commands.project.subcommands.listBuilds.examples.default`),
|
|
120
|
+
],
|
|
123
121
|
]);
|
|
124
122
|
return yargs;
|
|
125
123
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
const builder = (0, yargsUtils_1.makeYargsBuilder)(projectListBuildsBuilder, command, describe, {
|
|
125
|
+
useGlobalOptions: true,
|
|
126
|
+
useConfigOptions: true,
|
|
127
|
+
useAccountOptions: true,
|
|
128
|
+
useEnvironmentOptions: true,
|
|
129
|
+
});
|
|
130
|
+
const projectListBuildsCommand = {
|
|
131
|
+
command,
|
|
132
|
+
describe,
|
|
130
133
|
handler,
|
|
134
|
+
builder,
|
|
131
135
|
};
|
|
136
|
+
exports.default = projectListBuildsCommand;
|
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { CommonArgs, YargsCommandModule } from '../../types/Yargs';
|
|
2
|
+
export type ProjectLogsArgs = CommonArgs & {
|
|
3
|
+
function?: string;
|
|
4
|
+
latest?: boolean;
|
|
5
|
+
compact?: boolean;
|
|
6
|
+
tail?: boolean;
|
|
7
|
+
limit?: number;
|
|
8
|
+
};
|
|
9
|
+
declare const projectLogsCommand: YargsCommandModule<unknown, ProjectLogsArgs>;
|
|
10
|
+
export default projectLogsCommand;
|