@hubspot/cli 7.4.8 → 7.4.9-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.
Files changed (140) hide show
  1. package/commands/account/createOverride.js +9 -0
  2. package/commands/account/remove.js +6 -1
  3. package/commands/account/removeOverride.js +9 -0
  4. package/commands/cms/convertFields.d.ts +7 -1
  5. package/commands/cms/convertFields.js +57 -41
  6. package/commands/cms/getReactModule.d.ts +7 -1
  7. package/commands/cms/getReactModule.js +52 -34
  8. package/commands/cms/lighthouseScore.d.ts +8 -1
  9. package/commands/cms/lighthouseScore.js +129 -100
  10. package/commands/cms.d.ts +3 -1
  11. package/commands/cms.js +24 -15
  12. package/commands/completion.d.ts +3 -1
  13. package/commands/completion.js +25 -12
  14. package/commands/create/api-sample.d.ts +3 -1
  15. package/commands/create/api-sample.js +34 -38
  16. package/commands/create/app.d.ts +3 -1
  17. package/commands/create/app.js +9 -7
  18. package/commands/create/function.d.ts +3 -1
  19. package/commands/create/function.js +11 -10
  20. package/commands/create/index.d.ts +5 -1
  21. package/commands/create/index.js +23 -11
  22. package/commands/create/module.d.ts +3 -1
  23. package/commands/create/module.js +14 -13
  24. package/commands/create/react-app.d.ts +3 -1
  25. package/commands/create/react-app.js +10 -7
  26. package/commands/create/template.d.ts +3 -1
  27. package/commands/create/template.js +14 -14
  28. package/commands/create/vue-app.d.ts +3 -1
  29. package/commands/create/vue-app.js +10 -7
  30. package/commands/create/webpack-serverless.d.ts +3 -1
  31. package/commands/create/webpack-serverless.js +10 -7
  32. package/commands/create/website-theme.d.ts +3 -1
  33. package/commands/create/website-theme.js +10 -9
  34. package/commands/create.d.ts +4 -24
  35. package/commands/create.js +55 -73
  36. package/commands/customObject/create.d.ts +4 -9
  37. package/commands/customObject/create.js +17 -10
  38. package/commands/customObject/schema/create.d.ts +4 -9
  39. package/commands/customObject/schema/create.js +18 -11
  40. package/commands/customObject/schema/delete.d.ts +4 -9
  41. package/commands/customObject/schema/delete.js +17 -10
  42. package/commands/customObject/schema/fetch-all.d.ts +4 -9
  43. package/commands/customObject/schema/fetch-all.js +17 -10
  44. package/commands/customObject/schema/fetch.d.ts +4 -9
  45. package/commands/customObject/schema/fetch.js +17 -10
  46. package/commands/customObject/schema/list.d.ts +4 -8
  47. package/commands/customObject/schema/list.js +17 -10
  48. package/commands/customObject/schema/update.d.ts +4 -9
  49. package/commands/customObject/schema/update.js +18 -11
  50. package/commands/customObject/schema.d.ts +3 -5
  51. package/commands/customObject/schema.js +27 -54
  52. package/commands/customObject.d.ts +3 -4
  53. package/commands/customObject.js +20 -45
  54. package/commands/feedback.d.ts +7 -1
  55. package/commands/feedback.js +36 -20
  56. package/commands/fetch.d.ts +12 -1
  57. package/commands/fetch.js +49 -33
  58. package/commands/function/deploy.d.ts +6 -1
  59. package/commands/function/deploy.js +70 -50
  60. package/commands/function/list.d.ts +6 -1
  61. package/commands/function/list.js +44 -32
  62. package/commands/function/server.d.ts +10 -1
  63. package/commands/function/server.js +49 -38
  64. package/commands/function.d.ts +5 -1
  65. package/commands/function.js +24 -10
  66. package/commands/hubdb/clear.d.ts +4 -9
  67. package/commands/hubdb/clear.js +17 -10
  68. package/commands/hubdb/create.d.ts +4 -9
  69. package/commands/hubdb/create.js +17 -10
  70. package/commands/hubdb/delete.d.ts +4 -9
  71. package/commands/hubdb/delete.js +17 -10
  72. package/commands/hubdb/fetch.d.ts +4 -9
  73. package/commands/hubdb/fetch.js +17 -10
  74. package/commands/hubdb.d.ts +3 -2
  75. package/commands/hubdb.js +23 -45
  76. package/commands/lint.d.ts +6 -4
  77. package/commands/lint.js +44 -43
  78. package/commands/logs.d.ts +10 -1
  79. package/commands/logs.js +53 -44
  80. package/commands/module/marketplace-validate.d.ts +6 -1
  81. package/commands/module/marketplace-validate.js +39 -27
  82. package/commands/module.d.ts +3 -1
  83. package/commands/module.js +22 -10
  84. package/commands/project/dev/unifiedFlow.js +28 -5
  85. package/commands/sandbox/create.d.ts +4 -9
  86. package/commands/sandbox/create.js +18 -11
  87. package/commands/sandbox/delete.d.ts +4 -9
  88. package/commands/sandbox/delete.js +18 -11
  89. package/commands/sandbox.d.ts +3 -4
  90. package/commands/sandbox.js +20 -43
  91. package/commands/secret/addSecret.d.ts +4 -9
  92. package/commands/secret/addSecret.js +17 -10
  93. package/commands/secret/deleteSecret.d.ts +4 -9
  94. package/commands/secret/deleteSecret.js +17 -10
  95. package/commands/secret/listSecret.d.ts +4 -9
  96. package/commands/secret/listSecret.js +17 -10
  97. package/commands/secret/updateSecret.d.ts +4 -9
  98. package/commands/secret/updateSecret.js +17 -10
  99. package/commands/secret.d.ts +3 -4
  100. package/commands/secret.js +25 -48
  101. package/commands/upload.d.ts +12 -1
  102. package/commands/upload.js +118 -97
  103. package/commands/watch.d.ts +14 -1
  104. package/commands/watch.js +76 -65
  105. package/lang/en.d.ts +565 -543
  106. package/lang/en.js +360 -338
  107. package/lang/en.lyaml +3 -0
  108. package/lib/constants.d.ts +5 -0
  109. package/lib/constants.js +6 -1
  110. package/lib/errorHandlers/suppressError.js +12 -19
  111. package/lib/filesystem.d.ts +1 -1
  112. package/lib/interpolation.d.ts +2 -3
  113. package/lib/lang.d.ts +2 -3
  114. package/lib/projects/buildAndDeploy.js +17 -2
  115. package/lib/projects/localDev/AppDevModeInterface.d.ts +25 -0
  116. package/lib/projects/localDev/AppDevModeInterface.js +117 -0
  117. package/lib/projects/localDev/DevServerManagerV2.d.ts +11 -22
  118. package/lib/projects/localDev/DevServerManagerV2.js +19 -15
  119. package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
  120. package/lib/projects/localDev/LocalDevLogger.js +158 -0
  121. package/lib/projects/localDev/LocalDevManager.js +2 -3
  122. package/lib/projects/localDev/LocalDevProcess.d.ts +41 -0
  123. package/lib/projects/localDev/LocalDevProcess.js +178 -0
  124. package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
  125. package/lib/projects/localDev/LocalDevWatcher.js +55 -0
  126. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +15 -0
  127. package/lib/projects/localDev/LocalDevWebsocketServer.js +80 -0
  128. package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
  129. package/lib/prompts/createTemplatePrompt.d.ts +22 -4
  130. package/lib/upload.d.ts +1 -1
  131. package/lib/yargsUtils.d.ts +4 -0
  132. package/lib/yargsUtils.js +6 -0
  133. package/package.json +5 -3
  134. package/types/Cms.d.ts +30 -0
  135. package/types/Cms.js +2 -0
  136. package/types/LocalDev.d.ts +22 -0
  137. package/types/LocalDev.js +2 -0
  138. package/types/Yargs.d.ts +5 -0
  139. package/lib/projects/localDev/LocalDevManagerV2.d.ts +0 -64
  140. package/lib/projects/localDev/LocalDevManagerV2.js +0 -345
