@hubspot/cli 7.2.5-experimental.0 → 7.3.0-experimental.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/bin/cli.js +81 -73
  2. package/commands/account/clean.js +5 -36
  3. package/commands/account/info.js +0 -23
  4. package/commands/account/list.js +4 -22
  5. package/commands/account/remove.js +0 -28
  6. package/commands/account/use.js +0 -13
  7. package/commands/account.js +0 -6
  8. package/commands/auth.js +2 -6
  9. package/commands/config/set.d.ts +0 -12
  10. package/commands/config/set.js +29 -30
  11. package/commands/config.d.ts +1 -4
  12. package/commands/config.js +10 -45
  13. package/commands/customObject.d.ts +1 -1
  14. package/commands/init.js +10 -9
  15. package/commands/mv.d.ts +1 -1
  16. package/commands/project/add.d.ts +10 -0
  17. package/commands/project/add.js +64 -52
  18. package/commands/project/deploy.d.ts +11 -1
  19. package/commands/project/deploy.js +79 -71
  20. package/commands/project/dev/index.d.ts +1 -1
  21. package/commands/project/download.d.ts +11 -0
  22. package/commands/project/download.js +56 -54
  23. package/commands/project/listBuilds.d.ts +10 -0
  24. package/commands/project/listBuilds.js +101 -91
  25. package/commands/project/open.d.ts +9 -0
  26. package/commands/project/open.js +43 -35
  27. package/commands/sandbox/create.d.ts +1 -1
  28. package/commands/sandbox/delete.d.ts +1 -1
  29. package/commands/sandbox.d.ts +1 -1
  30. package/lang/en.js +3448 -0
  31. package/lang/en.lyaml +13 -88
  32. package/lib/dependencyManagement.d.ts +0 -5
  33. package/lib/dependencyManagement.js +13 -39
  34. package/lib/doctor/Diagnosis.d.ts +2 -1
  35. package/lib/doctor/Diagnosis.js +6 -10
  36. package/lib/doctor/DiagnosticInfoBuilder.d.ts +0 -1
  37. package/lib/doctor/DiagnosticInfoBuilder.js +0 -1
  38. package/lib/doctor/Doctor.d.ts +0 -1
  39. package/lib/doctor/Doctor.js +2 -19
  40. package/lib/errorHandlers/index.js +17 -0
  41. package/lib/npm.d.ts +9 -0
  42. package/lib/npm.js +36 -0
  43. package/lib/projects/buildAndDeploy.d.ts +1 -1
  44. package/lib/projects/buildAndDeploy.js +1 -1
  45. package/lib/projects/index.d.ts +1 -1
  46. package/lib/projects/index.js +1 -1
  47. package/lib/prompts/downloadProjectPrompt.js +5 -1
  48. package/lib/prompts/projectNamePrompt.d.ts +6 -1
  49. package/lib/prompts/projectNamePrompt.js +17 -16
  50. package/lib/testUtils.d.ts +4 -2
  51. package/lib/testUtils.js +17 -3
  52. package/lib/ui/index.d.ts +2 -2
  53. package/lib/ui/index.js +0 -5
  54. package/lib/yargsUtils.d.ts +2 -2
  55. package/lib/yargsUtils.js +2 -2
  56. package/package.json +2 -2
  57. package/commands/account/auth.d.ts +0 -10
  58. package/commands/account/auth.js +0 -169
  59. package/commands/account/createOverride.d.ts +0 -10
  60. package/commands/account/createOverride.js +0 -103
  61. package/commands/account/removeOverride.d.ts +0 -10
  62. package/commands/account/removeOverride.js +0 -77
  63. package/commands/config/migrate.d.ts +0 -10
  64. package/commands/config/migrate.js +0 -85
  65. package/lib/configMigrate.d.ts +0 -2
  66. package/lib/configMigrate.js +0 -105
@@ -1,50 +1,15 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.describe = exports.command = void 0;
37
- exports.builder = builder;
38
- const commonOpts_1 = require("../lib/commonOpts");
39
- const lang_1 = require("../lib/lang");
40
- const set = __importStar(require("./config/set"));
41
- const migrate = __importStar(require("./config/migrate"));
3
+ // @ts-nocheck
4
+ const { addConfigOptions, addGlobalOptions } = require('../lib/commonOpts');
5
+ const { i18n } = require('../lib/lang');
6
+ const set = require('./config/set');
42
7
  const i18nKey = 'commands.config';
