@hubspot/cli 7.4.2-experimental.0 → 7.4.2

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 (95) hide show
  1. package/api/migrate.d.ts +62 -0
  2. package/api/migrate.js +61 -0
  3. package/bin/cli.js +8 -183
  4. package/commands/account/auth.d.ts +10 -0
  5. package/commands/account/auth.js +168 -0
  6. package/commands/account/clean.js +38 -5
  7. package/commands/account/createOverride.d.ts +10 -0
  8. package/commands/account/createOverride.js +104 -0
  9. package/commands/account/info.js +38 -4
  10. package/commands/account/list.js +23 -5
  11. package/commands/account/remove.js +36 -2
  12. package/commands/account/removeOverride.d.ts +10 -0
  13. package/commands/account/removeOverride.js +76 -0
  14. package/commands/account/use.js +25 -3
  15. package/commands/account.js +7 -2
  16. package/commands/app/migrate.d.ts +4 -4
  17. package/commands/app/migrate.js +10 -4
  18. package/commands/auth.js +6 -2
  19. package/commands/cms/lighthouseScore.js +6 -2
  20. package/commands/config/migrate.d.ts +10 -0
  21. package/commands/config/migrate.js +84 -0
  22. package/commands/config/set.d.ts +10 -0
  23. package/commands/config/set.js +34 -29
  24. package/commands/config.d.ts +4 -1
  25. package/commands/config.js +45 -11
  26. package/commands/create/api-sample.js +3 -1
  27. package/commands/customObject/schema/delete.js +4 -1
  28. package/commands/customObject/schema/fetch-all.js +2 -1
  29. package/commands/customObject/schema/fetch.js +2 -1
  30. package/commands/init.js +9 -10
  31. package/commands/project/cloneApp.d.ts +5 -1
  32. package/commands/project/cloneApp.js +1 -1
  33. package/commands/project/dev/index.js +1 -1
  34. package/commands/project/installDeps.d.ts +9 -1
  35. package/commands/project/installDeps.js +43 -30
  36. package/commands/project/logs.d.ts +13 -1
  37. package/commands/project/logs.js +69 -62
  38. package/commands/project/migrate.d.ts +11 -0
  39. package/commands/project/migrate.js +54 -0
  40. package/commands/project/migrateApp.d.ts +4 -4
  41. package/commands/project/upload.d.ts +12 -0
  42. package/commands/project/upload.js +62 -49
  43. package/commands/project/watch.js +12 -0
  44. package/commands/project.js +2 -0
  45. package/lang/en.d.ts +2840 -0
  46. package/lang/en.js +2647 -3301
  47. package/lang/en.lyaml +100 -40
  48. package/lib/app/migrate.d.ts +10 -6
  49. package/lib/app/migrate.js +157 -232
  50. package/lib/app/migrate_legacy.d.ts +4 -0
  51. package/lib/app/migrate_legacy.js +131 -0
  52. package/lib/configMigrate.d.ts +2 -0
  53. package/lib/configMigrate.js +104 -0
  54. package/lib/doctor/Diagnosis.d.ts +1 -2
  55. package/lib/doctor/Diagnosis.js +10 -6
  56. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -0
  57. package/lib/doctor/DiagnosticInfoBuilder.js +1 -0
  58. package/lib/doctor/Doctor.d.ts +1 -0
  59. package/lib/doctor/Doctor.js +18 -0
  60. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  61. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  62. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  63. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  64. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  65. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  66. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  67. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  68. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  69. package/lib/middleware/__test__/utils.test.js +53 -0
  70. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  71. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  72. package/lib/middleware/configMiddleware.d.ts +13 -0
  73. package/lib/middleware/configMiddleware.js +116 -0
  74. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  75. package/lib/middleware/fireAlarmMiddleware.js +137 -0
  76. package/lib/middleware/gitMiddleware.d.ts +2 -0
  77. package/lib/middleware/gitMiddleware.js +14 -0
  78. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  79. package/lib/middleware/notificationsMiddleware.js +38 -0
  80. package/lib/middleware/requestMiddleware.d.ts +1 -0
  81. package/lib/middleware/requestMiddleware.js +11 -0
  82. package/lib/middleware/utils.d.ts +8 -0
  83. package/lib/middleware/utils.js +17 -0
  84. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  85. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  86. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  87. package/lib/projects/ProjectLogsManager.js +1 -1
  88. package/lib/projects/index.d.ts +4 -3
  89. package/lib/projects/upload.d.ts +1 -1
  90. package/lib/ui/SpinniesManager.d.ts +1 -1
  91. package/lib/ui/index.d.ts +1 -0
  92. package/lib/ui/index.js +5 -0
  93. package/lib/ui/spinniesUtils.d.ts +5 -5
  94. package/package.json +7 -6
  95. package/types/Yargs.d.ts +0 -10
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { i18n } = require('../../lib/lang');
5
- const { trackCommandUsage } = require('../../lib/usageTracking');
6
- const { promptUser } = require('../../lib/prompts/promptUtils');
7
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
8
- const { setDefaultCmsPublishMode, setHttpTimeout, setAllowUsageTracking, } = require('../../lib/configOptions');
3
+ exports.handler = handler;
4
+ exports.builder = builder;
5
+ const lang_1 = require("../../lib/lang");
6
+ const usageTracking_1 = require("../../lib/usageTracking");
7
+ const promptUtils_1 = require("../../lib/prompts/promptUtils");
8
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
9
+ const configOptions_1 = require("../../lib/configOptions");
9
10
  exports.command = 'set';