@@ -1,11 +1,14 @@
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 open = require('open');
5
- const { i18n } = require('../lib/lang');
6
- const { logger } = require('@hubspot/local-dev-lib/logger');
7
- const { confirmPrompt, listPrompt } = require('../lib/prompts/promptUtils');
8
- const { addGlobalOptions } = require('../lib/commonOpts');
6
+ const open_1 = __importDefault(require("open"));
7
+ const lang_1 = require("../lib/lang");
8
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
9
+ const promptUtils_1 = require("../lib/prompts/promptUtils");
10
+ const yargsUtils_1 = require("../lib/yargsUtils");
11
+ const exitCodes_1 = require("../lib/enums/exitCodes");
9
12
  const FEEDBACK_OPTIONS = {
10
13
  BUG: 'bug',
11
14
  GENERAL: 'general',
@@ -14,38 +17,51 @@ const FEEDBACK_URLS = {
14
17
  BUG: 'https://github.com/HubSpot/hubspot-cli/issues/new',
15
18
  GENERAL: 'https://docs.google.com/forms/d/e/1FAIpQLSejZZewYzuH3oKBU01tseX-cSWOUsTHLTr-YsiMGpzwcvgIMg/viewform?usp=sf_link',
16
19
  };
17
- exports.command = 'feedback';
18
- exports.describe = i18n(`commands.project.subcommands.feedback.describe`);
19
- exports.handler = async (options) => {
20
- const { bug: bugFlag, general: generalFlag } = options;
20
+ const command = 'feedback';
21
+ const describe = (0, lang_1.i18n)(`commands.project.subcommands.feedback.describe`);
22
+ async function handler(args) {
23
+ const { bug: bugFlag, general: generalFlag } = args;
21
24
  const usedTypeFlag = bugFlag !== generalFlag;
22
- await listPrompt(i18n(`commands.project.subcommands.feedback.feedbackType.prompt`), {
25
+ await (0, promptUtils_1.listPrompt)((0, lang_1.i18n)(`commands.project.subcommands.feedback.feedbackType.prompt`), {
23
26
  choices: Object.values(FEEDBACK_OPTIONS).map(option => ({
24
- name: i18n(`commands.project.subcommands.feedback.feedbackType.${option}`),
27
+ name: (0, lang_1.i18n)(`commands.project.subcommands.feedback.feedbackType.${option}`),
25
28
  value: option,
26
29
  })),
27
30
  when: !usedTypeFlag,
28
31
  });
29
- const shouldOpen = await confirmPrompt(i18n(`commands.project.subcommands.feedback.openPrompt`), {
32
+ const shouldOpen = await (0, promptUtils_1.confirmPrompt)((0, lang_1.i18n)(`commands.project.subcommands.feedback.openPrompt`), {
30
33
  when: !usedTypeFlag,
31
34
  });
32
35
  if (shouldOpen || usedTypeFlag) {
33
36
  // NOTE: for now, all feedback should go to the hubspot-cli repository
34
37
  const url = FEEDBACK_URLS.BUG;
35
- open(url, { url: true });
36
- logger.success(i18n(`commands.project.subcommands.feedback.success`, { url }));
38
+ (0, open_1.default)(url, { url: true });
39
+ logger_1.logger.success((0, lang_1.i18n)(`commands.project.subcommands.feedback.success`, { url }));
37
40
  }
38
- };
39
- exports.builder = yargs => {
41
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
42
+ }
43
+ function feedbackBuilder(yargs) {
40
44
  yargs.options({
41
45
  bug: {
42
- describe: i18n(`commands.project.subcommands.feedback.options.bug.describe`),
46
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.feedback.options.bug.describe`),
43
47
  type: 'boolean',
44
48
  },
45
49
  general: {
46
- describe: i18n(`commands.project.subcommands.feedback.options.general.describe`),
50
+ describe: (0, lang_1.i18n)(`commands.project.subcommands.feedback.options.general.describe`),
47
51
  type: 'boolean',
48
52
  },
49
53
  });
50
- addGlobalOptions(yargs);
54
+ return yargs;
55
+ }
56
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(feedbackBuilder, command, describe, {
57
+ useGlobalOptions: true,
58
+ });
59
+ const feedbackCommand = {
60
+ command,
61
+ describe,
62
+ handler,
63
+ builder,
51
64
  };
65
+ exports.default = feedbackCommand;
66
+ // TODO remove this after cli.ts is ported to TS
67
+ module.exports = feedbackCommand;
@@ -1 +1,12 @@
1
- export {};
1
+ import { CmsPublishMode } from '@hubspot/local-dev-lib/types/Files';
2
+ import { AccountArgs, CommonArgs, ConfigArgs, EnvironmentArgs, YargsCommandModule } from '../types/Yargs';
3
+ type FetchCommandArgs = {
4
+ src: string;
5
+ dest?: string;
6
+ cmsPublishMode?: CmsPublishMode;
7
+ staging?: boolean;
8
+ assetVersion?: number;
9
+ overwrite?: boolean;
10
+ } & ConfigArgs & AccountArgs & EnvironmentArgs & CommonArgs;
11
+ declare const fetchCommand: YargsCommandModule<unknown, FetchCommandArgs>;
12
+ export default fetchCommand;
package/commands/fetch.js CHANGED
@@ -1,50 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { downloadFileOrFolder } = require('@hubspot/local-dev-lib/fileMapper');
5
- const { logger } = require('@hubspot/local-dev-lib/logger');
6
- const { addConfigOptions, addAccountOptions, addOverwriteOptions, addCmsPublishModeOptions, addUseEnvironmentOptions, getCmsPublishMode, addGlobalOptions, } = require('../lib/commonOpts');
7
- const { resolveLocalPath } = require('../lib/filesystem');
8
- const { validateCmsPublishMode } = require('../lib/validation');
9
- const { trackCommandUsage } = require('../lib/usageTracking');
10
- const { i18n } = require('../lib/lang');
11
- const { EXIT_CODES } = require('../lib/enums/exitCodes');
12
- const { logError } = require('../lib/errorHandlers/index');
13
- exports.command = 'fetch <src> [dest]';
14
- exports.describe = i18n('commands.fetch.describe');
15
- exports.handler = async (options) => {
3
+ const fileMapper_1 = require("@hubspot/local-dev-lib/fileMapper");
4
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
5
+ const commonOpts_1 = require("../lib/commonOpts");
6
+ const filesystem_1 = require("../lib/filesystem");
7
+ const validation_1 = require("../lib/validation");
8
+ const usageTracking_1 = require("../lib/usageTracking");
9
+ const lang_1 = require("../lib/lang");
10
+ const yargsUtils_1 = require("../lib/yargsUtils");
11
+ const exitCodes_1 = require("../lib/enums/exitCodes");
12
+ const index_1 = require("../lib/errorHandlers/index");
13
+ const command = 'fetch <src> [dest]';
14
+ const describe = (0, lang_1.i18n)('commands.fetch.describe');
15
+ const handler = async (options) => {
16
16
  const { src, dest } = options;
17
- if (!validateCmsPublishMode(options)) {
18
- process.exit(EXIT_CODES.ERROR);
17
+ if (!(0, validation_1.validateCmsPublishMode)(options)) {
18
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
19
19
  }
20
20
  if (typeof src !== 'string') {
21
- logger.error(i18n('commands.fetch.errors.sourceRequired'));
22
- process.exit(EXIT_CODES.ERROR);
21
+ logger_1.logger.error((0, lang_1.i18n)('commands.fetch.errors.sourceRequired'));
22
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
23
23
  }
24
24
  const { derivedAccountId } = options;
25
- const cmsPublishMode = getCmsPublishMode(options);
26
- trackCommandUsage('fetch', { mode: cmsPublishMode }, derivedAccountId);
25
+ const cmsPublishMode = (0, commonOpts_1.getCmsPublishMode)(options);
26
+ (0, usageTracking_1.trackCommandUsage)('fetch', { mode: cmsPublishMode }, derivedAccountId);
27
+ const { assetVersion, staging, overwrite } = options;
27
28
  try {
28
29
  // Fetch and write file/folder.
29
- await downloadFileOrFolder(derivedAccountId, src, resolveLocalPath(dest), cmsPublishMode, options);
30
+ await (0, fileMapper_1.downloadFileOrFolder)(derivedAccountId, src, (0, filesystem_1.resolveLocalPath)(dest), cmsPublishMode, {
31
+ assetVersion: assetVersion !== undefined ? `${assetVersion}` : assetVersion,
32
+ staging,
33
+ overwrite,
34
+ });
30
35
  }
31
36
  catch (err) {
32
- logError(err);
33
- process.exit(EXIT_CODES.ERROR);
37
+ (0, index_1.logError)(err);
38
+ process.exit(exitCodes_1.EXIT_CODES.ERROR);
34
39
  }
35
40
  };
36
- exports.builder = yargs => {
41
+ const fetchBuilder = (yargs) => {
37
42
  yargs.positional('src', {
38
- describe: i18n('commands.fetch.positionals.src.describe'),
43
+ describe: (0, lang_1.i18n)('commands.fetch.positionals.src.describe'),
39
44
  type: 'string',
40
45
  });
41
46
  yargs.positional('dest', {
42
- describe: i18n('commands.fetch.positionals.dest.describe'),
47
+ describe: (0, lang_1.i18n)('commands.fetch.positionals.dest.describe'),
43
48
  type: 'string',
44
49
  });
45
50
  yargs.options({
46
51
  staging: {
47
- describe: i18n('commands.fetch.options.staging.describe'),
52
+ describe: (0, lang_1.i18n)('commands.fetch.options.staging.describe'),
48
53
  type: 'boolean',
49
54
  default: false,
50
55
  hidden: true,
@@ -53,14 +58,25 @@ exports.builder = yargs => {
53
58
  yargs.options({
54
59
  assetVersion: {
55
60
  type: 'number',
56
- describe: i18n('commands.fetch.options.assetVersion.describe'),
61
+ describe: (0, lang_1.i18n)('commands.fetch.options.assetVersion.describe'),
57
62
  },
58
63
  });
59
- addConfigOptions(yargs);
60
- addAccountOptions(yargs);
61
- addOverwriteOptions(yargs);
62
- addCmsPublishModeOptions(yargs, { read: true });
63
- addUseEnvironmentOptions(yargs);
64
- addGlobalOptions(yargs);
64
+ (0, commonOpts_1.addCmsPublishModeOptions)(yargs, { read: true });
65
+ (0, commonOpts_1.addOverwriteOptions)(yargs);
65
66
  return yargs;
66
67
  };
68
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(fetchBuilder, command, describe, {
69
+ useConfigOptions: true,
70
+ useAccountOptions: true,
71
+ useGlobalOptions: true,
72
+ useEnvironmentOptions: true,
73
+ useTestingOptions: false,
74
+ });
75
+ const fetchCommand = {
76
+ command,
77
+ describe,
78
+ handler,
79
+ builder,
80
+ };
81
+ exports.default = fetchCommand;
82
+ module.exports = fetchCommand;
@@ -1 +1,6 @@
1
- export {};
1
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
2
+ type FunctionDeployArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
3
+ path: string;
4
+ };
5
+ declare const functionDeployCommand: YargsCommandModule<unknown, FunctionDeployArgs>;
6
+ export default functionDeployCommand;
@@ -1,91 +1,111 @@
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 SpinniesManager = require('../../lib/ui/SpinniesManager');
5
- const { addAccountOptions, addConfigOptions, addUseEnvironmentOptions, } = require('../../lib/commonOpts');
6
- const { trackCommandUsage } = require('../../lib/usageTracking');
7
- const { logError, ApiErrorContext } = require('../../lib/errorHandlers/index');
8
- const { uiAccountDescription } = require('../../lib/ui');
9
- const { poll } = require('../../lib/polling');
10
- const { logger } = require('@hubspot/local-dev-lib/logger');
11
- const { buildPackage, getBuildStatus, } = require('@hubspot/local-dev-lib/api/functions');
12
- const { outputBuildLog } = require('../../lib/serverlessLogs');
13
- const { i18n } = require('../../lib/lang');
14
- const { isHubSpotHttpError } = require('@hubspot/local-dev-lib/errors/index');
15
- exports.command = 'deploy <path>';
16
- exports.describe = false;
17
- exports.handler = async (options) => {
18
- const { path: functionPath, derivedAccountId } = options;
6
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
7
+ const functions_1 = require("@hubspot/local-dev-lib/api/functions");
8
+ const index_1 = require("@hubspot/local-dev-lib/errors/index");
9
+ const SpinniesManager_1 = __importDefault(require("../../lib/ui/SpinniesManager"));
10
+ const usageTracking_1 = require("../../lib/usageTracking");
11
+ const index_2 = require("../../lib/errorHandlers/index");
12
+ const ui_1 = require("../../lib/ui");
13
+ const polling_1 = require("../../lib/polling");
14
+ const serverlessLogs_1 = require("../../lib/serverlessLogs");
15
+ const lang_1 = require("../../lib/lang");
16
+ const yargsUtils_1 = require("../../lib/yargsUtils");
17
+ function isFunctionBuildError(e) {
18
+ return (typeof e === 'object' && e !== null && 'status' in e && e.status === 'ERROR');
19
+ }
20
+ const command = 'deploy <path>';
21
+ const describe = undefined;
22
+ async function handler(args) {
23
+ const { path: functionPath, derivedAccountId } = args;
19
24
  const splitFunctionPath = functionPath.split('.');
20
- trackCommandUsage('functions-deploy', null, derivedAccountId);
25
+ (0, usageTracking_1.trackCommandUsage)('function-deploy', undefined, derivedAccountId);
21
26
  if (!splitFunctionPath.length ||
22
27
  splitFunctionPath[splitFunctionPath.length - 1] !== 'functions') {
23
- logger.error(i18n('commands.function.subcommands.deploy.errors.notFunctionsFolder', {
28
+ logger_1.logger.error((0, lang_1.i18n)('commands.function.subcommands.deploy.errors.notFunctionsFolder', {
24
29
  functionPath,
25
30
  }));
26
31
  return;
27
32
  }
28
- logger.debug(i18n('commands.function.subcommands.deploy.debug.startingBuildAndDeploy', {
33
+ logger_1.logger.debug((0, lang_1.i18n)('commands.function.subcommands.deploy.debug.startingBuildAndDeploy', {
29
34
  functionPath,
30
35
  }));
31
- SpinniesManager.init();
32
- SpinniesManager.add('loading', {
33
- text: i18n('commands.function.subcommands.deploy.loading', {
34
- account: uiAccountDescription(derivedAccountId),
36
+ SpinniesManager_1.default.init();
37
+ SpinniesManager_1.default.add('loading', {
38
+ text: (0, lang_1.i18n)('commands.function.subcommands.deploy.loading', {
39
+ account: (0, ui_1.uiAccountDescription)(derivedAccountId),
35
40
  functionPath,
36
41
  }),
37
42
  });
38
43
  try {
39
- const { data: buildId } = await buildPackage(derivedAccountId, functionPath);
40
- const successResp = await poll(() => getBuildStatus(derivedAccountId, buildId));
41
- const buildTimeSeconds = (successResp.buildTime / 1000).toFixed(2);
42
- SpinniesManager.succeed('loading');
43
- await outputBuildLog(successResp.cdnUrl);
44
- logger.success(i18n('commands.function.subcommands.deploy.success.deployed', {
45
- accountId: derivedAccountId,
46
- buildTimeSeconds,
47
- functionPath,
48
- }));
44
+ const { data: buildId } = await (0, functions_1.buildPackage)(derivedAccountId, functionPath);
45
+ const successResp = await (0, polling_1.poll)(() => (0, functions_1.getBuildStatus)(derivedAccountId, Number(buildId)));
46
+ if (successResp) {
47
+ const buildTimeSeconds = successResp.buildTime
48
+ ? (successResp.buildTime / 1000).toFixed(2)
49
+ : 0;
50
+ SpinniesManager_1.default.succeed('loading');
51
+ if (successResp.cdnUrl) {
52
+ await (0, serverlessLogs_1.outputBuildLog)(successResp.cdnUrl);
53
+ }
54
+ logger_1.logger.success((0, lang_1.i18n)('commands.function.subcommands.deploy.success.deployed', {
55
+ accountId: derivedAccountId,
56
+ buildTimeSeconds,
57
+ functionPath,
58
+ }));
59
+ }
49
60
  }
50
61
  catch (e) {
51
- SpinniesManager.fail('loading', {
52
- text: i18n('commands.function.subcommands.deploy.loadingFailed', {
53
- account: uiAccountDescription(derivedAccountId),
62
+ SpinniesManager_1.default.fail('loading', {
63
+ text: (0, lang_1.i18n)('commands.function.subcommands.deploy.loadingFailed', {
64
+ account: (0, ui_1.uiAccountDescription)(derivedAccountId),
54
65
  functionPath,
55
66
  }),
56
67
  });
57
- if (isHubSpotHttpError(e) && e.status === 404) {
58
- logger.error(i18n('commands.function.subcommands.deploy.errors.noPackageJson', {
68
+ if ((0, index_1.isHubSpotHttpError)(e) && e.status === 404) {
69
+ logger_1.logger.error((0, lang_1.i18n)('commands.function.subcommands.deploy.errors.noPackageJson', {
59
70
  functionPath,
60
71
  }));
61
72
  }
62
- else if (e.status === 'ERROR') {
63
- await outputBuildLog(e.cdnUrl);
64
- logger.error(i18n('commands.function.subcommands.deploy.errors.buildError', {
65
- details: e.errorReason,
73
+ else if (isFunctionBuildError(e)) {
74
+ await (0, serverlessLogs_1.outputBuildLog)(e.cdnUrl);
75
+ logger_1.logger.error((0, lang_1.i18n)('commands.function.subcommands.deploy.errors.buildError', {
76
+ details: String(e.errorReason),
66
77
  }));
67
78
  }
68
79
  else {
69
- logError(e, new ApiErrorContext({
80
+ (0, index_2.logError)(e, new index_2.ApiErrorContext({
70
81
  accountId: derivedAccountId,
71
82
  request: functionPath,
72
83
  }));
73
84
  }
74
85
  }
75
- };
76
- exports.builder = yargs => {
86
+ }
87
+ function functionDeployBuilder(yargs) {
77
88
  yargs.positional('path', {
78
- describe: i18n('commands.function.subcommands.deploy.positionals.path.describe'),
89
+ describe: (0, lang_1.i18n)('commands.function.subcommands.deploy.positionals.path.describe'),
79
90
  type: 'string',
80
91
  });
81
92
  yargs.example([
82
93
  [
83
94
  '$0 functions deploy myFunctionFolder.functions',
84
- i18n('commands.function.subcommands.deploy.examples.default'),
95
+ (0, lang_1.i18n)('commands.function.subcommands.deploy.examples.default'),
85
96
  ],
86
97
  ]);
87
- addConfigOptions(yargs);
88
- addAccountOptions(yargs);
89
- addUseEnvironmentOptions(yargs);
90
98
  return yargs;
99
+ }
100
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(functionDeployBuilder, command, describe, {
101
+ useConfigOptions: true,
102
+ useAccountOptions: true,
103
+ useEnvironmentOptions: true,
104
+ });
105
+ const functionDeployCommand = {
106
+ command,
107
+ describe,
108
+ handler,
109
+ builder,
91
110
  };
111
+ exports.default = functionDeployCommand;
@@ -1 +1,6 @@
1
- export {};
1
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
2
+ type FunctionListArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
3
+ json?: boolean;
4
+ };
5
+ declare const functionListCommand: YargsCommandModule<unknown, FunctionListArgs>;
6
+ export default functionListCommand;
@@ -1,30 +1,32 @@
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 moment = require('moment');
5
- const { getRoutes } = require('@hubspot/local-dev-lib/api/functions');
6
- const { logger } = require('@hubspot/local-dev-lib/logger');
7
- const { logError, ApiErrorContext } = require('../../lib/errorHandlers/index');
8
- const { getTableContents, getTableHeader } = require('../../lib/ui/table');
9
- const { addConfigOptions, addAccountOptions, addUseEnvironmentOptions, } = require('../../lib/commonOpts');
10
- const { trackCommandUsage } = require('../../lib/usageTracking');
11
- const { i18n } = require('../../lib/lang');
12
- const { EXIT_CODES } = require('../../lib/enums/exitCodes');
13
- exports.command = ['list', 'ls'];
14
- exports.describe = i18n('commands.function.subcommands.list.describe');
15
- exports.handler = async (options) => {
16
- const { derivedAccountId } = options;
17
- trackCommandUsage('functions-list', null, derivedAccountId);
18
- logger.debug(i18n('commands.function.subcommands.list.debug.gettingFunctions'));
19
- const { data: routesResp } = await getRoutes(derivedAccountId).catch(async (e) => {
20
- logError(e, new ApiErrorContext({ accountId: derivedAccountId }));
21
- process.exit(EXIT_CODES.SUCCESS);
6
+ const moment_1 = __importDefault(require("moment"));
7
+ const functions_1 = require("@hubspot/local-dev-lib/api/functions");
8
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
9
+ const index_1 = require("../../lib/errorHandlers/index");
10
+ const table_1 = require("../../lib/ui/table");
11
+ const usageTracking_1 = require("../../lib/usageTracking");
12
+ const lang_1 = require("../../lib/lang");
13
+ const exitCodes_1 = require("../../lib/enums/exitCodes");
14
+ const yargsUtils_1 = require("../../lib/yargsUtils");
15
+ const command = ['list', 'ls'];
16
+ const describe = (0, lang_1.i18n)('commands.function.subcommands.list.describe');
17
+ async function handler(args) {
18
+ const { derivedAccountId } = args;
19
+ (0, usageTracking_1.trackCommandUsage)('function-list', undefined, derivedAccountId);
20
+ logger_1.logger.debug((0, lang_1.i18n)('commands.function.subcommands.list.debug.gettingFunctions'));
21
+ const { data: routesResp } = await (0, functions_1.getRoutes)(derivedAccountId).catch(async (e) => {
22
+ (0, index_1.logError)(e, new index_1.ApiErrorContext({ accountId: derivedAccountId }));
23
+ process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
22
24
  });
23
25
  if (!routesResp.objects.length) {
24
- return logger.info(i18n('commands.function.subcommands.list.info.noFunctions'));
26
+ return logger_1.logger.info((0, lang_1.i18n)('commands.function.subcommands.list.info.noFunctions'));
25
27
  }
26
- if (options.json) {
27
- return logger.log(routesResp.objects);
28
+ if (args.json) {
29
+ return logger_1.logger.log(routesResp.objects);
28
30
  }
29
31
  const functionsAsArrays = routesResp.objects.map(func => {
30
32
  const { route, method, created, updated, secretNames } = func;
@@ -32,21 +34,31 @@ exports.handler = async (options) => {
32
34
  route,
33
35
  method,
34
36
  secretNames.join(', '),
35
- moment(created).format(),
36
- moment(updated).format(),
37
+ (0, moment_1.default)(created).format(),
38
+ (0, moment_1.default)(updated).format(),
37
39
  ];
38
40
  });
39
- functionsAsArrays.unshift(getTableHeader(['Route', 'Method', 'Secrets', 'Created', 'Updated']));
40
- return logger.log(getTableContents(functionsAsArrays));
41
- };
42
- exports.builder = yargs => {
43
- addConfigOptions(yargs);
44
- addAccountOptions(yargs);
45
- addUseEnvironmentOptions(yargs);
41
+ functionsAsArrays.unshift((0, table_1.getTableHeader)(['Route', 'Method', 'Secrets', 'Created', 'Updated']));
42
+ return logger_1.logger.log((0, table_1.getTableContents)(functionsAsArrays));
43
+ }
44
+ function functionListBuilder(yargs) {
46
45
  yargs.options({
47
46
  json: {
48
- describe: i18n('commands.function.subcommands.list.options.json.describe'),
47
+ describe: (0, lang_1.i18n)('commands.function.subcommands.list.options.json.describe'),
49
48
  type: 'boolean',
50
49
  },
51
50
  });
51
+ return yargs;
52
+ }
53
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(functionListBuilder, command, describe, {
54
+ useConfigOptions: true,
55
+ useAccountOptions: true,
56
+ useEnvironmentOptions: true,
57
+ });
58
+ const functionListCommand = {
59
+ command,
60
+ describe,
61
+ handler,
62
+ builder,
52
63
  };
64
+ exports.default = functionListCommand;
@@ -1 +1,10 @@
1
- export {};
1
+ import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, YargsCommandModule } from '../../types/Yargs';
2
+ type FunctionServerArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & {
3
+ path: string;
4
+ port?: string;
5
+ contact?: boolean;
6
+ watch?: boolean;
7
+ 'log-output'?: boolean;
8
+ };
9
+ declare const functionServerCommand: YargsCommandModule<unknown, FunctionServerArgs>;
10
+ export default functionServerCommand;
@@ -1,57 +1,68 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const { addAccountOptions, addConfigOptions, addUseEnvironmentOptions, } = require('../../lib/commonOpts');
5
- const { trackCommandUsage } = require('../../lib/usageTracking');
6
- const { logger } = require('@hubspot/local-dev-lib/logger');
3
+ const usageTracking_1 = require("../../lib/usageTracking");
4
+ const logger_1 = require("@hubspot/local-dev-lib/logger");
5
+ // This package is not typed, so we need to use require
7
6
  const { start: startTestServer } = require('@hubspot/serverless-dev-runtime');
8
- const { i18n } = require('../../lib/lang');
9
- exports.command = 'server <path>';
10
- exports.describe = false;
11
- exports.handler = async (options) => {
12
- const { path: functionPath, derivedAccountId } = options;
13
- trackCommandUsage('functions-server', null, derivedAccountId);
14
- logger.debug(i18n('commands.function.subcommands.server.debug.startingServer', {
7
+ const lang_1 = require("../../lib/lang");
8
+ const yargsUtils_1 = require("../../lib/yargsUtils");
9
+ const command = 'server <path>';
10
+ const describe = undefined;
11
+ async function handler(args) {
12
+ const { path: functionPath, derivedAccountId } = args;
13
+ (0, usageTracking_1.trackCommandUsage)('functions-server', undefined, derivedAccountId);
14
+ logger_1.logger.debug((0, lang_1.i18n)('commands.function.subcommands.server.debug.startingServer', {
15
15
  functionPath,
16
16
  }));
17
17
  startTestServer({
18
18
  accountId: derivedAccountId,
19
- ...options,
19
+ ...args,
20
20
  });
21
- };
22
- exports.builder = yargs => {
21
+ }
22
+ function functionServerBuilder(yargs) {
23
23
  yargs.positional('path', {
24
- describe: i18n('commands.function.subcommands.server.positionals.path.describe'),
25
- type: 'string',
26
- });
27
- yargs.option('port', {
28
- describe: i18n('commands.function.subcommands.server.options.port.describe'),
24
+ describe: (0, lang_1.i18n)('commands.function.subcommands.server.positionals.path.describe'),
29
25
  type: 'string',
30
- default: 5432,
31
- });
32
- yargs.option('contact', {
33
- describe: i18n('commands.function.subcommands.server.options.contact.describe'),
34
- type: 'boolean',
35
- default: true,
36
- });
37
- yargs.option('watch', {
38
- describe: i18n('commands.function.subcommands.server.options.watch.describe'),
39
- type: 'boolean',
40
- default: true,
41
26
  });
42
- yargs.option('log-output', {
43
- describe: i18n('commands.function.subcommands.server.options.logOutput.describe'),
44
- type: 'boolean',
45
- default: false,
27
+ yargs.options({
28
+ port: {
29
+ describe: (0, lang_1.i18n)('commands.function.subcommands.server.options.port.describe'),
30
+ type: 'string',
31
+ default: 5432,
32
+ },
33
+ contact: {
34
+ describe: (0, lang_1.i18n)('commands.function.subcommands.server.options.contact.describe'),
35
+ type: 'boolean',
36
+ default: true,
37
+ },
38
+ watch: {
39
+ describe: (0, lang_1.i18n)('commands.function.subcommands.server.options.watch.describe'),
40
+ type: 'boolean',
41
+ default: true,
42
+ },
43
+ 'log-output': {
44
+ describe: (0, lang_1.i18n)('commands.function.subcommands.server.options.logOutput.describe'),
45
+ type: 'boolean',
46
+ default: false,
47
+ },
46
48
  });
47
49
  yargs.example([
48
50
  [
49
51
  '$0 functions server ./tmp/myFunctionFolder.functions',
50
- i18n('commands.function.subcommands.server.examples.default'),
52
+ (0, lang_1.i18n)('commands.function.subcommands.server.examples.default'),
51
53
  ],
52
54
  ]);
53
- addConfigOptions(yargs);
54
- addAccountOptions(yargs);
55
- addUseEnvironmentOptions(yargs);
56
55
  return yargs;
56
+ }
57
+ const builder = (0, yargsUtils_1.makeYargsBuilder)(functionServerBuilder, command, describe, {
58
+ useConfigOptions: true,
59
+ useAccountOptions: true,
60
+ useEnvironmentOptions: true,
61
+ });
62
+ const functionServerCommand = {
63
+ command,
64
+ describe,
65
+ handler,
66
+ builder,
57
67
  };
68
+ exports.default = functionServerCommand;
@@ -1 +1,5 @@
1
- export {};
1
+ import { YargsCommandModuleBucket } from '../types/Yargs';
2
+ export declare const command: string[];
3
+ export declare const describe: string;
4
+ declare const functionCommand: YargsCommandModuleBucket;
5
+ export default functionCommand;