43
8
  exports.command = 'config';
44
- exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
45
- function builder(yargs) {
46
- (0, commonOpts_1.addConfigOptions)(yargs);
47
- (0, commonOpts_1.addGlobalOptions)(yargs);
48
- yargs.command(set).command(migrate).demandCommand(1, '');
9
+ exports.describe = i18n(`${i18nKey}.describe`);
10
+ exports.builder = yargs => {
11
+ addConfigOptions(yargs);
12
+ addGlobalOptions(yargs);
13
+ yargs.command(set).demandCommand(1, '');
49
14
  return yargs;
50
- }
15
+ };
@@ -1,4 +1,4 @@
1
1
  import { Argv } from 'yargs';
2
2
  export declare const command: string[];
3
- export declare const describe: string | undefined;
3
+ export declare const describe: string;
4
4
  export declare function builder(yargs: Argv): Argv;
package/commands/init.js CHANGED
@@ -78,13 +78,6 @@ async function handler(args) {
78
78
  });
79
79
  }
80
80
  const env = args.qa ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD;
81
- if ((0, config_1.configFileExists)(true)) {
82
- const globalConfigPath = (0, config_1.getConfigPath)('', true);
83
- logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.globalConfigFileExists`, {
84
- configPath: globalConfigPath,
85
- }));
86
- process.exit(exitCodes_1.EXIT_CODES.ERROR);
87
- }
88
81
  if (fs_extra_1.default.existsSync(configPath)) {
89
82
  logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.configFileExists`, {
90
83
  configPath: configPath,
@@ -121,16 +114,19 @@ async function handler(args) {
121
114
  accountId = oauthResult.accountId;
122
115
  name = oauthResult.name;
123
116
  }
124
- const configPath = (0, config_1.getConfigPath)();
125
117
  try {
126
118
  (0, gitignore_1.checkAndAddConfigToGitignore)(configPath);
127
119
  }
128
120
  catch (e) {
129
121
  (0, index_1.debugError)(e);
130
122
  }
123
+ let newConfigPath = configPath;
124
+ if (!newConfigPath && !useHiddenConfig) {
125
+ newConfigPath = `${(0, path_2.getCwd)()}/${config_2.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME}`;
126
+ }
131
127
  logger_1.logger.log('');
132
128
  logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success.configFileCreated`, {
133
- configPath: configPath,
129
+ configPath: newConfigPath,
134
130
  }));
135
131
  logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success.configFileUpdated`, {
136
132
  authType: AUTH_TYPE_NAMES[authType],
@@ -171,6 +167,11 @@ function initBuilder(yargs) {
171
167
  hidden: true,
172
168
  default: false,
173
169
  },
170
+ 'use-hidden-config': {
171
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.useHiddenConfig.describe`),
172
+ hidden: true,
173
+ type: 'boolean',
174
+ },
174
175
  });
175
176
  yargs.conflicts('use-hidden-config', 'config');
176
177
  return yargs;
package/commands/mv.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Argv, ArgumentsCamelCase } from 'yargs';
2
2
  import { CommonArgs, ConfigArgs, EnvironmentArgs } from '../types/Yargs';
3
3
  export declare const command = "mv <srcPath> <destPath>";
4
- export declare const describe: string | undefined;
4
+ export declare const describe: string;
5
5
  type MvArgs = CommonArgs & ConfigArgs & EnvironmentArgs & {
6
6
  srcPath: string;
7
7
  destPath: string;
@@ -1 +1,11 @@
1
+ import { Argv, ArgumentsCamelCase } from 'yargs';
2
+ import { CommonArgs } from '../../types/Yargs';
3
+ export declare const command = "add";
4
+ export declare const describe: string;
5
+ type ProjectAddArgs = CommonArgs & {
6
+ type: string;
7
+ name: string;
8
+ };
9
+ export declare function handler(args: ArgumentsCamelCase<ProjectAddArgs>): Promise<void>;
10
+ export declare const builder: (yargs: Argv) => Promise<Argv<ProjectAddArgs>>;
1
11
  export {};
@@ -1,106 +1,118 @@
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
- // @ts-nocheck
4
- const path = require('path');
5
- const { logger } = require('@hubspot/local-dev-lib/logger');
6
- const { cloneGithubRepo, fetchReleaseData, } = require('@hubspot/local-dev-lib/github');
7
- const { debugError } = require('../../lib/errorHandlers');
8
- const { trackCommandUsage } = require('../../lib/usageTracking');
9
- const { i18n } = require('../../lib/lang');
10
- const { projectAddPrompt } = require('../../lib/prompts/projectAddPrompt');
11
- const { getProjectConfig } = require('../../lib/projects');
12
- const { getProjectComponentListFromRepo, } = require('../../lib/projects/create');
13
- const { findProjectComponents } = require('../../lib/projects/structure');
14
- const { ComponentTypes } = require('../../types/Projects');
15
- const { uiBetaTag } = require('../../lib/ui');
16
- const { HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH, } = require('../../lib/constants');
17
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
6
+ exports.builder = exports.describe = exports.command = void 0;
7
+ exports.handler = handler;
8
+ const path_1 = __importDefault(require("path"));
9
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
10
+ const github_1 = require("@hubspot/local-dev-lib/github");
11
+ const errorHandlers_1 = require("../../lib/errorHandlers");
12
+ const usageTracking_1 = require("../../lib/usageTracking");
13
+ const lang_1 = require("../../lib/lang");
14
+ const projectAddPrompt_1 = require("../../lib/prompts/projectAddPrompt");
15
+ const projects_1 = require("../../lib/projects");
16
+ const create_1 = require("../../lib/projects/create");
17
+ const structure_1 = require("../../lib/projects/structure");
18
+ const Projects_1 = require("../../types/Projects");
19
+ const ui_1 = require("../../lib/ui");
20
+ const constants_1 = require("../../lib/constants");
21
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
22
+ const yargsUtils_1 = require("../../lib/yargsUtils");
18
23
  const i18nKey = 'commands.project.subcommands.add';
19
24
  exports.command = 'add';
20
- exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
21
- exports.handler = async (options) => {
22
- const { derivedAccountId } = options;
23
- trackCommandUsage('project-add', null, derivedAccountId);
24
- const { projectConfig, projectDir } = await getProjectConfig();
25
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
26
+ async function handler(args) {
27
+ const { derivedAccountId } = args;
28
+ (0, usageTracking_1.trackCommandUsage)('project-add', undefined, derivedAccountId);
29
+ const { projectConfig, projectDir } = await (0, projects_1.getProjectConfig)();
25
30
  if (!projectDir || !projectConfig) {
26
- logger.error(i18n(`${i18nKey}.error.locationInProject`));
27
- process.exit(EXIT_CODES.ERROR);
31
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.error.locationInProject`));
32
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
28
33
  }
29
34
  // We currently only support adding private apps to projects
30
35
  let projectContainsPublicApp = false;
31
36
  try {
32
- const components = await findProjectComponents(projectDir);
33
- projectContainsPublicApp = components.some(c => c.type === ComponentTypes.PublicApp);
37
+ const components = await (0, structure_1.findProjectComponents)(projectDir);
38
+ projectContainsPublicApp = components.some(c => c.type === Projects_1.ComponentTypes.PublicApp);
34
39
  }
35
40
  catch (err) {
36
- debugError(err);
41
+ (0, errorHandlers_1.debugError)(err);
37
42
  }
38
43
  if (projectContainsPublicApp) {
39
- logger.error(i18n(`${i18nKey}.error.projectContainsPublicApp`));
40
- process.exit(EXIT_CODES.ERROR);
44
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.error.projectContainsPublicApp`));
45
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
41
46
  }
42
- logger.log('');
43
- logger.log(i18n(`${i18nKey}.creatingComponent`, {
47
+ logger_1.logger.log('');
48
+ logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.creatingComponent`, {
44
49
  projectName: projectConfig.name,
45
50
  }));
