@hubspot/cli 3.0.13-beta.4 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/cli.js CHANGED
@@ -58,24 +58,55 @@ const getTerminalWidth = () => {
58
58
  return width;
59
59
  };
60
60
 
61
+ const handleFailure = (msg, err, yargs) => {
62
+ if (msg) {
63
+ logger.error(msg);
64
+ } else if (err) {
65
+ logErrorInstance(err);
66
+ }
67
+
68
+ if (msg === null) {
69
+ yargs.showHelp();
70
+ process.exit(EXIT_CODES.SUCCESS);
71
+ } else {
72
+ process.exit(EXIT_CODES.ERROR);
73
+ }
74
+ };
75
+
76
+ const performChecks = argv => {
77
+ // "hs config set default-account" has moved to "hs accounts use"
78
+ if (
79
+ argv._[0] === 'config' &&
80
+ argv._[1] === 'set' &&
81
+ argv._[2] === 'default-account'
82
+ ) {
83
+ logger.error(i18n(`${i18nKey}.setDefaultAccountMoved`));
84
+ process.exit(EXIT_CODES.ERROR);
85
+ }
86
+
87
+ // Require "project" command when running upload/watch inside of a project
88
+ if (argv._.length === 1 && ['upload', 'watch'].includes(argv._[0])) {
89
+ if (getIsInProject(argv.src)) {
90
+ logger.error(
91
+ i18n(`${i18nKey}.srcIsProject`, {
92
+ src: argv.src || './',
93
+ command: argv._.join(' '),
94
+ })
95
+ );
96
+ process.exit(EXIT_CODES.ERROR);
97
+ } else {
98
+ return true;
99
+ }
100
+ } else {
101
+ return true;
102
+ }
103
+ };
104
+
61
105
  const argv = yargs
62
106
  .usage('Tools for working with HubSpot')
63
107
  .middleware([setLogLevel])
64
108
  .exitProcess(false)
65
- .fail((msg, err, yargs) => {
66
- if (msg) {
67
- logger.error(msg);
68
- } else if (err) {
69
- logErrorInstance(err);
70
- }
71
-
72
- if (msg === null) {
73
- yargs.showHelp();
74
- process.exit(EXIT_CODES.SUCCESS);
75
- } else {
76
- process.exit(EXIT_CODES.ERROR);
77
- }
78
- })
109
+ .fail(handleFailure)
79
110
  .option('debug', {
80
111
  alias: 'd',
81
112
  default: false,
@@ -94,23 +125,7 @@ const argv = yargs
94
125
  hidden: true,
95
126
  type: 'boolean',
96
127
  })
97
- .check(argv => {
98
- if (argv._.length === 1 && ['upload', 'watch'].includes(argv._[0])) {
99
- if (getIsInProject(argv.src)) {
100
- logger.error(
101
- i18n(`${i18nKey}.srcIsProject`, {
102
- src: argv.src,
103
- command: argv._.join(' '),
104
- })
105
- );
106
- process.exit(EXIT_CODES.ERROR);
107
- } else {
108
- return true;
109
- }
110
- } else {
111
- return true;
112
- }
113
- })
128
+ .check(performChecks)
114
129
  .command(authCommand)
115
130
  .command(initCommand)
116
131
  .command(logsCommand)
@@ -33,7 +33,7 @@ const selectAccountFromConfig = async config => {
33
33
  return selectedDefault;
34
34
  };
35
35
 
36
- exports.command = 'use [account]';
36
+ exports.command = 'use [--account]';
37
37
  exports.describe = i18n(`${i18nKey}.describe`);
38
38
 
39
39
  exports.handler = async options => {
@@ -68,14 +68,17 @@ exports.handler = async options => {
68
68
  };
69
69
 
70
70
  exports.builder = yargs => {
71
- yargs.positional('account', {
72
- describe: i18n(`${i18nKey}.positionals.account.describe`),
71
+ yargs.option('account', {
72
+ describe: i18n(`${i18nKey}.options.account.describe`),
73
73
  type: 'string',
74
74
  });
75
75
  yargs.example([
76
76
  ['$0 accounts use', i18n(`${i18nKey}.examples.default`)],
77
- ['$0 accounts use MyAccount', i18n(`${i18nKey}.examples.nameBased`)],
78
- ['$0 accounts use 1234567', i18n(`${i18nKey}.examples.idBased`)],
77
+ [
78
+ '$0 accounts use --account=MyAccount',
79
+ i18n(`${i18nKey}.examples.nameBased`),
80
+ ],
81
+ ['$0 accounts use --account=1234567', i18n(`${i18nKey}.examples.idBased`)],
79
82
  ]);
80
83
 
81
84
  return yargs;
@@ -33,7 +33,7 @@ const selectOptions = async () => {
33
33
  };
34
34
 
35
35
  const handleConfigUpdate = async (accountId, options) => {
36
- const { defaultMode, httpTimeout, allowUsageTracking } = options;
36
+ const { allowUsageTracking, defaultMode, httpTimeout } = options;
37
37
 
38
38
  if (typeof defaultMode !== 'undefined') {
39
39
  await setDefaultMode({ defaultMode, accountId });
@@ -89,5 +89,8 @@ exports.builder = yargs => {
89
89
 
90
90
  yargs.example([['$0 config set', i18n(`${i18nKey}.examples.default`)]]);
91
91
 
92
+ //TODO remove this when "hs accounts use" is fully rolled out
93
+ yargs.strict(false);
94
+
92
95
  return yargs;
93
96
  };
package/lib/projects.js CHANGED
@@ -211,7 +211,7 @@ const getProjectDetailUrl = (projectName, accountId) => {
211
211
  if (!projectName) return;
212
212
 
213
213
  const baseUrl = getHubSpotWebsiteOrigin(
214
- getEnv() === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD
214
+ getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD
215
215
  );
216
216
 
217
217
  return `${baseUrl}/developer-projects/${accountId}/project/${projectName}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubspot/cli",
3
- "version": "3.0.13-beta.4",
3
+ "version": "4.0.0",
4
4
  "description": "CLI for working with HubSpot",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,8 +8,8 @@
8
8
  "url": "https://github.com/HubSpot/hubspot-cms-tools"
9
9
  },
10
10
  "dependencies": {
11
- "@hubspot/cli-lib": "3.0.13-beta.4",
12
- "@hubspot/serverless-dev-runtime": "3.0.13-beta.4",
11
+ "@hubspot/cli-lib": "4.0.0",
12
+ "@hubspot/serverless-dev-runtime": "4.0.0",
13
13
  "archiver": "^5.3.0",
14
14
  "chalk": "^4.1.2",
15
15
  "express": "^4.17.1",
@@ -37,5 +37,5 @@
37
37
  "publishConfig": {
38
38
  "access": "public"
39
39
  },
40
- "gitHead": "470770a002f503df0538286c22e990639033e572"
40
+ "gitHead": "c11f159c8768c0a0beac7b221d4c2489bcf0064d"
41
41
  }