@hubspot/cli 7.4.9-experimental.0 → 7.4.10-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 +14 -4
- package/api/migrate.js +16 -2
- package/bin/cli.js +9 -187
- package/commands/account/auth.d.ts +6 -0
- package/commands/account/auth.js +198 -0
- package/commands/account/clean.d.ts +3 -7
- package/commands/account/clean.js +54 -14
- package/commands/account/createOverride.d.ts +6 -0
- package/commands/account/createOverride.js +121 -0
- package/commands/account/info.d.ts +3 -7
- package/commands/account/info.js +51 -9
- package/commands/account/list.d.ts +3 -7
- package/commands/account/list.js +38 -13
- package/commands/account/remove.d.ts +3 -7
- package/commands/account/remove.js +57 -11
- package/commands/account/removeOverride.d.ts +6 -0
- package/commands/account/removeOverride.js +93 -0
- package/commands/account/rename.d.ts +3 -7
- package/commands/account/rename.js +16 -9
- package/commands/account/use.d.ts +5 -9
- package/commands/account/use.js +39 -9
- package/commands/account.d.ts +3 -4
- package/commands/account.js +35 -53
- package/commands/app/migrate.d.ts +5 -6
- package/commands/app/migrate.js +60 -44
- package/commands/app.d.ts +2 -5
- package/commands/app.js +9 -9
- package/commands/auth.d.ts +3 -7
- package/commands/auth.js +25 -15
- package/commands/cms/convertFields.d.ts +7 -1
- package/commands/cms/convertFields.js +57 -41
- package/commands/cms/getReactModule.d.ts +7 -1
- package/commands/cms/getReactModule.js +52 -34
- package/commands/cms/lighthouseScore.d.ts +8 -1
- package/commands/cms/lighthouseScore.js +133 -100
- package/commands/cms.d.ts +3 -1
- package/commands/cms.js +24 -16
- package/commands/completion.d.ts +3 -1
- package/commands/completion.js +25 -13
- package/commands/config/migrate.d.ts +6 -0
- package/commands/config/migrate.js +94 -0
- package/commands/config/set.d.ts +10 -1
- package/commands/config/set.js +61 -32
- package/commands/config.d.ts +3 -1
- package/commands/config.js +21 -11
- package/commands/create/api-sample.d.ts +3 -1
- package/commands/create/api-sample.js +34 -36
- package/commands/create/app.d.ts +3 -1
- package/commands/create/app.js +9 -7
- package/commands/create/function.d.ts +3 -1
- package/commands/create/function.js +11 -10
- package/commands/create/index.d.ts +5 -1
- package/commands/create/index.js +23 -11
- package/commands/create/module.d.ts +3 -1
- package/commands/create/module.js +14 -13
- package/commands/create/react-app.d.ts +3 -1
- package/commands/create/react-app.js +10 -7
- package/commands/create/template.d.ts +3 -1
- package/commands/create/template.js +14 -14
- package/commands/create/vue-app.d.ts +3 -1
- package/commands/create/vue-app.js +10 -7
- package/commands/create/webpack-serverless.d.ts +3 -1
- package/commands/create/webpack-serverless.js +10 -7
- package/commands/create/website-theme.d.ts +3 -1
- package/commands/create/website-theme.js +10 -9
- package/commands/create.d.ts +4 -24
- package/commands/create.js +64 -75
- package/commands/customObject/create.d.ts +4 -9
- package/commands/customObject/create.js +17 -10
- package/commands/customObject/schema/create.d.ts +4 -9
- package/commands/customObject/schema/create.js +18 -11
- package/commands/customObject/schema/delete.d.ts +4 -9
- package/commands/customObject/schema/delete.js +21 -11
- package/commands/customObject/schema/fetch-all.d.ts +4 -9
- package/commands/customObject/schema/fetch-all.js +19 -11
- package/commands/customObject/schema/fetch.d.ts +4 -9
- package/commands/customObject/schema/fetch.js +19 -11
- package/commands/customObject/schema/list.d.ts +4 -8
- package/commands/customObject/schema/list.js +17 -10
- package/commands/customObject/schema/update.d.ts +4 -9
- package/commands/customObject/schema/update.js +18 -11
- package/commands/customObject/schema.d.ts +3 -5
- package/commands/customObject/schema.js +27 -54
- package/commands/customObject.d.ts +3 -4
- package/commands/customObject.js +22 -48
- package/commands/doctor.d.ts +6 -8
- package/commands/doctor.js +32 -22
- package/commands/feedback.d.ts +4 -1
- package/commands/feedback.js +40 -48
- package/commands/fetch.d.ts +12 -1
- package/commands/fetch.js +49 -34
- package/commands/filemanager/fetch.d.ts +4 -9
- package/commands/filemanager/fetch.js +18 -11
- package/commands/filemanager/upload.d.ts +4 -9
- package/commands/filemanager/upload.js +17 -11
- package/commands/filemanager.d.ts +3 -4
- package/commands/filemanager.js +20 -42
- package/commands/function/deploy.d.ts +6 -1
- package/commands/function/deploy.js +70 -50
- package/commands/function/list.d.ts +6 -1
- package/commands/function/list.js +44 -32
- package/commands/function/server.d.ts +10 -1
- package/commands/function/server.js +49 -38
- package/commands/function.d.ts +5 -1
- package/commands/function.js +24 -11
- package/commands/hubdb/clear.d.ts +4 -9
- package/commands/hubdb/clear.js +21 -15
- package/commands/hubdb/create.d.ts +4 -9
- package/commands/hubdb/create.js +23 -17
- package/commands/hubdb/delete.d.ts +4 -9
- package/commands/hubdb/delete.js +24 -16
- package/commands/hubdb/fetch.d.ts +4 -9
- package/commands/hubdb/fetch.js +20 -14
- package/commands/hubdb.d.ts +3 -2
- package/commands/hubdb.js +24 -47
- package/commands/init.d.ts +3 -7
- package/commands/init.js +28 -23
- package/commands/lint.d.ts +6 -4
- package/commands/lint.js +44 -44
- package/commands/list.d.ts +3 -7
- package/commands/list.js +23 -16
- package/commands/logs.d.ts +10 -1
- package/commands/logs.js +53 -45
- package/commands/module/marketplace-validate.d.ts +6 -1
- package/commands/module/marketplace-validate.js +39 -28
- package/commands/module.d.ts +3 -1
- package/commands/module.js +22 -12
- package/commands/mv.d.ts +3 -7
- package/commands/mv.js +22 -15
- package/commands/open.d.ts +3 -7
- package/commands/open.js +22 -15
- 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 +4 -6
- package/commands/project/deploy.js +66 -36
- package/commands/project/dev/deprecatedFlow.js +32 -25
- package/commands/project/dev/index.d.ts +4 -5
- package/commands/project/dev/index.js +70 -25
- package/commands/project/dev/unifiedFlow.d.ts +2 -1
- package/commands/project/dev/unifiedFlow.js +58 -27
- 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 +7 -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/profile/add.d.ts +7 -0
- package/commands/project/profile/add.js +190 -0
- package/commands/project/profile/remove.d.ts +6 -0
- package/commands/project/profile/remove.js +119 -0
- package/commands/project/profile.d.ts +3 -0
- package/commands/project/profile.js +25 -0
- package/commands/project/upload.d.ts +10 -1
- package/commands/project/upload.js +110 -56
- 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 +49 -35
- package/commands/remove.d.ts +3 -7
- package/commands/remove.js +25 -15
- package/commands/sandbox/create.d.ts +4 -9
- package/commands/sandbox/create.js +27 -21
- package/commands/sandbox/delete.d.ts +4 -9
- package/commands/sandbox/delete.js +35 -29
- package/commands/sandbox.d.ts +3 -4
- package/commands/sandbox.js +20 -44
- package/commands/secret/addSecret.d.ts +4 -9
- package/commands/secret/addSecret.js +21 -15
- package/commands/secret/deleteSecret.d.ts +4 -9
- package/commands/secret/deleteSecret.js +28 -18
- package/commands/secret/listSecret.d.ts +4 -9
- package/commands/secret/listSecret.js +19 -13
- package/commands/secret/updateSecret.d.ts +4 -9
- package/commands/secret/updateSecret.js +25 -17
- package/commands/secret.d.ts +3 -4
- package/commands/secret.js +25 -49
- package/commands/theme/generate-selectors.d.ts +3 -7
- package/commands/theme/generate-selectors.js +18 -11
- package/commands/theme/marketplace-validate.d.ts +4 -9
- package/commands/theme/marketplace-validate.js +21 -15
- package/commands/theme/preview.d.ts +4 -9
- package/commands/theme/preview.js +31 -24
- package/commands/theme.d.ts +3 -4
- package/commands/theme.js +23 -47
- package/commands/upload.d.ts +12 -1
- package/commands/upload.js +118 -98
- package/commands/watch.d.ts +14 -1
- package/commands/watch.js +76 -66
- package/lang/en.d.ts +2932 -0
- package/lang/en.js +2796 -3318
- package/lang/en.lyaml +120 -58
- package/lib/accountTypes.d.ts +1 -0
- package/lib/accountTypes.js +12 -0
- package/lib/app/migrate.d.ts +33 -4
- package/lib/app/migrate.js +218 -93
- package/lib/app/migrate_legacy.d.ts +2 -2
- package/lib/app/migrate_legacy.js +15 -12
- package/lib/app/urls.d.ts +16 -0
- package/lib/app/urls.js +16 -0
- 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 +118 -0
- package/lib/configOptions.d.ts +4 -0
- package/lib/configOptions.js +41 -45
- package/lib/constants.d.ts +10 -0
- package/lib/constants.js +11 -1
- package/lib/dependencyManagement.d.ts +0 -5
- package/lib/dependencyManagement.js +14 -40
- 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 +59 -45
- package/lib/errorHandlers/index.js +6 -7
- package/lib/errorHandlers/suppressError.js +18 -26
- package/lib/filesystem.d.ts +1 -1
- package/lib/generateSelectors.js +1 -2
- package/lib/hasFeature.d.ts +3 -1
- package/lib/interpolation.d.ts +2 -3
- package/lib/lang.d.ts +2 -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/autoUpdateMiddleware.d.ts +1 -0
- package/lib/middleware/autoUpdateMiddleware.js +89 -0
- package/lib/middleware/configMiddleware.d.ts +13 -0
- package/lib/middleware/configMiddleware.js +124 -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/npm.d.ts +9 -0
- package/lib/npm.js +36 -0
- package/lib/oauth.js +1 -2
- package/lib/process.js +1 -2
- package/lib/projectProfiles.d.ts +6 -0
- package/lib/projectProfiles.js +65 -0
- package/lib/projects/ProjectLogsManager.d.ts +1 -1
- package/lib/projects/ProjectLogsManager.js +16 -21
- package/lib/projects/buildAndDeploy.js +45 -41
- 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/projects/localDev/AppDevModeInterface.d.ts +26 -0
- package/lib/projects/localDev/AppDevModeInterface.js +156 -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/projects/localDev/DevServerManagerV2.d.ts +22 -0
- package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
- package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
- package/lib/projects/localDev/LocalDevLogger.js +158 -0
- package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
- package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +57 -83
- package/lib/projects/localDev/LocalDevProcess.d.ts +27 -0
- package/lib/projects/localDev/LocalDevProcess.js +171 -0
- package/lib/projects/localDev/LocalDevState.d.ts +37 -0
- package/lib/projects/localDev/LocalDevState.js +78 -0
- package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
- package/lib/projects/localDev/LocalDevWatcher.js +56 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +17 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.js +92 -0
- package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
- package/lib/{localDev.js → projects/localDev/helpers.js} +98 -114
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +15 -0
- package/lib/projects/upload.d.ts +14 -2
- package/lib/projects/upload.js +19 -35
- 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.d.ts +2 -10
- 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.d.ts +22 -4
- package/lib/prompts/createTemplatePrompt.js +1 -2
- package/lib/prompts/downloadProjectPrompt.js +3 -4
- package/lib/prompts/installAppPrompt.d.ts +1 -0
- package/lib/prompts/installAppPrompt.js +35 -0
- 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 +18 -12
- package/lib/prompts/projectNamePrompt.js +5 -6
- package/lib/prompts/projectsLogsPrompt.js +3 -2
- package/lib/prompts/promptUtils.d.ts +3 -2
- package/lib/prompts/promptUtils.js +2 -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/testUtils.d.ts +3 -3
- package/lib/testUtils.js +8 -9
- 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 +20 -17
- 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/upload.d.ts +1 -1
- package/lib/validation.js +4 -5
- package/lib/yargsUtils.d.ts +5 -1
- package/lib/yargsUtils.js +6 -0
- package/package.json +10 -6
- package/types/Cms.d.ts +30 -0
- package/types/Cms.js +2 -0
- package/types/LocalDev.d.ts +24 -0
- package/types/LocalDev.js +2 -0
- package/types/Yargs.d.ts +12 -11
- package/lib/DevServerManagerV2.d.ts +0 -33
- package/lib/LocalDevManagerV2.d.ts +0 -64
- package/lib/LocalDevManagerV2.js +0 -377
- package/lib/projects/index.d.ts +0 -20
- package/lib/projects/index.js +0 -194
- package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
- package/lib/prompts/installPublicAppPrompt.js +0 -40
|
@@ -1,52 +1,97 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.handler = handler;
|
|
5
|
-
exports.builder = builder;
|
|
6
|
-
const commonOpts_1 = require("../../../lib/commonOpts");
|
|
3
|
+
exports.builder = void 0;
|
|
7
4
|
const usageTracking_1 = require("../../../lib/usageTracking");
|
|
8
5
|
const lang_1 = require("../../../lib/lang");
|
|
9
6
|
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
10
7
|
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
11
|
-
const
|
|
8
|
+
const config_2 = require("../../../lib/projects/config");
|
|
12
9
|
const exitCodes_1 = require("../../../lib/enums/exitCodes");
|
|
13
10
|
const ui_1 = require("../../../lib/ui");
|
|
14
11
|
const deprecatedFlow_1 = require("./deprecatedFlow");
|
|
15
12
|
const unifiedFlow_1 = require("./unifiedFlow");
|
|
16
13
|
const buildAndDeploy_1 = require("../../../lib/projects/buildAndDeploy");
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
const yargsUtils_1 = require("../../../lib/yargsUtils");
|
|
15
|
+
const projectProfiles_1 = require("../../../lib/projectProfiles");
|
|
16
|
+
const command = 'dev';
|
|
17
|
+
const describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`commands.project.subcommands.dev.describe`), false);
|
|
20
18
|
async function handler(args) {
|
|
21
|
-
const { derivedAccountId } = args;
|
|
22
|
-
const
|
|
23
|
-
(0,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.logs.learnMoreLocalDevServer`), 'https://developers.hubspot.com/docs/platform/project-cli-commands#start-a-local-development-server'));
|
|
27
|
-
if (!projectConfig || !projectDir) {
|
|
28
|
-
logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noProjectConfig`, {
|
|
19
|
+
const { derivedAccountId, providedAccountId } = args;
|
|
20
|
+
const { projectConfig, projectDir } = await (0, config_2.getProjectConfig)();
|
|
21
|
+
(0, config_2.validateProjectConfig)(projectConfig, projectDir);
|
|
22
|
+
if (!projectDir) {
|
|
23
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noProjectConfig`, {
|
|
29
24
|
accountId: derivedAccountId,
|
|
30
25
|
authCommand: (0, ui_1.uiCommandReference)('hs auth'),
|
|
31
26
|
}));
|
|
32
27
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
33
28
|
}
|
|
29
|
+
let targetAccountId = providedAccountId;
|
|
30
|
+
let profile;
|
|
31
|
+
if (!targetAccountId && (0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
|
|
32
|
+
if (args.profile) {
|
|
33
|
+
(0, projectProfiles_1.logProfileHeader)(args.profile);
|
|
34
|
+
profile = (0, projectProfiles_1.loadProfile)(projectConfig, projectDir, args.profile);
|
|
35
|
+
if (!profile) {
|
|
36
|
+
(0, ui_1.uiLine)();
|
|
37
|
+
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
38
|
+
}
|
|
39
|
+
targetAccountId = profile.accountId;
|
|
40
|
+
(0, projectProfiles_1.logProfileFooter)(profile);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// A profile must be specified if this project has profiles configured
|
|
44
|
+
await (0, projectProfiles_1.exitIfUsingProfiles)(projectConfig, projectDir);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (!targetAccountId) {
|
|
48
|
+
// The user is not using profiles, so we can use the derived accountId
|
|
49
|
+
targetAccountId = derivedAccountId;
|
|
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'));
|
|
34
55
|
if (!accountConfig) {
|
|
35
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
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
|
+
}));
|
|
36
60
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
37
61
|
}
|
|
38
|
-
(0,
|
|
39
|
-
|
|
40
|
-
await (0, unifiedFlow_1.unifiedProjectDevFlow)(args, accountConfig, projectConfig, projectDir);
|
|
62
|
+
if ((0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
|
|
63
|
+
await (0, unifiedFlow_1.unifiedProjectDevFlow)(args, accountConfig, projectConfig, projectDir, profile);
|
|
41
64
|
}
|
|
42
65
|
else {
|
|
43
66
|
await (0, deprecatedFlow_1.deprecatedProjectDevFlow)(args, accountConfig, projectConfig, projectDir);
|
|
44
67
|
}
|
|
45
68
|
}
|
|
46
|
-
function
|
|
47
|
-
(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
69
|
+
function projectDevBuilder(yargs) {
|
|
70
|
+
yargs.option('profile', {
|
|
71
|
+
type: 'string',
|
|
72
|
+
alias: 'p',
|
|
73
|
+
description: (0, lang_1.i18n)(`commands.project.subcommands.dev.options.profile`),
|
|
74
|
+
hidden: true,
|
|
75
|
+
});
|
|
76
|
+
yargs.example([
|
|
77
|
+
[
|
|
78
|
+
'$0 project dev',
|
|
79
|
+
(0, lang_1.i18n)(`commands.project.subcommands.dev.examples.default`),
|
|
80
|
+
],
|
|
81
|
+
]);
|
|
82
|
+
yargs.conflicts('profile', 'account');
|
|
51
83
|
return yargs;
|
|
52
84
|
}
|
|
85
|
+
exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectDevBuilder, command, describe, {
|
|
86
|
+
useGlobalOptions: true,
|
|
87
|
+
useAccountOptions: true,
|
|
88
|
+
useConfigOptions: true,
|
|
89
|
+
useEnvironmentOptions: true,
|
|
90
|
+
});
|
|
91
|
+
const projectDevCommand = {
|
|
92
|
+
command,
|
|
93
|
+
describe,
|
|
94
|
+
handler,
|
|
95
|
+
builder: exports.builder,
|
|
96
|
+
};
|
|
97
|
+
exports.default = projectDevCommand;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArgumentsCamelCase } from 'yargs';
|
|
2
|
+
import { HsProfileFile } from '@hubspot/project-parsing-lib/src/lib/types';
|
|
2
3
|
import { CLIAccount } from '@hubspot/local-dev-lib/types/Accounts';
|
|
3
4
|
import { ProjectDevArgs } from '../../../types/Yargs';
|
|
4
5
|
import { ProjectConfig } from '../../../types/Projects';
|
|
5
|
-
export declare function unifiedProjectDevFlow(args: ArgumentsCamelCase<ProjectDevArgs>, accountConfig: CLIAccount, projectConfig: ProjectConfig, projectDir: string): Promise<void>;
|
|
6
|
+
export declare function unifiedProjectDevFlow(args: ArgumentsCamelCase<ProjectDevArgs>, accountConfig: CLIAccount, projectConfig: ProjectConfig, projectDir: string, profileConfig?: HsProfileFile): Promise<void>;
|
|
@@ -7,26 +7,30 @@ exports.unifiedProjectDevFlow = unifiedProjectDevFlow;
|
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const util_1 = __importDefault(require("util"));
|
|
9
9
|
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
10
|
+
const getAccountIdentifier_1 = require("@hubspot/local-dev-lib/config/getAccountIdentifier");
|
|
10
11
|
const errors_1 = require("@hubspot/project-parsing-lib/src/lib/errors");
|
|
11
12
|
const project_parsing_lib_1 = require("@hubspot/project-parsing-lib");
|
|
12
13
|
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
13
14
|
const environment_1 = require("@hubspot/local-dev-lib/environment");
|
|
14
15
|
const errorHandlers_1 = require("../../../lib/errorHandlers");
|
|
15
16
|
const exitCodes_1 = require("../../../lib/enums/exitCodes");
|
|
16
|
-
const
|
|
17
|
-
const
|
|
17
|
+
const ensureProjectExists_1 = require("../../../lib/projects/ensureProjectExists");
|
|
18
|
+
const helpers_1 = require("../../../lib/projects/localDev/helpers");
|
|
18
19
|
const projectDevTargetAccountPrompt_1 = require("../../../lib/prompts/projectDevTargetAccountPrompt");
|
|
19
20
|
const SpinniesManager_1 = __importDefault(require("../../../lib/ui/SpinniesManager"));
|
|
20
|
-
const
|
|
21
|
+
const LocalDevProcess_1 = __importDefault(require("../../../lib/projects/localDev/LocalDevProcess"));
|
|
22
|
+
const LocalDevWatcher_1 = __importDefault(require("../../../lib/projects/localDev/LocalDevWatcher"));
|
|
21
23
|
const process_1 = require("../../../lib/process");
|
|
22
24
|
const accountTypes_1 = require("../../../lib/accountTypes");
|
|
23
25
|
const ui_1 = require("../../../lib/ui");
|
|
24
26
|
const lang_1 = require("../../../lib/lang");
|
|
25
|
-
|
|
26
|
-
async function unifiedProjectDevFlow(args, accountConfig, projectConfig, projectDir) {
|
|
27
|
-
|
|
28
|
-
const targetProjectAccountId = args.derivedAccountId;
|
|
27
|
+
// import LocalDevWebsocketServer from '../../../lib/projects/localDev/LocalDevWebsocketServer';
|
|
28
|
+
async function unifiedProjectDevFlow(args, accountConfig, projectConfig, projectDir, profileConfig) {
|
|
29
|
+
const targetProjectAccountId = (0, getAccountIdentifier_1.getAccountIdentifier)(accountConfig);
|
|
29
30
|
const env = (0, environment_1.getValidEnv)((0, config_1.getEnv)(targetProjectAccountId));
|
|
31
|
+
if (!targetProjectAccountId) {
|
|
32
|
+
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
33
|
+
}
|
|
30
34
|
let projectNodes;
|
|
31
35
|
// Get IR
|
|
32
36
|
try {
|
|
@@ -34,7 +38,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
34
38
|
projectSourceDir: path_1.default.join(projectDir, projectConfig.srcDir),
|
|
35
39
|
platformVersion: projectConfig.platformVersion,
|
|
36
40
|
accountId: targetProjectAccountId,
|
|
37
|
-
});
|
|
41
|
+
}, { profile: args.profile });
|
|
38
42
|
projectNodes = intermediateRepresentation.intermediateNodesIndexedByUid;
|
|
39
43
|
logger_1.logger.debug(util_1.default.inspect(projectNodes, false, null, true));
|
|
40
44
|
}
|
|
@@ -49,7 +53,7 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
49
53
|
}
|
|
50
54
|
// @TODO Do we need to do more than this or leave it to the dev servers?
|
|
51
55
|
if (!Object.keys(projectNodes).length) {
|
|
52
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
56
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.noRunnableComponents`, {
|
|
53
57
|
projectDir,
|
|
54
58
|
command: (0, ui_1.uiCommandReference)('hs project add'),
|
|
55
59
|
}));
|
|
@@ -60,26 +64,32 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
60
64
|
// TODO Ideally this should require the user to target a Combined account
|
|
61
65
|
// For now, check if the account is either developer or standard
|
|
62
66
|
const derivedAccountIsRecommendedType = (0, accountTypes_1.isAppDeveloperAccount)(accountConfig) || (0, accountTypes_1.isStandardAccount)(accountConfig);
|
|
63
|
-
if (!derivedAccountIsRecommendedType) {
|
|
64
|
-
logger_1.logger.error((0, lang_1.i18n)(
|
|
67
|
+
if (!derivedAccountIsRecommendedType && !profileConfig) {
|
|
68
|
+
logger_1.logger.error((0, lang_1.i18n)(`commands.project.subcommands.dev.errors.invalidUnifiedAppsAccount`), {
|
|
65
69
|
authCommand: (0, ui_1.uiCommandReference)('hs auth'),
|
|
66
70
|
});
|
|
67
71
|
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
68
72
|
}
|
|
69
73
|
let targetTestingAccountId = null;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// When the developer test account isn't configured in the CLI config yet
|
|
74
|
-
// Walk the user through adding the account's PAK to the config
|
|
75
|
-
await (0, localDev_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
|
|
74
|
+
if (profileConfig) {
|
|
75
|
+
// Bypass the prompt for the testing account if the user has a profile configured
|
|
76
|
+
targetTestingAccountId = profileConfig.accountId;
|
|
76
77
|
}
|
|
77
|
-
else
|
|
78
|
-
|
|
79
|
-
targetTestingAccountId =
|
|
78
|
+
else {
|
|
79
|
+
const devAccountPromptResponse = await (0, projectDevTargetAccountPrompt_1.selectDeveloperTestTargetAccountPrompt)(accounts, accountConfig);
|
|
80
|
+
targetTestingAccountId = devAccountPromptResponse.targetAccountId;
|
|
81
|
+
if (!!devAccountPromptResponse.notInConfigAccount) {
|
|
82
|
+
// When the developer test account isn't configured in the CLI config yet
|
|
83
|
+
// Walk the user through adding the account's PAK to the config
|
|
84
|
+
await (0, helpers_1.useExistingDevTestAccount)(env, devAccountPromptResponse.notInConfigAccount);
|
|
85
|
+
}
|
|
86
|
+
else if (devAccountPromptResponse.createNestedAccount) {
|
|
87
|
+
// Create a new developer test account and automatically add it to the CLI config
|
|
88
|
+
targetTestingAccountId = await (0, helpers_1.createDeveloperTestAccountForLocalDev)(targetProjectAccountId, accountConfig, env);
|
|
89
|
+
}
|
|
80
90
|
}
|
|
81
91
|
// Check if project exists in HubSpot
|
|
82
|
-
const { projectExists, project: uploadedProject } = await (0,
|
|
92
|
+
const { projectExists, project: uploadedProject } = await (0, ensureProjectExists_1.ensureProjectExists)(targetProjectAccountId, projectConfig.name, {
|
|
83
93
|
allowCreate: false,
|
|
84
94
|
noLogs: true,
|
|
85
95
|
});
|
|
@@ -92,11 +102,12 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
92
102
|
isGithubLinked = Boolean(project.sourceIntegration && project.sourceIntegration.source === 'GITHUB');
|
|
93
103
|
}
|
|
94
104
|
else {
|
|
95
|
-
project = await (0,
|
|
96
|
-
deployedBuild = await (0,
|
|
105
|
+
project = await (0, helpers_1.createNewProjectForLocalDev)(projectConfig, targetProjectAccountId, false, false);
|
|
106
|
+
deployedBuild = await (0, helpers_1.createInitialBuildForNewProject)(projectConfig, projectDir, targetProjectAccountId, true, args.profile);
|
|
97
107
|
}
|
|
98
|
-
|
|
99
|
-
|
|
108
|
+
// End setup, start local dev process
|
|
109
|
+
const localDevProcess = new LocalDevProcess_1.default({
|
|
110
|
+
initialProjectNodes: projectNodes,
|
|
100
111
|
debug: args.debug,
|
|
101
112
|
deployedBuild,
|
|
102
113
|
isGithubLinked,
|
|
@@ -107,6 +118,26 @@ async function unifiedProjectDevFlow(args, accountConfig, projectConfig, project
|
|
|
107
118
|
projectId: project.id,
|
|
108
119
|
env,
|
|
109
120
|
});
|
|
110
|
-
await
|
|
111
|
-
|
|
121
|
+
await localDevProcess.start();
|
|
122
|
+
const watcher = new LocalDevWatcher_1.default(localDevProcess);
|
|
123
|
+
watcher.start();
|
|
124
|
+
// const websocketServer = new LocalDevWebsocketServer(
|
|
125
|
+
// localDevProcess,
|
|
126
|
+
// args.debug
|
|
127
|
+
// );
|
|
128
|
+
// await websocketServer.start();
|
|
129
|
+
(0, process_1.handleKeypress)(async (key) => {
|
|
130
|
+
if ((key.ctrl && key.name === 'c') || key.name === 'q') {
|
|
131
|
+
await Promise.all([
|
|
132
|
+
localDevProcess.stop(),
|
|
133
|
+
watcher.stop(),
|
|
134
|
+
// websocketServer.shutdown(),
|
|
135
|
+
]);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
(0, process_1.handleExit)(({ isSIGHUP }) => {
|
|
139
|
+
localDevProcess.stop(!isSIGHUP);
|
|
140
|
+
watcher.stop();
|
|
141
|
+
// websocketServer.shutdown();
|
|
142
|
+
});
|
|
112
143
|
}
|
|
@@ -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;
|