46
- logger.log('');
51
+ logger_1.logger.log('');
47
52
  let latestRepoReleaseTag;
48
53
  try {
49
54
  // We want the tag_name from the latest release of the components repo
50
- const repoReleaseData = await fetchReleaseData(HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH);
55
+ const repoReleaseData = await (0, github_1.fetchReleaseData)(constants_1.HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH);
51
56
  if (repoReleaseData) {
52
57
  latestRepoReleaseTag = repoReleaseData.tag_name;
53
58
  }
54
59
  }
55
60
  catch (err) {
56
- debugError(err);
61
+ (0, errorHandlers_1.debugError)(err);
57
62
  }
58
63
  if (!latestRepoReleaseTag) {
59
- logger.error(i18n(`${i18nKey}.error.failedToFetchComponentList`));
60
- process.exit(EXIT_CODES.ERROR);
64
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.error.failedToFetchComponentList`));
65
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
61
66
  }
62
- const components = await getProjectComponentListFromRepo(latestRepoReleaseTag);
67
+ const components = await (0, create_1.getProjectComponentListFromRepo)(latestRepoReleaseTag);
63
68
  if (!components.length) {
64
- logger.error(i18n(`${i18nKey}.error.failedToFetchComponentList`));
65
- process.exit(EXIT_CODES.ERROR);
69
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.error.failedToFetchComponentList`));
70
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
66
71
  }
