@hubspot/cli 5.0.3-beta.1 → 5.0.3-beta.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 (45) hide show
  1. package/commands/accounts/clean.js +1 -1
  2. package/commands/accounts/info.js +1 -1
  3. package/commands/accounts/list.js +1 -1
  4. package/commands/cms/convertFields.js +10 -4
  5. package/commands/cms/lighthouseScore.js +1 -1
  6. package/commands/customObject/create.js +1 -1
  7. package/commands/customObject/schema/create.js +2 -2
  8. package/commands/customObject/schema/fetch-all.js +7 -2
  9. package/commands/customObject/schema/fetch.js +5 -2
  10. package/commands/customObject/schema/update.js +2 -2
  11. package/commands/filemanager/upload.js +1 -1
  12. package/commands/functions/list.js +1 -1
  13. package/commands/hubdb/create.js +1 -1
  14. package/commands/init.js +13 -4
  15. package/commands/project/create.js +1 -1
  16. package/commands/project/dev.js +1 -1
  17. package/commands/project/download.js +10 -3
  18. package/commands/project/listBuilds.js +2 -2
  19. package/commands/project/logs.js +2 -2
  20. package/commands/sandbox/create.js +1 -1
  21. package/commands/sandbox/delete.js +2 -2
  22. package/commands/sandbox/sync.js +1 -1
  23. package/commands/upload.js +2 -2
  24. package/commands/watch.js +1 -1
  25. package/lang/en.lyaml +8 -2
  26. package/lib/errorHandlers/standardErrors.js +14 -2
  27. package/lib/filesystem.js +1 -1
  28. package/lib/links.js +2 -2
  29. package/lib/logCallbacks.js +14 -0
  30. package/lib/oauth.js +1 -1
  31. package/lib/projectStructure.js +8 -2
  32. package/lib/projects.js +18 -3
  33. package/lib/projectsWatch.js +1 -1
  34. package/lib/prompts/createProjectPrompt.js +1 -1
  35. package/lib/prompts/personalAccessKeyPrompt.js +1 -1
  36. package/lib/prompts/projectDevTargetAccountPrompt.js +1 -1
  37. package/lib/prompts/uploadPrompt.js +1 -1
  38. package/lib/sandbox-create.js +2 -2
  39. package/lib/sandbox-sync.js +2 -2
  40. package/lib/sandboxes.js +2 -2
  41. package/lib/schema.js +1 -0
  42. package/lib/upload.js +9 -3
  43. package/lib/usageTracking.js +2 -4
  44. package/lib/validation.js +2 -2
  45. package/package.json +5 -5
@@ -15,7 +15,7 @@ const {
15
15
  } = require('../../lib/commonOpts');
16
16
  const { getAccountName } = require('../../lib/sandboxes');
17
17
  const { promptUser } = require('../../lib/prompts/promptUtils');
18
- const { getTableContents } = require('@hubspot/cli-lib/lib/table');
18
+ const { getTableContents } = require('@hubspot/local-dev-lib/logging/table');
19
19
  const SpinniesManager = require('../../lib/SpinniesManager');
20
20
  const { getConfig, deleteAccount } = require('@hubspot/local-dev-lib/config');
21
21
  const {
@@ -8,7 +8,7 @@ const {
8
8
  } = require('../../lib/commonOpts');
9
9
  const { loadAndValidateOptions } = require('../../lib/validation');
10
10
  const { i18n } = require('../../lib/lang');
11
- const { getTableContents } = require('@hubspot/cli-lib/lib/table');
11
+ const { getTableContents } = require('@hubspot/local-dev-lib/logging/table');
12
12
 
13
13
  const i18nKey = 'cli.commands.accounts.subcommands.info';
14
14
  exports.describe = i18n(`${i18nKey}.describe`);
@@ -3,7 +3,7 @@ const { getConfig, getConfigPath } = require('@hubspot/local-dev-lib/config');
3
3
  const {
4
4
  getTableContents,
5
5
  getTableHeader,
6
- } = require('@hubspot/cli-lib/lib/table');
6
+ } = require('@hubspot/local-dev-lib/logging/table');
7
7
 