10
- exports.describe = i18n(`commands.config.subcommands.set.describe`);
11
- const selectOptions = async () => {
12
- const { cmsPublishMode } = await promptUser([
11
+ exports.describe = (0, lang_1.i18n)(`commands.config.subcommands.set.describe`);
12
+ async function selectOptions() {
13
+ const { cmsPublishMode } = await (0, promptUtils_1.promptUser)([
13
14
  {
14
15
  type: 'list',
15
- look: false,
16
16
  name: 'cmsPublishMode',
17
17
  pageSize: 20,
18
- message: i18n(`commands.config.subcommands.set.promptMessage`),
18
+ message: (0, lang_1.i18n)(`commands.config.subcommands.set.promptMessage`),
19
19
  choices: [
20
20
  {
21
21
  name: 'Default CMS publish mode',
@@ -27,52 +27,57 @@ const selectOptions = async () => {
27
27
  },
28
28
  ]);
29
29
  return cmsPublishMode;
30
- };
31
- const handleConfigUpdate = async (accountId, options) => {
30
+ }
31
+ async function handleConfigUpdate(accountId, options) {
32
32
  const { allowUsageTracking, defaultCmsPublishMode, httpTimeout } = options;
33
33
  if (typeof defaultCmsPublishMode !== 'undefined') {
34
- await setDefaultCmsPublishMode({ defaultCmsPublishMode, accountId });
34
+ await (0, configOptions_1.setDefaultCmsPublishMode)({ defaultCmsPublishMode, accountId });
35
35
  return true;
36
36
  }
37
37
  else if (typeof httpTimeout !== 'undefined') {
38
- await setHttpTimeout({ httpTimeout, accountId });
38
+ await (0, configOptions_1.setHttpTimeout)({ httpTimeout, accountId });
39
39
  return true;
40
40
  }
41
41
  else if (typeof allowUsageTracking !== 'undefined') {
42
- await setAllowUsageTracking({ allowUsageTracking, accountId });
42
+ await (0, configOptions_1.setAllowUsageTracking)({ allowUsageTracking, accountId });
43
43
  return true;
44
44
  }
45
45
  return false;
46
- };
47
- exports.handler = async (options) => {
48
- const { derivedAccountId } = options;
49
- trackCommandUsage('config-set', null, derivedAccountId);
50
- const configUpdated = await handleConfigUpdate(derivedAccountId, options);
46
+ }
47
+ async function handler(args) {
48
+ const { derivedAccountId } = args;
49
+ (0, usageTracking_1.trackCommandUsage)('config-set', {}, derivedAccountId);
50
+ const configUpdated = await handleConfigUpdate(derivedAccountId, args);
51
51
  if (!configUpdated) {
52
52
  const selectedOptions = await selectOptions();
53
53
  await handleConfigUpdate(derivedAccountId, selectedOptions);
54
54
  }
55
- process.exit(EXIT_CODES.SUCCESS);
56
- };
57
- exports.builder = yargs => {
55
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
56
+ }
57
+ function builder(yargs) {
58
58
  yargs
59
59
  .options({
60
60
  'default-cms-publish-mode': {
61
- describe: i18n(`commands.config.subcommands.set.options.defaultMode.describe`),
61
+ describe: (0, lang_1.i18n)(`commands.config.subcommands.set.options.defaultMode.describe`),
62
62
  type: 'string',
63
63
  },
64
64
  'allow-usage-tracking': {
65
- describe: i18n(`commands.config.subcommands.set.options.allowUsageTracking.describe`),
65
+ describe: (0, lang_1.i18n)(`commands.config.subcommands.set.options.allowUsageTracking.describe`),
66
66
  type: 'boolean',
67
67
  },
68
68
  'http-timeout': {
69
- describe: i18n(`commands.config.subcommands.set.options.httpTimeout.describe`),
69
+ describe: (0, lang_1.i18n)(`commands.config.subcommands.set.options.httpTimeout.describe`),
70
70
  type: 'string',
71
71
  },
72
72
  })
73
73
  .conflicts('defaultCmsPublishMode', 'allowUsageTracking')
74
74
  .conflicts('defaultCmsPublishMode', 'httpTimeout')
75
75
  .conflicts('allowUsageTracking', 'httpTimeout')
76
- .example([['$0 config set', i18n(`commands.config.subcommands.set.examples.default`)]]);
76
+ .example([
77
+ [
78
+ '$0 config set',
79
+ (0, lang_1.i18n)(`commands.config.subcommands.set.examples.default`),
80
+ ],
81
+ ]);
77
82
  return yargs;
78
- };
83
+ }
@@ -1 +1,4 @@
1
- export {};
1
+ import { Argv } from 'yargs';
2
+ export declare const command = "config";
3
+ export declare const describe: string;
4
+ export declare function builder(yargs: Argv): Argv;
@@ -1,15 +1,49 @@
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { addConfigOptions, addGlobalOptions } = require('../lib/commonOpts');
5
- const { i18n } = require('../lib/lang');
6
- const set = require('./config/set');
7
- const i18nKey = 'commands.config';
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"));
8
42
  exports.command = 'config';
9
- exports.describe = i18n(`${i18nKey}.describe`);
10
- exports.builder = yargs => {
11
- addConfigOptions(yargs);
12
- addGlobalOptions(yargs);
13
- yargs.command(set).demandCommand(1, '');
43
+ exports.describe = (0, lang_1.i18n)('commands.config.describe');
44
+ function builder(yargs) {
45
+ (0, commonOpts_1.addConfigOptions)(yargs);
46
+ (0, commonOpts_1.addGlobalOptions)(yargs);
47
+ yargs.command(set).command(migrate).demandCommand(1, '');
14
48
  return yargs;
15
- };
49
+ }
@@ -24,7 +24,9 @@ module.exports = {
24
24
  execute: async ({ dest, name, assetType, options }) => {
25
25
  const filePath = path.join(dest, name);
26
26
  if (fs.existsSync(filePath)) {
27
- const overwrite = await confirmPrompt(i18n(`commands.create.subcommands.apiSample.folderOverwritePrompt`, { folderName: filePath }), { defaultAnswer: false });
27
+ const overwrite = await confirmPrompt(i18n(`commands.create.subcommands.apiSample.folderOverwritePrompt`, {
28
+ folderName: filePath,
29
+ }), { defaultAnswer: false });
28
30
  if (overwrite) {
29
31
  fs.rmdirSync(filePath, { recursive: true });
30
32
  }
@@ -50,7 +50,10 @@ function builder(yargs) {
50
50
  (0, commonOpts_1.addUseEnvironmentOptions)(yargs);
51
51
  yargs
52
52
  .example([
53
- ['$0 schema delete schemaName', (0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.delete.examples.default`)],
53
+ [
54
+ '$0 schema delete schemaName',
55
+ (0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.delete.examples.default`),
56
+ ],
54
57
  ])
55
58
  .positional('name', {
56
59
  describe: (0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.delete.positionals.name.describe`),
@@ -17,7 +17,8 @@ async function handler(args) {
17
17
  const { derivedAccountId, dest: providedDest } = args;
18
18
  (0, usageTracking_1.trackCommandUsage)('custom-object-schema-fetch-all', {}, derivedAccountId);
19
19
  try {
20
- const dest = providedDest || (await (0, promptUtils_1.inputPrompt)((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetchAll.inputDest`)));
20
+ const dest = providedDest ||
21
+ (await (0, promptUtils_1.inputPrompt)((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetchAll.inputDest`)));
21
22
  const schemas = await (0, customObjects_1.downloadSchemas)(derivedAccountId, dest);
22
23
  (0, schema_1.logSchemas)(schemas);
23
24
  logger_1.logger.success((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetchAll.success.fetch`, {
@@ -25,7 +25,8 @@ async function handler(args) {
25
25
  (await (0, promptUtils_1.listPrompt)((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetch.selectSchema`), {
26
26
  choices: schemaNames,
27
27
  }));
28
- const dest = providedDest || (await (0, promptUtils_1.inputPrompt)((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetch.inputDest`)));
28
+ const dest = providedDest ||
29
+ (await (0, promptUtils_1.inputPrompt)((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetch.inputDest`)));
29
30
  await (0, customObjects_2.downloadSchema)(derivedAccountId, name, dest);
30
31
  logger_1.logger.success((0, lang_1.i18n)(`commands.customObject.subcommands.schema.subcommands.fetch.success.savedToPath`, {
31
32
  path: (0, customObjects_2.getResolvedPath)(dest, name),
package/commands/init.js CHANGED
@@ -78,6 +78,13 @@ 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
+ }
81
88
  if (fs_extra_1.default.existsSync(configPath)) {
82
89
  logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.errors.configFileExists`, {
83
90
  configPath: configPath,
@@ -114,19 +121,16 @@ async function handler(args) {
114
121
  accountId = oauthResult.accountId;
115
122
  name = oauthResult.name;
116
123
  }
124
+ const configPath = (0, config_1.getConfigPath)();
117
125
  try {
118
126
  (0, gitignore_1.checkAndAddConfigToGitignore)(configPath);
119
127
  }
120
128
  catch (e) {
121
129
  (0, index_1.debugError)(e);
122
130
  }
123
- let newConfigPath = configPath;
124
- if (!newConfigPath && !useHiddenConfig) {
125
- newConfigPath = `${(0, path_2.getCwd)()}/${config_2.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME}`;
126
- }
127
131
  logger_1.logger.log('');
128
132
  logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success.configFileCreated`, {
129
- configPath: newConfigPath,
133
+ configPath: configPath,
130
134
  }));
131
135
  logger_1.logger.success((0, lang_1.i18n)(`${i18nKey}.success.configFileUpdated`, {
132
136
  authType: AUTH_TYPE_NAMES[authType],
@@ -167,11 +171,6 @@ function initBuilder(yargs) {
167
171
  hidden: true,
168
172
  default: false,
169
173
  },
170
- 'use-hidden-config': {
171
- describe: (0, lang_1.i18n)(`${i18nKey}.options.useHiddenConfig.describe`),
172
- hidden: true,
173
- type: 'boolean',
174
- },
175
174
  });
176
175
  yargs.conflicts('use-hidden-config', 'config');
177
176
  return yargs;
@@ -1,8 +1,12 @@
1
1
  import { ArgumentsCamelCase, Argv, CommandModule } from 'yargs';
2
- import { CloneAppArgs } from '../../types/Yargs';
2
+ import { AccountArgs, CommonArgs, ConfigArgs, EnvironmentArgs } from '../../types/Yargs';
3
3
  export declare const command = "clone-app";
4
4
  export declare const describe: string | undefined;
5
5
  export declare const deprecated = true;
6
+ export type CloneAppArgs = ConfigArgs & EnvironmentArgs & AccountArgs & CommonArgs & {
7
+ dest: string;
8
+ appId: number;
9
+ };
6
10
  export declare const handler: (options: ArgumentsCamelCase<CloneAppArgs>) => Promise<never>;
7
11
  export declare const builder: (yargs: Argv) => Argv<CloneAppArgs>;
8
12
  declare const cloneAppCommand: CommandModule<unknown, CloneAppArgs>;
@@ -39,7 +39,7 @@ const handler = async (options) => {
39
39
  throw new Error((0, lang_1.i18n)(`commands.projects.subcommands.cloneApp.errors.noAccountConfig`));
40
40
  }
41
41
  if (!(0, accountTypes_1.isAppDeveloperAccount)(accountConfig)) {
42
- (0, migrate_1.logInvalidAccountError)(i18nKey);
42
+ (0, migrate_1.logInvalidAccountError)();
43
43
  process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
44
44
  }
45
45
  let appId;
@@ -36,7 +36,7 @@ async function handler(args) {
36
36
  process.exit(exitCodes_1.EXIT_CODES.ERROR);
37
37
  }
38
38
  (0, projects_1.validateProjectConfig)(projectConfig, projectDir);
39
- if ((0, buildAndDeploy_1.useV3Api)(projectConfig?.platformVersion)) {
39
+ if ((0, buildAndDeploy_1.useV3Api)(projectConfig.platformVersion)) {
40
40
  await (0, unifiedFlow_1.unifiedProjectDevFlow)(args, accountConfig, projectConfig, projectDir);
41
41
  }
42
42
  else {
@@ -1 +1,9 @@
1
- export {};
1
+ import { Argv, ArgumentsCamelCase } from 'yargs';
2
+ import { CommonArgs } from '../../types/Yargs';
3
+ export declare const command = "install-deps [packages..]";
4
+ export declare const describe: string;
5
+ export type ProjectInstallDepsArgs = CommonArgs & {
6
+ packages?: string[];
7
+ };
8
+ export declare function handler(args: ArgumentsCamelCase<ProjectInstallDepsArgs>): Promise<void>;
9
+ export declare const builder: (yargs: Argv) => Promise<Argv<ProjectInstallDepsArgs>>;
@@ -1,43 +1,49 @@
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 { installPackages, getProjectPackageJsonLocations, } = require('../../lib/dependencyManagement');
5
- const { logger } = require('@hubspot/local-dev-lib/logger');
6
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
7
- const { getProjectConfig } = require('../../lib/projects');
8
- const { promptUser } = require('../../lib/prompts/promptUtils');
9
- const path = require('path');
10
- const { i18n } = require('../../lib/lang');
11
- const { trackCommandUsage } = require('../../lib/usageTracking');
12
- const { uiBetaTag } = require('../../lib/ui');
6
+ exports.builder = exports.describe = exports.command = void 0;
7
+ exports.handler = handler;
8
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
9
+ const dependencyManagement_1 = require("../../lib/dependencyManagement");
10
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
11
+ const projects_1 = require("../../lib/projects");
12
+ const promptUtils_1 = require("../../lib/prompts/promptUtils");
13
+ const path_1 = __importDefault(require("path"));
14
+ const lang_1 = require("../../lib/lang");
15
+ const usageTracking_1 = require("../../lib/usageTracking");
16
+ const ui_1 = require("../../lib/ui");
17
+ const errorHandlers_1 = require("../../lib/errorHandlers");
18
+ const yargsUtils_1 = require("../../lib/yargsUtils");
13
19
  const i18nKey = `commands.project.subcommands.installDeps`;
14
20
  exports.command = 'install-deps [packages..]';
15
- exports.describe = uiBetaTag(i18n(`${i18nKey}.help.describe`), false);
16
- exports.handler = async (options) => {
17
- const { derivedAccountId, packages } = options || {};
21
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.help.describe`), false);
22
+ async function handler(args) {
23
+ const { derivedAccountId, packages } = args;
18
24
  try {
19
- trackCommandUsage('project-install-deps', null, derivedAccountId);
20
- const projectConfig = await getProjectConfig();
25
+ (0, usageTracking_1.trackCommandUsage)('project-install-deps', undefined, derivedAccountId);
26
+ const projectConfig = await (0, projects_1.getProjectConfig)();
21
27
  if (!projectConfig || !projectConfig.projectDir) {
22
- logger.error(i18n(`${i18nKey}.noProjectConfig`));
23
- return process.exit(EXIT_CODES.ERROR);
28
+ logger_1.logger.error((0, lang_1.i18n)(`${i18nKey}.noProjectConfig`));
29
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
24
30
  }
25
31
  const { projectDir } = projectConfig;
26
- let installLocations = await getProjectPackageJsonLocations();
32
+ let installLocations = await (0, dependencyManagement_1.getProjectPackageJsonLocations)();
27
33
  if (packages) {
28
- const { selectedInstallLocations } = await promptUser([
34
+ const { selectedInstallLocations } = await (0, promptUtils_1.promptUser)([
29
35
  {
30
36
  name: 'selectedInstallLocations',
31
37
  type: 'checkbox',
32
38
  when: () => packages && packages.length > 0,
33
- message: i18n(`${i18nKey}.installLocationPrompt`),
39
+ message: (0, lang_1.i18n)(`${i18nKey}.installLocationPrompt`),
34
40
  choices: installLocations.map(dir => ({
35
- name: path.relative(projectDir, dir),
41
+ name: path_1.default.relative(projectDir, dir),
36
42
  value: dir,
37
43
  })),
38
44
  validate: choices => {
39
45
  if (choices === undefined || choices.length === 0) {
40
- return i18n(`${i18nKey}.installLocationPromptRequired`);
46
+ return (0, lang_1.i18n)(`${i18nKey}.installLocationPromptRequired`);
41
47
  }
42
48
  return true;
43
49
  },
@@ -47,23 +53,30 @@ exports.handler = async (options) => {
47
53
  installLocations = selectedInstallLocations;
48
54
  }
49
55
  }
50
- await installPackages({
56
+ await (0, dependencyManagement_1.installPackages)({
51
57
  packages,
52
58
  installLocations,
53
59
  });
54
60
  }
55
61
  catch (e) {
56
- logger.debug(e);
57
- logger.error(e.message);
58
- return process.exit(EXIT_CODES.ERROR);
62
+ (0, errorHandlers_1.logError)(e);
63
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
59
64
  }
60
- };
61
- exports.builder = yargs => {
65
+ }
66
+ function projectInstallDepsBuilder(yargs) {
62
67
  yargs.example([
63
- ['$0 project install-deps', i18n(`${i18nKey}.help.installAppDepsExample`)],
68
+ ['$0 project install-deps', (0, lang_1.i18n)(`${i18nKey}.help.installAppDepsExample`)],
64
69
  [
65
70
  '$0 project install-deps dependency1 dependency2',
66
- i18n(`${i18nKey}.help.addDepToSubComponentExample`),
71
+ (0, lang_1.i18n)(`${i18nKey}.help.addDepToSubComponentExample`),
67
72
  ],
68
73
  ]);
74
+ return yargs;
75
+ }
76
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectInstallDepsBuilder, exports.command, exports.describe);
77
+ module.exports = {
78
+ command: exports.command,
79
+ describe: exports.describe,
80
+ builder: exports.builder,
81
+ handler,
69
82
  };
@@ -1 +1,13 @@
1
- export {};
1
+ import { Argv, ArgumentsCamelCase } from 'yargs';
2
+ import { CommonArgs } from '../../types/Yargs';
3
+ export declare const command = "logs";
4
+ export declare const describe: string;
5
+ export type ProjectLogsArgs = CommonArgs & {
6
+ function?: string;
7
+ latest?: boolean;
8
+ compact?: boolean;
9
+ tail?: boolean;
10
+ limit?: number;
11
+ };
12
+ export declare const handler: (args: ArgumentsCamelCase<ProjectLogsArgs>) => Promise<never>;
13
+ export declare const builder: (yargs: Argv) => Promise<Argv<ProjectLogsArgs>>;
@@ -1,110 +1,117 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { getEnv } = require('@hubspot/local-dev-lib/config');
5
- const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
6
- const { ENVIRONMENTS, } = require('@hubspot/local-dev-lib/constants/environments');
7
- const { addUseEnvironmentOptions } = require('../../lib/commonOpts');
8
- const { trackCommandUsage } = require('../../lib/usageTracking');
9
- const { logger } = require('@hubspot/local-dev-lib/logger');
10
- const { getTableContents, getTableHeader } = require('../../lib/ui/table');
11
- const { logError } = require('../../lib/errorHandlers/');
12
- const { uiBetaTag, uiLine, uiLink } = require('../../lib/ui');
13
- const { projectLogsPrompt } = require('../../lib/prompts/projectsLogsPrompt');
14
- const { i18n } = require('../../lib/lang');
15
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
16
- const { ProjectLogsManager } = require('../../lib/projects/ProjectLogsManager');
3
+ exports.builder = exports.handler = exports.describe = exports.command = void 0;
4
+ const config_1 = require("@hubspot/local-dev-lib/config");
5
+ const urls_1 = require("@hubspot/local-dev-lib/urls");
6
+ const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
7
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
8
+ const usageTracking_1 = require("../../lib/usageTracking");
9
+ const table_1 = require("../../lib/ui/table");
10
+ const errorHandlers_1 = require("../../lib/errorHandlers/");
11
+ const ui_1 = require("../../lib/ui");
12
+ const projectsLogsPrompt_1 = require("../../lib/prompts/projectsLogsPrompt");
13
+ const lang_1 = require("../../lib/lang");
14
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
15
+ const ProjectLogsManager_1 = require("../../lib/projects/ProjectLogsManager");
16
+ const yargsUtils_1 = require("../../lib/yargsUtils");
17
17
  const i18nKey = 'commands.project.subcommands.logs';
18
- const getPrivateAppsUrl = accountId => {
19
- const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
18
+ function getPrivateAppsUrl(accountId) {
19
+ const baseUrl = (0, urls_1.getHubSpotWebsiteOrigin)((0, config_1.getEnv)(accountId) === 'qa' ? environments_1.ENVIRONMENTS.QA : environments_1.ENVIRONMENTS.PROD);
20
20
  return `${baseUrl}/private-apps/${accountId}`;
21
- };
21
+ }
22
22
  function logTable(tableHeader, logsInfo) {
23
- logger.log(i18n(`${i18nKey}.logs.showingLogs`));
24
- logger.log(getTableContents([tableHeader, logsInfo], { border: { bodyLeft: ' ' } }));
23
+ logger_1.logger.log((0, lang_1.i18n)(`${i18nKey}.logs.showingLogs`));
24
+ logger_1.logger.log((0, table_1.getTableContents)([tableHeader, logsInfo], { border: { bodyLeft: ' ' } }));
25
25
  }
26
26
  function logPreamble() {
27
- if (ProjectLogsManager.isPublicFunction) {
28
- logTable(getTableHeader([
29
- i18n(`${i18nKey}.table.accountHeader`),
30
- i18n(`${i18nKey}.table.functionHeader`),
31
- i18n(`${i18nKey}.table.endpointHeader`),
27
+ if (ProjectLogsManager_1.ProjectLogsManager.isPublicFunction) {
28
+ logTable((0, table_1.getTableHeader)([
29
+ (0, lang_1.i18n)(`${i18nKey}.table.accountHeader`),
30
+ (0, lang_1.i18n)(`${i18nKey}.table.functionHeader`),
31
+ (0, lang_1.i18n)(`${i18nKey}.table.endpointHeader`),
32
32
  ]), [
33
- ProjectLogsManager.accountId,
34
- ProjectLogsManager.functionName,
35
- ProjectLogsManager.endpointName,
33
+ ProjectLogsManager_1.ProjectLogsManager.accountId,
34
+ ProjectLogsManager_1.ProjectLogsManager.functionName,
35
+ ProjectLogsManager_1.ProjectLogsManager.endpointName,
36
36
  ]);
37
- logger.log(uiLink(i18n(`${i18nKey}.logs.hubspotLogsDirectLink`), `${getPrivateAppsUrl(ProjectLogsManager.accountId)}/${ProjectLogsManager.appId}/logs/serverlessGatewayExecution?path=${ProjectLogsManager.endpointName}`));
37
+ logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.logs.hubspotLogsDirectLink`), `${getPrivateAppsUrl(ProjectLogsManager_1.ProjectLogsManager.accountId)}/${ProjectLogsManager_1.ProjectLogsManager.appId}/logs/serverlessGatewayExecution?path=${ProjectLogsManager_1.ProjectLogsManager.endpointName}`));
38
38
  }
39
39
  else {
40
- logTable(getTableHeader([
41
- i18n(`${i18nKey}.table.accountHeader`),
42
- i18n(`${i18nKey}.table.functionHeader`),
43
- ]), [ProjectLogsManager.accountId, ProjectLogsManager.functionName]);
44
- logger.log(uiLink(i18n(`${i18nKey}.logs.hubspotLogsDirectLink`), `${getPrivateAppsUrl(ProjectLogsManager.accountId)}/${ProjectLogsManager.appId}/logs/crm?serverlessFunction=${ProjectLogsManager.functionName}`));
40
+ logTable((0, table_1.getTableHeader)([
41
+ (0, lang_1.i18n)(`${i18nKey}.table.accountHeader`),
42
+ (0, lang_1.i18n)(`${i18nKey}.table.functionHeader`),
43
+ ]), [ProjectLogsManager_1.ProjectLogsManager.accountId, ProjectLogsManager_1.ProjectLogsManager.functionName]);
44
+ logger_1.logger.log((0, ui_1.uiLink)((0, lang_1.i18n)(`${i18nKey}.logs.hubspotLogsDirectLink`), `${getPrivateAppsUrl(ProjectLogsManager_1.ProjectLogsManager.accountId)}/${ProjectLogsManager_1.ProjectLogsManager.appId}/logs/crm?serverlessFunction=${ProjectLogsManager_1.ProjectLogsManager.functionName}`));
45
45
  }
46
- logger.log();
47
- uiLine();
46
+ logger_1.logger.log();
47
+ (0, ui_1.uiLine)();
48
48
  }
49
49
  exports.command = 'logs';
50
- exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
51
- exports.handler = async (options) => {
52
- const { derivedAccountId } = options;
53
- trackCommandUsage('project-logs', null, derivedAccountId);
50
+ exports.describe = (0, ui_1.uiBetaTag)((0, lang_1.i18n)(`${i18nKey}.describe`), false);
51
+ const handler = async (args) => {
52
+ const { derivedAccountId } = args;
53
+ (0, usageTracking_1.trackCommandUsage)('project-logs', undefined, derivedAccountId);
54
54
  try {
55
- await ProjectLogsManager.init(derivedAccountId);
56
- const { functionName } = await projectLogsPrompt({
57
- functionChoices: ProjectLogsManager.getFunctionNames(),
58
- promptOptions: options,
59
- projectName: ProjectLogsManager.projectName,
55
+ await ProjectLogsManager_1.ProjectLogsManager.init(derivedAccountId);
56
+ const { functionName } = await (0, projectsLogsPrompt_1.projectLogsPrompt)({
57
+ functionChoices: ProjectLogsManager_1.ProjectLogsManager.getFunctionNames(),
58
+ promptOptions: args,
59
+ projectName: ProjectLogsManager_1.ProjectLogsManager.projectName,
60
60
  });
61
- ProjectLogsManager.setFunction(functionName);
61
+ ProjectLogsManager_1.ProjectLogsManager.setFunction(functionName);
62
62
  logPreamble();
63
63
  }
64
64
  catch (e) {
65
- logError(e, {
65
+ (0, errorHandlers_1.logError)(e, {
66
66
  accountId: derivedAccountId,
67
- projectName: ProjectLogsManager.projectName,
67
+ projectName: ProjectLogsManager_1.ProjectLogsManager.projectName,
68
68
  });
69
- return process.exit(EXIT_CODES.ERROR);
69
+ return process.exit(exitCodes_1.EXIT_CODES.ERROR);
70
70
  }
71
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
71
72
  };
72
- exports.builder = yargs => {
73
- yargs
74
- .options({
73
+ exports.handler = handler;
74
+ function projectLogsBuilder(yargs) {
75
+ yargs.options({
75
76
  function: {
76
77
  alias: 'function',
77
- describe: i18n(`${i18nKey}.options.function.describe`),
78
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.function.describe`),
78
79
  requiresArg: true,
79
80
  type: 'string',
80
81
  },
81
82
  latest: {
82
83
  alias: 'l',
83
- describe: i18n(`${i18nKey}.options.latest.describe`),
84
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.latest.describe`),
84
85
  type: 'boolean',
85
86
  },
86
87
  compact: {
87
- describe: i18n(`${i18nKey}.options.compact.describe`),
88
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.compact.describe`),
88
89
  type: 'boolean',
89
90
  },
90
91
  tail: {
91
92
  alias: ['t', 'follow'],
92
- describe: i18n(`${i18nKey}.options.tail.describe`),
93
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.tail.describe`),
93
94
  type: 'boolean',
94
95
  },
95
96
  limit: {
96
- describe: i18n(`${i18nKey}.options.limit.describe`),
97
+ describe: (0, lang_1.i18n)(`${i18nKey}.options.limit.describe`),
97
98
  type: 'number',
98
99
  },
99
- })
100
- .conflicts('tail', 'limit')
101
- .example([
102
- ['$0 project logs', i18n(`${i18nKey}.examples.default`)],
100
+ });
101
+ yargs.conflicts('tail', 'limit');
102
+ yargs.example([
103
+ ['$0 project logs', (0, lang_1.i18n)(`${i18nKey}.examples.default`)],
103
104
  [
104
105
  '$0 project logs --function=my-function',
105
- i18n(`${i18nKey}.examples.withOptions`),
106
+ (0, lang_1.i18n)(`${i18nKey}.examples.withOptions`),
106
107
  ],
107
108
  ]);
108
- addUseEnvironmentOptions(yargs);
109
109
  return yargs;
110
+ }
111
+ exports.builder = (0, yargsUtils_1.makeYargsBuilder)(projectLogsBuilder, exports.command, exports.describe, { useEnvironmentOptions: true });
112
+ module.exports = {
113
+ command: exports.command,
114
+ describe: exports.describe,
115
+ builder: exports.builder,
116
+ handler: exports.handler,
110
117
  };