67
- const projectAddPromptResponse = await projectAddPrompt(components, options);
72
+ const projectAddPromptResponse = await (0, projectAddPrompt_1.projectAddPrompt)(components, args);
68
73
  try {
69
- const componentPath = path.join(projectDir, projectConfig.srcDir, projectAddPromptResponse.componentTemplate.insertPath, projectAddPromptResponse.name);
70
- await cloneGithubRepo(HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH, componentPath, {
74
+ const componentPath = path_1.default.join(projectDir, projectConfig.srcDir, projectAddPromptResponse.componentTemplate.insertPath, projectAddPromptResponse.name);
75
+ await (0, github_1.cloneGithubRepo)(constants_1.HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH, componentPath, {
71
76
  sourceDir: projectAddPromptResponse.componentTemplate.path,
72
77
  tag: latestRepoReleaseTag,
73
78
  hideLogs: true,
74
79
  });
75
- logger.log('');
76
- logger.success(i18n(`${i18nKey}.success`, {
80
+ logger_1.logger.log('');
81
+ logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success`, {
77
82
  componentName: projectAddPromptResponse.name,
78
83
  }));
79
84
  }
80
85
  catch (error) {
81
- debugError(error);
82
- logger.error(i18n(`${i18nKey}.error.failedToDownloadComponent`));
83
- process.exit(EXIT_CODES.ERROR);
86
+ (0, errorHandlers_1.debugError)(error);
87
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.error.failedToDownloadComponent`));
88
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
84
89
  }
85
- process.exit(EXIT_CODES.SUCCESS);
86
- };
87
- exports.builder = yargs => {
90
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
91
+ }
92
+ function projectAddBuilder(yargs) {
88
93
  yargs.options({
89
94
  type: {
90
- describe: i18n(`${i18nKey}.options.type.describe`),
95
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.type.describe`),
91
96
  type: 'string',
92
97
  },
93
98
  name: {
94
- describe: i18n(`${i18nKey}.options.name.describe`),
99
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.name.describe`),
95
100
  type: 'string',
96
101
  },
97
102
  });
98
- yargs.example([['$0 project add', i18n(`${i18nKey}.examples.default`)]]);
103
+ yargs.example([['$0 project add', (0, lang_1.i18n)(`${i18nKey}.examples.default`)]]);
99
104
  yargs.example([
100
105
  [
101
106
  '$0 project add --name="my-component" --type="components/example-app"',
102
- i18n(`${i18nKey}.examples.withFlags`),
107
+ (0, lang_1.i18n)(`${i18nKey}.examples.withFlags`),
103
108
  ],
104
109
  ]);
105
110
  return yargs;
111
+ }
112
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectAddBuilder, exports.command, exports.describe);
113
+ module.exports = {
114
+ command: exports.command,
115
+ describe: exports.describe,
116
+ builder: exports.builder,
117
+ handler,
106
118
  };