8
8
  const {
9
9
  addConfigOptions,
@@ -1,10 +1,10 @@
1
1
  const path = require('path');
2
2
  const fs = require('fs');
3
3
  const { createIgnoreFilter } = require('@hubspot/local-dev-lib/ignoreRules');
4
- const { isAllowedExtension, getCwd } = require('@hubspot/cli-lib/path');
4
+ const { isAllowedExtension, getCwd } = require('@hubspot/local-dev-lib/path');
5
5
  const { logger } = require('@hubspot/cli-lib/logger');
6
- const { walk } = require('@hubspot/cli-lib/lib/walk');
7
- const { getThemeJSONPath } = require('@hubspot/cli-lib/lib/files');
6
+ const { walk } = require('@hubspot/local-dev-lib/fs');
7
+ const { getThemeJSONPath } = require('@hubspot/local-dev-lib/cms/themes');
8
8
  const { i18n } = require('../../lib/lang');
9
9
  const {
10
10
  FieldsJs,
@@ -12,6 +12,7 @@ const {
12
12
  } = require('@hubspot/cli-lib/lib/handleFieldsJs');
13
13
 
14
14
  const { trackConvertFieldsUsage } = require('../../lib/usageTracking');
15
+ const { logErrorInstance } = require('@hubspot/cli-lib/errorHandlers');
15
16
  const i18nKey = 'cli.commands.convertFields';
16
17
 
17
18
  exports.command = 'convert-fields';
@@ -54,7 +55,12 @@ exports.handler = async options => {
54
55
  if (fieldsJs.rejected) return;
55
56
  fieldsJs.saveOutput();
56
57
  } else if (stats.isDirectory()) {
57
- const filePaths = await walk(src);
58
+ let filePaths = [];
59
+ try {
60
+ filePaths = await walk(src);
61
+ } catch (e) {
62
+ logErrorInstance(e);
63
+ }
58
64
  const allowedFilePaths = filePaths
59
65
  .filter(file => {
60
66
  if (!isAllowedExtension(file)) {
@@ -9,7 +9,7 @@ const { logger } = require('@hubspot/cli-lib/logger');
9
9
  const {
10
10
  getTableContents,
11
11
  getTableHeader,
12
- } = require('@hubspot/cli-lib/lib/table');
12
+ } = require('@hubspot/local-dev-lib/logging/table');
13
13
  const { loadAndValidateOptions } = require('../../lib/validation');
14
14
  const { promptUser } = require('../../lib/prompts/promptUtils');
15
15
  const { i18n } = require('../../lib/lang');
@@ -1,6 +1,6 @@
1
1
  const { logger } = require('@hubspot/cli-lib/logger');
2
2
  const { logErrorInstance } = require('../../lib/errorHandlers/standardErrors');
3
- const { getAbsoluteFilePath } = require('@hubspot/cli-lib/path');
3
+ const { getAbsoluteFilePath } = require('@hubspot/local-dev-lib/path');
4
4
  const {
5
5
  isFileValidJSON,
6
6
  loadAndValidateOptions,
@@ -2,7 +2,7 @@ const { logger } = require('@hubspot/cli-lib/logger');
2
2
  const {
3
3
  logErrorInstance,
4
4
  } = require('../../../lib/errorHandlers/standardErrors');
5
- const { getAbsoluteFilePath } = require('@hubspot/cli-lib/path');
5
+ const { getAbsoluteFilePath } = require('@hubspot/local-dev-lib/path');
6
6
  const {
7
7
  isFileValidJSON,
8
8
  loadAndValidateOptions,
@@ -18,7 +18,7 @@ const { createSchema } = require('@hubspot/cli-lib/api/schema');
18
18
  const {
19
19
  createSchema: createSchemaFromHubFile,
20
20
  } = require('@hubspot/cli-lib/api/fileTransport');
21
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
21
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
22
22
  const { i18n } = require('../../../lib/lang');
23
23
 
24
24
  const i18nKey =
@@ -6,8 +6,12 @@ const {
6
6
  const { loadAndValidateOptions } = require('../../../lib/validation');
7
7
  const { trackCommandUsage } = require('../../../lib/usageTracking');
8
8
  const { getAccountId } = require('../../../lib/commonOpts');
9
- const { downloadSchemas, getResolvedPath } = require('@hubspot/cli-lib/schema');
9
+ const {
10
+ downloadSchemas,
11
+ getResolvedPath,
12
+ } = require('@hubspot/local-dev-lib/customObjects');
10
13
  const { i18n } = require('../../../lib/lang');
14
+ const { logSchemas } = require('../../../lib/schema');
11
15
 
12
16
  const i18nKey =
13
17
  'cli.commands.customObject.subcommands.schema.subcommands.fetchAll';
@@ -23,7 +27,8 @@ exports.handler = async options => {
23
27
  trackCommandUsage('custom-object-schema-fetch-all', null, accountId);
24
28
 
25
29
  try {
26
- await downloadSchemas(accountId, options.dest);
30
+ const schemas = await downloadSchemas(accountId, options.dest);
31
+ logSchemas(schemas);
27
32
  logger.success(
28
33
  i18n(`${i18nKey}.success.fetch`, {
29
34
  path: getResolvedPath(options.dest),
@@ -5,9 +5,12 @@ const {
5
5
  logErrorInstance,
6
6
  } = require('../../../lib/errorHandlers/standardErrors');
7
7
  const { ConfigFlags } = require('@hubspot/cli-lib/lib/constants');
8
- const { downloadSchema, getResolvedPath } = require('@hubspot/cli-lib/schema');
8
+ const {
9
+ downloadSchema,
10
+ getResolvedPath,
11
+ } = require('@hubspot/local-dev-lib/customObjects');
9
12
  const { fetchSchema } = require('@hubspot/cli-lib/api/fileTransport');
10
- const { getCwd } = require('@hubspot/cli-lib/path');
13
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
11
14
 
12
15
  const { loadAndValidateOptions } = require('../../../lib/validation');
13
16
  const { trackCommandUsage } = require('../../../lib/usageTracking');
@@ -2,7 +2,7 @@ const { logger } = require('@hubspot/cli-lib/logger');
2
2
  const {
3
3
  logErrorInstance,
4
4
  } = require('../../../lib/errorHandlers/standardErrors');
5
- const { getAbsoluteFilePath } = require('@hubspot/cli-lib/path');
5
+ const { getAbsoluteFilePath } = require('@hubspot/local-dev-lib/path');
6
6
  const {
7
7
  isFileValidJSON,
8
8
  loadAndValidateOptions,
@@ -18,7 +18,7 @@ const { updateSchema } = require('@hubspot/cli-lib/api/schema');
18
18
  const {
19
19
  updateSchema: updateSchemaFromHubFile,
20
20
  } = require('@hubspot/cli-lib/api/fileTransport');
21
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
21
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
22
22
  const { i18n } = require('../../../lib/lang');
23
23
 
24
24
  const i18nKey =
@@ -3,7 +3,7 @@ const path = require('path');
3
3
 
4
4
  const { uploadFolder } = require('@hubspot/cli-lib/fileManager');
5
5
  const { uploadFile } = require('@hubspot/cli-lib/api/fileManager');
6
- const { getCwd, convertToUnixPath } = require('@hubspot/cli-lib/path');
6
+ const { getCwd, convertToUnixPath } = require('@hubspot/local-dev-lib/path');
7
7
  const { logger } = require('@hubspot/cli-lib/logger');
8
8
  const {
9
9
  ApiErrorContext,
@@ -8,7 +8,7 @@ const { getFunctionArrays } = require('../../lib/getFunctionArrays');
8
8
  const {
9
9
  getTableContents,
10
10
  getTableHeader,
11
- } = require('@hubspot/cli-lib/lib/table');
11
+ } = require('@hubspot/local-dev-lib/logging/table');
12
12
 
13
13
  const {
14
14
  addConfigOptions,
@@ -2,7 +2,7 @@ const path = require('path');
2
2
 
3
3
  const { logger } = require('@hubspot/cli-lib/logger');
4
4
  const { logErrorInstance } = require('../../lib/errorHandlers/standardErrors');
5
- const { getCwd } = require('@hubspot/cli-lib/path');
5
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
6
6
  const { createHubDbTable } = require('@hubspot/cli-lib/hubdb');
7
7
 
8
8
  const {
package/commands/init.js CHANGED
@@ -8,8 +8,13 @@ const {
8
8
  } = require('@hubspot/local-dev-lib/config');
9
9
  const { addConfigOptions } = require('../lib/commonOpts');
10
10
  const { handleExit } = require('../lib/process');
11
- const { checkAndUpdateGitignore } = require('@hubspot/cli-lib/lib/git');
12
- const { logErrorInstance } = require('../lib/errorHandlers/standardErrors');
11
+ const {
12
+ checkAndAddConfigToGitignore,
13
+ } = require('@hubspot/local-dev-lib/gitignore');
14
+ const {
15
+ logErrorInstance,
16
+ debugErrorAndContext,
17
+ } = require('../lib/errorHandlers/standardErrors');
13
18
  const {
14
19
  DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME,
15
20
  PERSONAL_ACCESS_KEY_AUTH_METHOD,
@@ -21,7 +26,7 @@ const { logger } = require('@hubspot/cli-lib/logger');
21
26
  const {
22
27
  updateConfigWithPersonalAccessKey,
23
28
  } = require('@hubspot/cli-lib/personalAccessKey');
24
- const { getCwd } = require('@hubspot/cli-lib/path');
29
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
25
30
  const { trackCommandUsage, trackAuthAction } = require('../lib/usageTracking');
26
31
  const { setLogLevel, addTestingOptions } = require('../lib/commonOpts');
27
32
  const { promptUser } = require('../lib/prompts/promptUtils');
@@ -117,7 +122,11 @@ exports.handler = async options => {
117
122
  );
118
123
  const configPath = getConfigPath();
119
124
 
120
- checkAndUpdateGitignore(configPath);
125
+ try {
126
+ checkAndAddConfigToGitignore(configPath);
127
+ } catch (e) {
128
+ debugErrorAndContext(e);
129
+ }
121
130
 
122
131
  logger.log('');
123
132
  logger.success(
@@ -6,7 +6,7 @@ const {
6
6
  } = require('../../lib/commonOpts');
7
7
  const { trackCommandUsage } = require('../../lib/usageTracking');
8
8
  const { loadAndValidateOptions } = require('../../lib/validation');
9
- const { getCwd } = require('@hubspot/cli-lib/path');
9
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
10
10
  const path = require('path');
11
11
  const chalk = require('chalk');
12
12
  const {
@@ -57,7 +57,7 @@ const {
57
57
 
58
58
  const { buildSandbox } = require('../../lib/sandbox-create');
59
59
  const { syncSandbox } = require('../../lib/sandbox-sync');
60
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
60
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
61
61
  const {
62
62
  logApiErrorInstance,
63
63
  ApiErrorContext,
@@ -6,13 +6,13 @@ const {
6
6
  addUseEnvironmentOptions,
7
7
  } = require('../../lib/commonOpts');
8
8
  const { trackCommandUsage } = require('../../lib/usageTracking');
9
- const { getCwd } = require('@hubspot/cli-lib/path');
9
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
10
10
  const {
11
11
  logApiErrorInstance,
12
12
  ApiErrorContext,
13
13
  } = require('../../lib/errorHandlers/apiErrors');
14
14
  const { logger } = require('@hubspot/cli-lib/logger');
15
- const { extractZipArchive } = require('@hubspot/cli-lib/archive');
15
+ const { extractZipArchive } = require('@hubspot/local-dev-lib/archive');
16
16
  const {
17
17
  downloadProject,
18
18
  fetchProjectBuilds,
@@ -24,10 +24,16 @@ const {
24
24
  } = require('../../lib/prompts/downloadProjectPrompt');
25
25
  const { i18n } = require('../../lib/lang');
26
26
  const { uiBetaTag } = require('../../lib/ui');
27
+ const { buildLogCallbacks } = require('../../lib/logCallbacks');
27
28
 
28
29
  const i18nKey = 'cli.commands.project.subcommands.download';
29
30
  const { EXIT_CODES } = require('../../lib/enums/exitCodes');
30
31
 
32
+ const archiveLogCallbacks = buildLogCallbacks({
33
+ init: `${i18nKey}.archiveLogCallbacks.init`,
34
+ copy: `${i18nKey}.archiveLogCallbacks.copy`,
35
+ });
36
+
31
37
  exports.command = 'download [--project]';
32
38
  exports.describe = uiBetaTag(i18n(`${i18nKey}.describe`), false);
33
39
 
@@ -93,7 +99,8 @@ exports.handler = async options => {
93
99
  zippedProject,
94
100
  projectName,
95
101
  path.resolve(absoluteDestPath),
96
- { includesRootDir: false }
102
+ { includesRootDir: false },
103
+ archiveLogCallbacks
97
104
  );
98
105
 
99
106
  logger.log(
@@ -20,8 +20,8 @@ const {
20
20
  const {
21
21
  getTableContents,
22
22
  getTableHeader,
23
- } = require('@hubspot/cli-lib/lib/table');
24
- const { getCwd } = require('@hubspot/cli-lib/path');
23
+ } = require('@hubspot/local-dev-lib/logging/table');
24
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
25
25
  const { uiBetaTag, uiLink } = require('../../lib/ui');
26
26
  const { loadAndValidateOptions } = require('../../lib/validation');
27
27
  const {
@@ -1,5 +1,5 @@
1
1
  const { getEnv } = require('@hubspot/local-dev-lib/config');
2
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
2
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
3
3
  const { ENVIRONMENTS } = require('@hubspot/cli-lib/lib/constants');
4
4
  const {
5
5
  addAccountOptions,
@@ -17,7 +17,7 @@ const {
17
17
  const {
18
18
  getTableContents,
19
19
  getTableHeader,
20
- } = require('@hubspot/cli-lib/lib/table');
20
+ } = require('@hubspot/local-dev-lib/logging/table');
21
21
  // const {
22
22
  // getProjectAppFunctionLogs,
23
23
  // getLatestProjectAppFunctionLog,
@@ -34,7 +34,7 @@ const { promptUser } = require('../../lib/prompts/promptUtils');
34
34
  const { syncSandbox } = require('../../lib/sandbox-sync');
35
35
  const { logErrorInstance } = require('../../lib/errorHandlers/standardErrors');
36
36
  const { isMissingScopeError } = require('../../lib/errorHandlers/apiErrors');
37
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
37
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
38
38
 
39
39
  const i18nKey = 'cli.commands.sandbox.subcommands.create';
40
40
 
@@ -16,7 +16,7 @@ const {
16
16
  isSpecifiedError,
17
17
  isSpecifiedHubSpotAuthError,
18
18
  } = require('../../lib/errorHandlers/apiErrors');
19
- const { deleteSandbox } = require('@hubspot/cli-lib/sandboxes');
19
+ const { deleteSandbox } = require('@hubspot/local-dev-lib/sandboxes');
20
20
  const { i18n } = require('../../lib/lang');
21
21
  const { deleteSandboxPrompt } = require('../../lib/prompts/sandboxesPrompt');
22
22
  const {
@@ -31,7 +31,7 @@ const {
31
31
  } = require('../../lib/prompts/accountsPrompt');
32
32
  const { EXIT_CODES } = require('../../lib/enums/exitCodes');
33
33
  const { promptUser } = require('../../lib/prompts/promptUtils');
34
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
34
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
35
35
 
36
36
  const { getAccountName } = require('../../lib/sandboxes');
37
37
  const { getValidEnv } = require('@hubspot/local-dev-lib/environment');
@@ -11,7 +11,7 @@ const { loadAndValidateOptions } = require('../../lib/validation');
11
11
  const { i18n } = require('../../lib/lang');
12
12
  const { EXIT_CODES } = require('../../lib/enums/exitCodes');
13
13
  const { getAccountConfig, getEnv } = require('@hubspot/local-dev-lib/config');
14
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
14
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
15
15
  const { promptUser } = require('../../lib/prompts/promptUtils');
16
16
  const { uiLine } = require('../../lib/ui');
17
17
  const {
@@ -7,7 +7,7 @@ const {
7
7
  getCwd,
8
8
  convertToUnixPath,
9
9
  isAllowedExtension,
10
- } = require('@hubspot/cli-lib/path');
10
+ } = require('@hubspot/local-dev-lib/path');
11
11
  const { logger } = require('@hubspot/cli-lib/logger');
12
12
  const {
13
13
  ApiErrorContext,
@@ -33,7 +33,7 @@ const { getUploadableFileList } = require('../lib/upload');
33
33
  const {
34
34
  getThemePreviewUrl,
35
35
  getThemeJSONPath,
36
- } = require('@hubspot/cli-lib/lib/files');
36
+ } = require('@hubspot/local-dev-lib/cms/themes');
37
37
  const { i18n } = require('../lib/lang');
38
38
  const i18nKey = 'cli.commands.upload';
39
39
  const { EXIT_CODES } = require('../lib/enums/exitCodes');
package/commands/watch.js CHANGED
@@ -2,7 +2,7 @@ const fs = require('fs');
2
2
  const path = require('path');
3
3
 
4
4
  const { watch } = require('@hubspot/cli-lib');
5
- const { getCwd } = require('@hubspot/cli-lib/path');
5
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
6
6
  const { logger } = require('@hubspot/cli-lib/logger');
7
7
 
8
8
  const {
package/lang/en.lyaml CHANGED
@@ -631,6 +631,9 @@ en:
631
631
  describe: "The name of the project to download"
632
632
  dest:
633
633
  describe: "Destination folder for the project"
634
+ archiveLogCallbacks:
635
+ init: "Extracting project source..."
636
+ copy: "Copying project source..."
634
637
  open:
635
638
  describe: "Open the specified project's details page in the browser"
636
639
  options:
@@ -949,8 +952,10 @@ en:
949
952
  feedbackHeader: "We'd love to hear your feedback!"
950
953
  feedbackMessage: "How are you liking the new projects and developer tools? \n > Run `{{#yellow}}hs feedback{{/yellow}}` to let us know what you think!\n"
951
954
  showPlatformVersionWarning:
952
- noPlatformVersion: "No platformVersion found in hsproject.json. Falling back to version \"{{ defaultVersion }}\"."
953
- noPlatformVersionAlt: "No platformVersion found in hsproject.json. Falling back to default version."
955
+ docsLink: "Projects platform versioning (BETA)"
956
+ noPlatformVersion: "No platformVersion found in hsproject.json. Falling back to version \"{{ defaultVersion }}\". Starting Mar 31, 2024, new project builds without a specified version will no longer be supported. To update your project to the latest version, see {{ docsLink }}."
957
+ noPlatformVersionAlt: "No platformVersion found in hsproject.json. Falling back to default version. Starting Mar 31, 2024, new project builds without a specified version will no longer be supported. To update your project to the latest version, see {{ docsLink }}."
958
+ deprecatedVersion: "Starting Mar 31, 2024, new project builds with platformVersion 2023.1 or unspecified versions will no longer be supported. It's recommended that you update your project to the latest version. For more info, see {{ docsLink }}."
954
959
  ui:
955
960
  betaTag: "{{#bold}}[BETA]{{/bold}}"
956
961
  betaWarning:
@@ -1271,6 +1276,7 @@ en:
1271
1276
  standardErrors:
1272
1277
  errorOccurred: "Error: {{ error }}"
1273
1278
  errorContext: "Context: {{ context }}"
1279
+ errorCause: "Cause: {{ cause }}"
1274
1280
  systemErrorOccurred: "A system error has occurred: {{ errorMessage }}"
1275
1281
  genericErrorOccurred: "A {{ name }} has occurred."
1276
1282
  unknownErrorOccurred: "An unknown error has occurred"
@@ -1,3 +1,4 @@
1
+ const util = require('util');
1
2
  const { HubSpotAuthError } = require('@hubspot/cli-lib/lib/models/Errors');
2
3
  const { logger } = require('@hubspot/cli-lib/logger');
3
4
  const { i18n } = require('../lang');
@@ -40,7 +41,18 @@ function debugErrorAndContext(error, context) {
40
41
  } else {
41
42
  logger.debug(i18n(`${i18nKey}.errorOccurred`, { error }));
42
43
  }
43
- logger.debug(i18n(`${i18nKey}.errorContext`, { context }));
44
+ if (error.cause) {
45
+ logger.debug(
46
+ i18n(`${i18nKey}.errorCause`, {
47
+ cause: util.inspect(error.cause, false, null, true),
48
+ })
49
+ );
50
+ }
51
+ logger.debug(
52
+ i18n(`${i18nKey}.errorContext`, {
53
+ context: util.inspect(context, false, null, true),
54
+ })
55
+ );
44
56
  }
45
57
 
46
58
  /**
@@ -73,7 +85,7 @@ function logErrorInstance(error, context) {
73
85
  // Error or Error subclass
74
86
  const name = error.name || 'Error';
75
87
  const message = [i18n(`${i18nKey}.genericErrorOccurred`, { name })];
76
- [(error.message, error.reason)].forEach(msg => {
88
+ [error.message, error.reason].forEach(msg => {
77
89
  if (msg) {
78
90
  message.push(msg);
79
91
  }
package/lib/filesystem.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const path = require('path');
2
- const { getCwd } = require('@hubspot/cli-lib/path');
2
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
3
3
  const { FOLDER_DOT_EXTENSIONS } = require('@hubspot/cli-lib/lib/constants');
4
4
 
5
5
  function resolveLocalPath(filepath) {
package/lib/links.js CHANGED
@@ -1,11 +1,11 @@
1
1
  const { getEnv } = require('@hubspot/local-dev-lib/config');
2
2
  const { ENVIRONMENTS } = require('@hubspot/cli-lib/lib/constants');
3
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
3
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
4
4
  const { logger } = require('@hubspot/cli-lib/logger');
5
5
  const {
6
6
  getTableContents,
7
7
  getTableHeader,
8
- } = require('@hubspot/cli-lib/lib/table');
8
+ } = require('@hubspot/local-dev-lib/logging/table');
9
9
 
10
10
  const open = require('open');
11
11
 
@@ -0,0 +1,14 @@
1
+ const { logger } = require('@hubspot/cli-lib/logger');
2
+ const { i18n } = require('./lang');
3
+
4
+ function buildLogCallbacks(logData) {
5
+ const callbacksObject = {};
6
+ for (let key in logData) {
7
+ callbacksObject[key] = () => logger.log(i18n(logData[key]));
8
+ }
9
+ return callbacksObject;
10
+ }
11
+
12
+ module.exports = {
13
+ buildLogCallbacks,
14
+ };
package/lib/oauth.js CHANGED
@@ -4,7 +4,7 @@ const OAuth2Manager = require('@hubspot/cli-lib/lib/models/OAuth2Manager');
4
4
  const { getAccountConfig } = require('@hubspot/local-dev-lib/config');
5
5
  const { addOauthToAccountConfig } = require('@hubspot/cli-lib/oauth');
6
6
  const { handleExit } = require('./process');
7
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
7
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
8
8
  const { logger } = require('@hubspot/cli-lib/logger');
9
9
  const { ENVIRONMENTS } = require('@hubspot/cli-lib/lib/constants');
10
10
 
@@ -1,7 +1,8 @@
1
1
  const fs = require('fs');
2
2
  const path = require('path');
3
- const { walk } = require('@hubspot/cli-lib/lib/walk');
3
+ const { walk } = require('@hubspot/local-dev-lib/fs');
4
4
  const { logger } = require('@hubspot/cli-lib/logger');
5
+ const { logErrorInstance } = require('./errorHandlers/standardErrors');
5
6
 
6
7
  const COMPONENT_TYPES = Object.freeze({
7
8
  app: 'app',
@@ -73,8 +74,13 @@ function getIsLegacyApp(appConfig, appPath) {
73
74
 
74
75
  async function findProjectComponents(projectSourceDir) {
75
76
  const components = [];
77
+ let projectFiles = [];
76
78
 
77
- const projectFiles = await walk(projectSourceDir);
79
+ try {
80
+ projectFiles = await walk(projectSourceDir);
81
+ } catch (e) {
82
+ logErrorInstance(e);
83
+ }
78
84
 
79
85
  projectFiles.forEach(projectFile => {
80
86
  // Find app components
package/lib/projects.js CHANGED
@@ -6,7 +6,7 @@ const chalk = require('chalk');
6
6
  const findup = require('findup-sync');
7
7
  const { logger } = require('@hubspot/cli-lib/logger');
8
8
  const { getEnv } = require('@hubspot/local-dev-lib/config');
9
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
9
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
10
10
  const {
11
11
  ENVIRONMENTS,
12
12
  FEEDBACK_INTERVAL,
@@ -30,7 +30,7 @@ const {
30
30
  uploadProject,
31
31
  } = require('@hubspot/cli-lib/api/dfs');
32
32
  const { shouldIgnoreFile } = require('@hubspot/local-dev-lib/ignoreRules');
33
- const { getCwd, getAbsoluteFilePath } = require('@hubspot/cli-lib/path');
33
+ const { getCwd, getAbsoluteFilePath } = require('@hubspot/local-dev-lib/path');
34
34
  const { downloadGitHubRepoContents } = require('@hubspot/cli-lib/github');
35
35
  const { promptUser } = require('./prompts/promptUtils');
36
36
  const { EXIT_CODES } = require('./enums/exitCodes');
@@ -870,6 +870,10 @@ const createProjectComponent = async (
870
870
 
871
871
  const showPlatformVersionWarning = async (accountId, projectConfig) => {
872
872
  const platformVersion = projectConfig.platformVersion;
873
+ const docsLink = uiLink(
874
+ i18n(`${i18nKey}.showPlatformVersionWarning.docsLink`),
875
+ 'https://developers.hubspot.com/docs/platform/platform-versioning'
876
+ );
873
877
 
874
878
  if (!platformVersion) {
875
879
  try {
@@ -878,17 +882,28 @@ const showPlatformVersionWarning = async (accountId, projectConfig) => {
878
882
  logger.warn(
879
883
  i18n(`${i18nKey}.showPlatformVersionWarning.noPlatformVersion`, {
880
884
  defaultVersion,
885
+ docsLink,
881
886
  })
882
887
  );
883
888
  logger.log('');
884
889
  } catch (e) {
885
890
  logger.log('');
886
891
  logger.warn(
887
- i18n(`${i18nKey}.showPlatformVersionWarning.noPlatformVersionAlt`)
892
+ i18n(`${i18nKey}.showPlatformVersionWarning.noPlatformVersionAlt`, {
893
+ docsLink,
894
+ })
888
895
  );
889
896
  logger.log('');
890
897
  logger.debug(e.error);
891
898
  }
899
+ } else if (platformVersion === '2023.1') {
900
+ logger.log('');
901
+ logger.warn(
902
+ i18n(`${i18nKey}.showPlatformVersionWarning.deprecatedVersion`, {
903
+ docsLink,
904
+ })
905
+ );
906
+ logger.log('');
892
907
  }
893
908
  };
894
909
 
@@ -8,7 +8,7 @@ const {
8
8
  } = require('./errorHandlers/apiErrors');
9
9
  const { i18n } = require('@hubspot/cli-lib/lib/lang');
10
10
  const { logger } = require('@hubspot/cli-lib/logger');
11
- const { isAllowedExtension } = require('@hubspot/cli-lib/path');
11
+ const { isAllowedExtension } = require('@hubspot/local-dev-lib/path');
12
12
  const { shouldIgnoreFile } = require('@hubspot/local-dev-lib/ignoreRules');
13
13
  const {
14
14
  cancelStagedBuild,
@@ -1,5 +1,5 @@
1
1
  const path = require('path');
2
- const { getCwd } = require('@hubspot/cli-lib/path');
2
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
3
3
  const {
4
4
  PROJECT_COMPONENT_TYPES,
5
5
  PROJECT_PROPERTIES,
@@ -4,7 +4,7 @@ const {
4
4
  DEFAULT_OAUTH_SCOPES,
5
5
  } = require('@hubspot/cli-lib/lib/constants');
6
6
  const { deleteEmptyConfigFile } = require('@hubspot/local-dev-lib/config');
7
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
7
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
8
8
  const { logger } = require('@hubspot/cli-lib/logger');
9
9
  const { promptUser } = require('./promptUtils');
10
10
  const { accountNamePrompt } = require('./enterAccountNamePrompt');
@@ -3,7 +3,7 @@ const { i18n } = require('../lang');
3
3
  const { uiAccountDescription, uiCommandReference } = require('../ui');
4
4
  const { isSandbox, getAccountName } = require('../sandboxes');
5
5
  const { getAccountId } = require('@hubspot/local-dev-lib/config');
6
- const { getSandboxUsageLimits } = require('@hubspot/cli-lib/sandboxes');
6
+ const { getSandboxUsageLimits } = require('@hubspot/local-dev-lib/sandboxes');
7
7
  const { logger } = require('@hubspot/cli-lib/logger');
8
8
 
9
9
  const i18nKey = 'cli.lib.prompts.projectDevTargetAccountPrompt';
@@ -1,5 +1,5 @@
1
1
  const path = require('path');
2
- const { getCwd } = require('@hubspot/cli-lib/path');
2
+ const { getCwd } = require('@hubspot/local-dev-lib/path');
3
3
  const { promptUser } = require('./promptUtils');
4
4
  const { i18n } = require('../lang');
5
5
 
@@ -17,9 +17,9 @@ const {
17
17
  isMissingScopeError,
18
18
  isSpecifiedError,
19
19
  } = require('./errorHandlers/apiErrors');
20
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
20
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
21
21
  const { getEnv, getAccountId } = require('@hubspot/local-dev-lib/config');
22
- const { createSandbox } = require('@hubspot/cli-lib/sandboxes');
22
+ const { createSandbox } = require('@hubspot/local-dev-lib/sandboxes');
23
23
  const { getValidEnv } = require('@hubspot/local-dev-lib/environment');
24
24
 
25
25
  const i18nKey = 'cli.lib.sandbox.create';
@@ -1,5 +1,5 @@
1
1
  const SpinniesManager = require('./SpinniesManager');
2
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
2
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
3
3
  const { logger } = require('@hubspot/cli-lib/logger');
4
4
  const { i18n } = require('./lang');
5
5
  const {
@@ -10,7 +10,7 @@ const {
10
10
  sandboxTypeMap,
11
11
  syncTypes,
12
12
  } = require('./sandboxes');
13
- const { initiateSync } = require('@hubspot/cli-lib/sandboxes');
13
+ const { initiateSync } = require('@hubspot/local-dev-lib/sandboxes');
14
14
  const {
15
15
  debugErrorAndContext,
16
16
  logErrorInstance,
package/lib/sandboxes.js CHANGED
@@ -11,7 +11,7 @@ const {
11
11
  fetchTaskStatus,
12
12
  fetchTypes,
13
13
  getSandboxUsageLimits,
14
- } = require('@hubspot/cli-lib/sandboxes');
14
+ } = require('@hubspot/local-dev-lib/sandboxes');
15
15
  const {
16
16
  accountNameExistsInConfig,
17
17
  getConfig,
@@ -21,7 +21,7 @@ const {
21
21
  } = require('@hubspot/local-dev-lib/config');
22
22
  const CliProgressMultibarManager = require('./CliProgressMultibarManager');
23
23
  const { promptUser } = require('./prompts/promptUtils');
24
- const { getHubSpotWebsiteOrigin } = require('@hubspot/cli-lib/lib/urls');
24
+ const { getHubSpotWebsiteOrigin } = require('@hubspot/local-dev-lib/urls');
25
25
  const {
26
26
  personalAccessKeyPrompt,
27
27
  } = require('./prompts/personalAccessKeyPrompt');
package/lib/schema.js CHANGED
@@ -27,5 +27,6 @@ const listSchemas = async accountId => {
27
27
  };
28
28
 
29
29
  module.exports = {
30
+ logSchemas,
30
31
  listSchemas,
31
32
  };
package/lib/upload.js CHANGED
@@ -1,16 +1,22 @@
1
1
  const path = require('path');
2
- const { walk } = require('@hubspot/cli-lib/lib/walk');
2
+ const { walk } = require('@hubspot/local-dev-lib/fs');
3
3
  const { createIgnoreFilter } = require('@hubspot/local-dev-lib/ignoreRules');
4
4
  const { fieldsJsPrompt } = require('../lib/prompts/cmsFieldPrompt');
5
- const { isAllowedExtension } = require('@hubspot/cli-lib/path');
5
+ const { isAllowedExtension } = require('@hubspot/local-dev-lib/path');
6
6
  const { isConvertableFieldJs } = require('@hubspot/cli-lib/lib/handleFieldsJs');
7
+ const { logErrorInstance } = require('./errorHandlers/standardErrors');
7
8
 
8
9
  /*
9
10
  * Walks the src folder for files, filters them based on ignore filter.
10
11
  * If convertFields is true then will check for any JS fields conflicts (i.e., JS fields file and fields.json file) and prompt to resolve
11
12
  */
12
13
  const getUploadableFileList = async (src, convertFields) => {
13
- const filePaths = await walk(src);
14
+ let filePaths = [];
15
+ try {
16
+ filePaths = await walk(src);
17
+ } catch (e) {
18
+ logErrorInstance(e);
19
+ }
14
20
  const allowedFiles = filePaths
15
21
  .filter(file => {
16
22
  if (!isAllowedExtension(file)) {
@@ -1,4 +1,4 @@
1
- const { trackUsage } = require('@hubspot/cli-lib/api/fileMapper');
1
+ const { trackUsage } = require('@hubspot/local-dev-lib/trackUsage');
2
2
  const {
3
3
  isTrackingAllowed,
4
4
  getAccountConfig,
@@ -138,7 +138,7 @@ const trackAuthAction = async (command, authType, step, accountId) => {
138
138
  step,
139
139
  };
140
140
  try {
141
- const response = await trackUsage(
141
+ await trackUsage(
142
142
  'cli-interaction',
143
143
  EventClass.INTERACTION,
144
144
  usageTrackingEvent,
@@ -146,8 +146,6 @@ const trackAuthAction = async (command, authType, step, accountId) => {
146
146
  );
147
147
 
148
148
  logger.debug('Sent usage tracking command event: %o', usageTrackingEvent);
149
-
150
- return response;
151
149
  } catch (e) {
152
150
  logger.debug('Auth action tracking failed: %s', e.message);
153
151
  }
package/lib/validation.js CHANGED
@@ -13,12 +13,12 @@ const {
13
13
  getAccountConfig,
14
14
  loadConfigFromEnvironment,
15
15
  } = require('@hubspot/local-dev-lib/config');
16
- const { getAbsoluteFilePath } = require('@hubspot/cli-lib/path');
16
+ const { getAbsoluteFilePath } = require('@hubspot/local-dev-lib/path');
17
17
  const { getOauthManager } = require('@hubspot/cli-lib/oauth');
18
18
  const {
19
19
  accessTokenForPersonalAccessKey,
20
20
  } = require('@hubspot/cli-lib/personalAccessKey');
21
- const { getCwd, getExt } = require('@hubspot/cli-lib/path');
21
+ const { getCwd, getExt } = require('@hubspot/local-dev-lib/path');
22
22
  const { getAccountId, getMode, setLogLevel } = require('./commonOpts');
23
23
  const { logDebugInfo } = require('./debugInfo');
24
24
  const fs = require('fs');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubspot/cli",
3
- "version": "5.0.3-beta.1",
3
+ "version": "5.0.3-beta.2",
4
4
  "description": "CLI for working with HubSpot",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -9,9 +9,9 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@hubspot/cli-lib": "^7.0.0",
12
- "@hubspot/local-dev-lib": "^0.0.9",
13
- "@hubspot/serverless-dev-runtime": "5.0.3-beta.1",
14
- "@hubspot/ui-extensions-dev-server": "^0.8.0",
12
+ "@hubspot/local-dev-lib": "^0.0.11",
13
+ "@hubspot/serverless-dev-runtime": "5.0.3-beta.2",
14
+ "@hubspot/ui-extensions-dev-server": "0.8.4",
15
15
  "archiver": "^5.3.0",
16
16
  "chalk": "^4.1.2",
17
17
  "chokidar": "^3.0.1",
@@ -45,5 +45,5 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "2e093e81e1889cfc7274de18d2e3c79987d62bfc"
48
+ "gitHead": "7f80c0ccf8a6b02e0e9be366cff2b418b85e3d3b"
49
49
  }