@@ -1 +1,11 @@
1
- export {};
1
+ import { Argv, ArgumentsCamelCase } from 'yargs';
2
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs } from '../../types/Yargs';
3
+ export declare const command = "deploy";
4
+ export declare const describe: string;
5
+ export type ProjectDeployArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
6
+ project?: string;
7
+ build?: number;
8
+ buildId?: number;
9
+ };
10
+ export declare function handler(args: ArgumentsCamelCase<ProjectDeployArgs>): Promise<void>;
11
+ export declare const builder: (yargs: Argv) => Promise<Argv<ProjectDeployArgs>>;
@@ -1,78 +1,80 @@
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
- // @ts-nocheck
4
- const { useV3Api } = require('../../lib/projects/buildAndDeploy');
5
- const chalk = require('chalk');
6
- const { addAccountOptions, addConfigOptions, addUseEnvironmentOptions, } = require('../../lib/commonOpts');
7
- const { trackCommandUsage } = require('../../lib/usageTracking');
8
- const { logError, ApiErrorContext } = require('../../lib/errorHandlers/index');
9
- const { logger } = require('@hubspot/local-dev-lib/logger');
10
- const { deployProject, fetchProject, } = require('@hubspot/local-dev-lib/api/projects');
11
- const { getProjectConfig } = require('../../lib/projects');
12
- const { pollDeployStatus } = require('../../lib/projects/buildAndDeploy');
13
- const { getProjectDetailUrl } = require('../../lib/projects/urls');
14
- const { projectNamePrompt } = require('../../lib/prompts/projectNamePrompt');
15
- const { promptUser } = require('../../lib/prompts/promptUtils');
16
- const { i18n } = require('../../lib/lang');
17
- const { uiBetaTag, uiLink } = require('../../lib/ui');
18
- const { getAccountConfig } = require('@hubspot/local-dev-lib/config');
19
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
20
- const { uiCommandReference, uiAccountDescription } = require('../../lib/ui');
21
- const { isHubSpotHttpError } = require('@hubspot/local-dev-lib/errors/index');
6
+ exports.builder = exports.describe = exports.command = void 0;
7
+ exports.handler = handler;
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const projects_1 = require("@hubspot/local-dev-lib/api/projects");
10
+ const config_1 = require("@hubspot/local-dev-lib/config");
11
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
12
+ const index_1 = require("@hubspot/local-dev-lib/errors/index");
13
+ const buildAndDeploy_1 = require("../../lib/projects/buildAndDeploy");
14
+ const usageTracking_1 = require("../../lib/usageTracking");
15
+ const index_2 = require("../../lib/errorHandlers/index");
16
+ const projects_2 = require("../../lib/projects");
17
+ const buildAndDeploy_2 = require("../../lib/projects/buildAndDeploy");
18
+ const urls_1 = require("../../lib/projects/urls");
19
+ const projectNamePrompt_1 = require("../../lib/prompts/projectNamePrompt");
20
+ const promptUtils_1 = require("../../lib/prompts/promptUtils");
21
+ const lang_1 = require("../../lib/lang");
22
+ const ui_1 = require("../../lib/ui");
23
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
24
+ const ui_2 = require("../../lib/ui");
25
+ const yargsUtils_1 = require("../../lib/yargsUtils");
22
26
  const i18nKey = 'commands.project.subcommands.deploy';
23
27
  exports.command = 'deploy';
24
- exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
25
- const validateBuildId = (buildId, deployedBuildId, latestBuildId, projectName, accountId) => {
28
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
29
+ function validateBuildId(buildId, deployedBuildId, latestBuildId, projectName, accountId) {
26
30
  if (Number(buildId) > latestBuildId) {
27
- return i18n(`${i18nKey}.errors.buildIdDoesNotExist`, {
31
+ return (0, lang_1.i18n)(`${i18nKey}.errors.buildIdDoesNotExist`, {
28
32
  buildId: buildId,
29
- projectName,
30
- linkToProject: uiLink(i18n(`${i18nKey}.errors.viewProjectsBuilds`), getProjectDetailUrl(projectName, accountId)),
33
+ projectName: projectName,
34
+ linkToProject: (0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.errors.viewProjectsBuilds`), (0, urls_1.getProjectDetailUrl)(projectName, accountId)),
31
35
  });
32
36
  }
33
37
  if (Number(buildId) === deployedBuildId) {
34
- return i18n(`${i18nKey}.errors.buildAlreadyDeployed`, {
38
+ return (0, lang_1.i18n)(`${i18nKey}.errors.buildAlreadyDeployed`, {
35
39
  buildId: buildId,
36
- linkToProject: uiLink(i18n(`${i18nKey}.errors.viewProjectsBuilds`), getProjectDetailUrl(projectName, accountId)),
40
+ linkToProject: (0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.errors.viewProjectsBuilds`), (0, urls_1.getProjectDetailUrl)(projectName, accountId)),
37
41
  });
38
42
  }
39
43
  return true;
40
- };
41
- exports.handler = async (options) => {
42
- const { derivedAccountId } = options;
43
- const accountConfig = getAccountConfig(derivedAccountId);
44
- const { project: projectOption, buildId: buildIdOption } = options;
44
+ }
45
+ async function handler(args) {
46
+ const { derivedAccountId } = args;
47
+ const accountConfig = (0, config_1.getAccountConfig)(derivedAccountId);
48
+ const { project: projectOption, buildId: buildIdOption } = args;
45
49
  const accountType = accountConfig && accountConfig.accountType;
46
- trackCommandUsage('project-deploy', { type: accountType }, derivedAccountId);
47
- const { projectConfig } = await getProjectConfig();
50
+ (0, usageTracking_1.trackCommandUsage)('project-deploy', accountType ? { type: accountType } : undefined, derivedAccountId);
51
+ const { projectConfig } = await (0, projects_2.getProjectConfig)();
48
52
  let projectName = projectOption;
49
53
  if (!projectOption && projectConfig) {
50
54
  projectName = projectConfig.name;
51
55
  }
52
- const namePromptResponse = await projectNamePrompt(derivedAccountId, {
56
+ const namePromptResponse = await (0, projectNamePrompt_1.projectNamePrompt)(derivedAccountId, {
53
57
  project: projectName,
54
58
  });
55
- if (!projectName && namePromptResponse.projectName) {
56
- projectName = namePromptResponse.projectName;
57
- }
59
+ projectName = namePromptResponse.projectName;
58
60
  let buildIdToDeploy = buildIdOption;
59
61
  try {
60
- const { data: { latestBuild, deployedBuildId }, } = await fetchProject(derivedAccountId, projectName);
62
+ const { data: { latestBuild, deployedBuildId }, } = await (0, projects_1.fetchProject)(derivedAccountId, projectName);
61
63
  if (!latestBuild || !latestBuild.buildId) {
62
- logger.error(i18n(`${i18nKey}.errors.noBuilds`));
63
- return process.exit(EXIT_CODES.ERROR);
64
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noBuilds`));
65
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
64
66
  }
65
67
  if (buildIdToDeploy) {
66
68
  const validationResult = validateBuildId(buildIdToDeploy, deployedBuildId, latestBuild.buildId, projectName, derivedAccountId);
67
69
  if (validationResult !== true) {
68
- logger.error(validationResult);
69
- return process.exit(EXIT_CODES.ERROR);
70
+ logger_1.logger.error(validationResult);
71
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
70
72
  }
71
73
  }
72
74
  else {
73
- const deployBuildIdPromptResponse = await promptUser({
75
+ const deployBuildIdPromptResponse = await (0, promptUtils_1.promptUser)({
74
76
  name: 'buildId',
75
- message: i18n(`${i18nKey}.deployBuildIdPrompt`),
77
+ message: (0, lang_1.i18n)(`${i18nKey}.deployBuildIdPrompt`),
76
78
  default: latestBuild.buildId === deployedBuildId
77
79
  ? undefined
78
80
  : latestBuild.buildId,
@@ -81,59 +83,65 @@ exports.handler = async (options) => {
81
83
  buildIdToDeploy = deployBuildIdPromptResponse.buildId;
82
84
  }
83
85
  if (!buildIdToDeploy) {
84
- logger.error(i18n(`${i18nKey}.errors.noBuildId`));
85
- return process.exit(EXIT_CODES.ERROR);
86
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.noBuildId`));
87
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
86
88
  }
87
- const { data: deployResp } = await deployProject(derivedAccountId, projectName, buildIdToDeploy, useV3Api(projectConfig?.platformVersion));
88
- if (!deployResp || deployResp.error) {
89
- logger.error(i18n(`${i18nKey}.errors.deploy`, {
90
- details: deployResp.error.message,
91
- }));
92
- return process.exit(EXIT_CODES.ERROR);
89
+ const { data: deployResp } = await (0, projects_1.deployProject)(derivedAccountId, projectName, buildIdToDeploy, (0, buildAndDeploy_1.useV3Api)(projectConfig?.platformVersion));
90
+ if (!deployResp) {
91
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.deploy`));
92
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
93
93
  }
94
- await pollDeployStatus(derivedAccountId, projectName, deployResp.id, buildIdToDeploy);
94
+ await (0, buildAndDeploy_2.pollDeployStatus)(derivedAccountId, projectName, Number(deployResp.id), buildIdToDeploy);
95
95
  }
96
96
  catch (e) {
97
- if (isHubSpotHttpError(e) && e.status === 404) {
98
- logger.error(i18n(`${i18nKey}.errors.projectNotFound`, {
99
- projectName: chalk.bold(projectName),
100
- accountIdentifier: uiAccountDescription(derivedAccountId),
101
- command: uiCommandReference('hs project upload'),
97
+ if ((0, index_1.isHubSpotHttpError)(e) && e.status === 404) {
98
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.projectNotFound`, {
99
+ projectName: chalk_1.default.bold(projectName),
100
+ accountIdentifier: (0, ui_2.uiAccountDescription)(derivedAccountId),
101
+ command: (0, ui_2.uiCommandReference)('hs project upload'),
102
102
  }));
103
103
  }
104
- else if (isHubSpotHttpError(e) && e.status === 400) {
105
- logger.error(e.message);
104
+ else if ((0, index_1.isHubSpotHttpError)(e) && e.status === 400) {
105
+ logger_1.logger.error(e.message);
106
106
  }
107
107
  else {
108
- logError(e, new ApiErrorContext({
108
+ (0, index_2.logError)(e, new index_2.ApiErrorContext({
109
109
  accountId: derivedAccountId,
110
110
  request: 'project deploy',
111
111
  }));
112
112
  }
113
- return process.exit(EXIT_CODES.ERROR);
113
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
114
114
  }
115
- };
116
- exports.builder = yargs => {
115
+ }
116
+ function projectDeployBuilder(yargs) {
117
117
  yargs.options({
118
118
  project: {
119
- describe: i18n(`${i18nKey}.options.project.describe`),
119
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.project.describe`),
120
120
  type: 'string',
121
121
  },
122
122
  build: {
123
123
  alias: ['build-id'],
124
- describe: i18n(`${i18nKey}.options.build.describe`),
124
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.build.describe`),
125
125
  type: 'number',
126
126
  },
127
127
  });
128
128
  yargs.example([
129
- ['$0 project deploy', i18n(`${i18nKey}.examples.default`)],
129
+ ['$0 project deploy', (0, lang_1.i18n)(`${i18nKey}.examples.default`)],
130
130
  [
131
131
  '$0 project deploy --project="my-project" --build=5',
132
- i18n(`${i18nKey}.examples.withOptions`),
132
+ (0, lang_1.i18n)(`${i18nKey}.examples.withOptions`),
133
133
  ],
134
134
  ]);
135
- addConfigOptions(yargs);
136
- addAccountOptions(yargs);
137
- addUseEnvironmentOptions(yargs);
138
135
  return yargs;
136
+ }
137
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectDeployBuilder, exports.command, exports.describe, {
138
+ useConfigOptions: true,
139
+ useAccountOptions: true,
140
+ useEnvironmentOptions: true,
141
+ });
142
+ module.exports = {
143
+ command: exports.command,
144
+ describe: exports.describe,
145
+ builder: exports.builder,
146
+ handler,
139
147
  };
@@ -1,6 +1,6 @@
1
1
  import { ArgumentsCamelCase, Argv } from 'yargs';
2
2
  import { ProjectDevArgs } from '../../../types/Yargs';
3
3
  export declare const command = "dev";
4
- export declare const describe: string | undefined;
4
+ export declare const describe: string;
5
5
  export declare function handler(args: ArgumentsCamelCase<ProjectDevArgs>): Promise<void>;
6
6
  export declare function builder(yargs: Argv): Argv<ProjectDevArgs>;
@@ -1 +1,12 @@
1
+ import { Argv, ArgumentsCamelCase } from 'yargs';
2
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs } from '../../types/Yargs';
3
+ export declare const command = "download";
4
+ export declare const describe: string;
5
+ type ProjectDownloadArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
6
+ project?: string;
7
+ dest?: string;
8
+ build?: number;
9
+ };
10
+ export declare function handler(args: ArgumentsCamelCase<ProjectDownloadArgs>): Promise<void>;
11
+ export declare const builder: (yargs: Argv) => Promise<Argv<ProjectDownloadArgs>>;
1
12
  export {};