@hubspot/local-dev-lib 0.6.1-experimental.0 → 0.6.3-experimental.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/api/appsDev.d.ts +2 -2
- package/api/appsDev.js +13 -22
- package/api/crm.d.ts +2 -2
- package/api/crm.js +9 -16
- package/api/customObjects.d.ts +2 -2
- package/api/customObjects.js +13 -22
- package/api/designManager.d.ts +2 -2
- package/api/designManager.js +5 -10
- package/api/devSecrets.d.ts +2 -2
- package/api/devSecrets.js +9 -16
- package/api/developerTestAccounts.d.ts +2 -4
- package/api/developerTestAccounts.js +23 -55
- package/api/fileManager.d.ts +2 -2
- package/api/fileManager.js +14 -24
- package/api/fileMapper.d.ts +2 -3
- package/api/fileMapper.js +34 -49
- package/api/fileTransport.d.ts +1 -1
- package/api/fileTransport.js +12 -21
- package/api/fireAlarm.d.ts +2 -3
- package/api/fireAlarm.js +5 -9
- package/api/functions.d.ts +2 -2
- package/api/functions.js +11 -19
- package/api/github.d.ts +2 -4
- package/api/github.js +16 -27
- package/api/hubdb.d.ts +2 -2
- package/api/hubdb.js +19 -31
- package/api/lighthouseScore.d.ts +2 -2
- package/api/lighthouseScore.js +7 -13
- package/api/localDevAuth.d.ts +3 -6
- package/api/localDevAuth.js +10 -40
- package/api/marketplaceValidation.d.ts +2 -2
- package/api/marketplaceValidation.js +7 -13
- package/api/projects.d.ts +6 -8
- package/api/projects.js +65 -100
- package/api/sandboxHubs.d.ts +2 -5
- package/api/sandboxHubs.js +15 -45
- package/api/sandboxSync.d.ts +2 -2
- package/api/sandboxSync.js +7 -12
- package/api/secrets.d.ts +2 -2
- package/api/secrets.js +9 -16
- package/api/validateHubl.d.ts +2 -2
- package/api/validateHubl.js +3 -7
- package/config/defaultAccountOverride.d.ts +2 -1
- package/config/defaultAccountOverride.js +16 -26
- package/config/index.d.ts +4 -4
- package/config/index.js +144 -177
- package/config/migrate.d.ts +2 -2
- package/config/migrate.js +26 -37
- package/config/state.d.ts +1 -1
- package/config/state.js +17 -45
- package/config/utils.d.ts +4 -4
- package/config/utils.js +85 -108
- package/constants/api.js +3 -6
- package/constants/auth.js +9 -12
- package/constants/config.d.ts +30 -1
- package/constants/config.js +65 -42
- package/constants/endpoints.d.ts +6 -0
- package/constants/endpoints.js +6 -0
- package/constants/environments.js +1 -4
- package/constants/extensions.js +6 -9
- package/constants/files.js +5 -8
- package/constants/ports.js +3 -6
- package/constants/projects.js +2 -5
- package/enums/build.d.ts +1 -0
- package/enums/build.js +6 -8
- package/enums/deploy.js +2 -5
- package/enums/project.js +1 -4
- package/errors/index.d.ts +4 -5
- package/errors/index.js +17 -39
- package/errors/isSystemError.d.ts +2 -0
- package/errors/isSystemError.js +9 -0
- package/http/addQueryParams.d.ts +1 -1
- package/http/addQueryParams.js +1 -5
- package/http/client.d.ts +1 -0
- package/http/client.js +54 -0
- package/http/getAxiosConfig.d.ts +1 -1
- package/http/getAxiosConfig.js +21 -31
- package/http/index.d.ts +2 -2
- package/http/index.js +39 -124
- package/http/unauthed.d.ts +1 -1
- package/http/unauthed.js +15 -21
- package/lang/en.json +3 -2
- package/lib/archive.d.ts +1 -3
- package/lib/archive.js +37 -67
- package/lib/cms/functions.d.ts +1 -1
- package/lib/cms/functions.js +45 -55
- package/lib/cms/handleFieldsJS.js +36 -44
- package/lib/cms/modules.d.ts +2 -2
- package/lib/cms/modules.js +49 -59
- package/lib/cms/processFieldsJs.js +17 -32
- package/lib/cms/templates.js +17 -26
- package/lib/cms/themes.js +10 -18
- package/lib/cms/uploadFolder.d.ts +4 -4
- package/lib/cms/uploadFolder.js +55 -64
- package/lib/cms/validate.d.ts +1 -1
- package/lib/cms/validate.js +11 -18
- package/lib/cms/watch.d.ts +2 -2
- package/lib/cms/watch.js +66 -73
- package/lib/crm.d.ts +1 -1
- package/lib/crm.js +15 -23
- package/lib/customObjects.d.ts +1 -1
- package/lib/customObjects.js +15 -25
- package/lib/environment.d.ts +1 -1
- package/lib/environment.js +5 -11
- package/lib/escapeRegExp.js +1 -5
- package/lib/fileManager.js +43 -51
- package/lib/fileMapper.d.ts +1 -1
- package/lib/fileMapper.js +68 -84
- package/lib/fs.d.ts +1 -1
- package/lib/fs.js +18 -27
- package/lib/github.d.ts +1 -3
- package/lib/github.js +39 -51
- package/lib/gitignore.d.ts +1 -1
- package/lib/gitignore.js +16 -24
- package/lib/hubdb.d.ts +1 -1
- package/lib/hubdb.js +29 -40
- package/lib/ignoreRules.js +25 -34
- package/lib/isDeepEqual.js +1 -5
- package/lib/logger.d.ts +8 -20
- package/lib/logger.js +47 -59
- package/lib/notify.js +9 -16
- package/lib/oauth.d.ts +2 -2
- package/lib/oauth.js +12 -17
- package/lib/path.d.ts +0 -1
- package/lib/path.js +30 -48
- package/lib/personalAccessKey.d.ts +2 -4
- package/lib/personalAccessKey.js +43 -60
- package/lib/portManager.d.ts +2 -2
- package/lib/portManager.js +26 -41
- package/lib/text.js +2 -7
- package/lib/trackUsage.d.ts +0 -2
- package/lib/trackUsage.js +27 -31
- package/lib/urls.js +4 -9
- package/models/FileSystemError.d.ts +1 -1
- package/models/FileSystemError.js +12 -16
- package/models/HubSpotConfigError.d.ts +1 -1
- package/models/HubSpotConfigError.js +8 -12
- package/models/HubSpotHttpError.d.ts +1 -1
- package/models/HubSpotHttpError.js +22 -26
- package/models/OAuth2Manager.d.ts +1 -1
- package/models/OAuth2Manager.js +17 -24
- package/package.json +21 -17
- package/types/Accounts.d.ts +6 -5
- package/types/Accounts.js +1 -2
- package/types/Activity.d.ts +3 -3
- package/types/Activity.js +1 -2
- package/types/Api.d.ts +1 -1
- package/types/Api.js +1 -2
- package/types/Apps.js +1 -2
- package/types/Archive.js +1 -2
- package/types/Build.d.ts +4 -5
- package/types/Build.js +1 -2
- package/types/CLIOptions.js +1 -2
- package/types/ComponentStructure.d.ts +2 -2
- package/types/ComponentStructure.js +1 -2
- package/types/Config.d.ts +4 -6
- package/types/Config.js +1 -2
- package/types/Crm.js +1 -2
- package/types/Deploy.d.ts +5 -11
- package/types/Deploy.js +1 -2
- package/types/DesignManager.js +1 -2
- package/types/DevSecrets.js +1 -2
- package/types/Error.js +1 -2
- package/types/FieldsJS.js +1 -2
- package/types/FileManager.js +1 -2
- package/types/Files.d.ts +4 -4
- package/types/Files.js +1 -2
- package/types/FireAlarm.js +1 -2
- package/types/Functions.js +1 -2
- package/types/Github.d.ts +1 -1
- package/types/Github.js +1 -2
- package/types/Http.d.ts +0 -4
- package/types/Http.js +1 -2
- package/types/Hubdb.js +1 -2
- package/types/HublValidation.js +1 -2
- package/types/Lang.d.ts +1 -1
- package/types/Lang.js +1 -2
- package/types/Lighthouse.js +1 -2
- package/types/MarketplaceValidation.js +1 -2
- package/types/Migration.d.ts +2 -2
- package/types/Migration.js +1 -4
- package/types/Modules.js +1 -2
- package/types/PortManager.js +1 -2
- package/types/Project.d.ts +3 -21
- package/types/Project.js +1 -2
- package/types/ProjectComponents.d.ts +24 -0
- package/types/ProjectComponents.js +1 -0
- package/types/ProjectLog.js +1 -2
- package/types/Sandbox.js +2 -5
- package/types/Schemas.js +1 -2
- package/types/Secrets.js +1 -2
- package/types/Utils.js +1 -2
- package/types/developerTestAccounts.js +1 -2
- package/utils/PortManagerServer.d.ts +1 -2
- package/utils/PortManagerServer.js +32 -38
- package/utils/cms/fieldsJS.d.ts +1 -1
- package/utils/cms/fieldsJS.js +1 -5
- package/utils/cms/modules.d.ts +1 -1
- package/utils/cms/modules.js +13 -22
- package/utils/detectPort.js +12 -19
- package/utils/git.js +17 -26
- package/utils/lang.d.ts +1 -1
- package/utils/lang.js +5 -14
- package/utils/personalAccessKey.d.ts +8 -0
- package/utils/personalAccessKey.js +51 -0
- package/errors/errors_DEPRECATED.d.ts +0 -3
- package/errors/errors_DEPRECATED.js +0 -60
package/constants/auth.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SCOPE_GROUPS = exports.AUTH_METHODS = exports.OAUTH_SCOPES = exports.DEFAULT_OAUTH_SCOPES = exports.PERSONAL_ACCESS_KEY_AUTH_METHOD = exports.OAUTH_AUTH_METHOD = exports.API_KEY_AUTH_METHOD = void 0;
|
|
4
|
-
exports.API_KEY_AUTH_METHOD = {
|
|
1
|
+
export const API_KEY_AUTH_METHOD = {
|
|
5
2
|
value: 'apikey',
|
|
6
3
|
name: 'API Key',
|
|
7
4
|
};
|
|
8
|
-
|
|
5
|
+
export const OAUTH_AUTH_METHOD = {
|
|
9
6
|
value: 'oauth2',
|
|
10
7
|
name: 'OAuth2',
|
|
11
8
|
};
|
|
12
|
-
|
|
9
|
+
export const PERSONAL_ACCESS_KEY_AUTH_METHOD = {
|
|
13
10
|
value: 'personalaccesskey',
|
|
14
11
|
name: 'Personal Access Key',
|
|
15
12
|
};
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
export const DEFAULT_OAUTH_SCOPES = ['content'];
|
|
14
|
+
export const OAUTH_SCOPES = [
|
|
18
15
|
{
|
|
19
16
|
name: 'All CMS APIs, Calendar API, Email and Email Events APIs',
|
|
20
17
|
value: 'content',
|
|
@@ -29,10 +26,10 @@ exports.OAUTH_SCOPES = [
|
|
|
29
26
|
value: 'files',
|
|
30
27
|
},
|
|
31
28
|
];
|
|
32
|
-
|
|
33
|
-
api:
|
|
34
|
-
oauth:
|
|
29
|
+
export const AUTH_METHODS = {
|
|
30
|
+
api: API_KEY_AUTH_METHOD,
|
|
31
|
+
oauth: OAUTH_AUTH_METHOD,
|
|
35
32
|
};
|
|
36
|
-
|
|
33
|
+
export const SCOPE_GROUPS = {
|
|
37
34
|
CMS_FUNCTIONS: 'cms.functions.read_write',
|
|
38
35
|
};
|
package/constants/config.d.ts
CHANGED
|
@@ -8,16 +8,37 @@ export declare const STATE_FILE_PATH: string;
|
|
|
8
8
|
export declare const DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME = ".hsaccount";
|
|
9
9
|
export declare const DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID = "DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID";
|
|
10
10
|
export declare const DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND = "DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND";
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use CONFIG_FLAGS.DEFAULT_CMS_PUBLISH_MODE instead
|
|
13
|
+
*/
|
|
11
14
|
export declare const DEFAULT_CMS_PUBLISH_MODE = "defaultCmsPublishMode";
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use CONFIG_FLAGS.HTTP_TIMEOUT instead
|
|
17
|
+
*/
|
|
12
18
|
export declare const HTTP_TIMEOUT = "httpTimeout";
|
|
13
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use CONFIG_FLAGS.HTTP_USE_LOCALHOST instead
|
|
21
|
+
*/
|
|
14
22
|
export declare const HTTP_USE_LOCALHOST = "httpUseLocalhost";
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use CONFIG_FLAGS.ALLOW_USAGE_TRACKING instead
|
|
25
|
+
*/
|
|
15
26
|
export declare const ALLOW_USAGE_TRACKING = "allowUsageTracking";
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated Use CONFIG_FLAGS.AUTO_OPEN_BROWSER instead
|
|
29
|
+
*/
|
|
16
30
|
export declare const AUTO_OPEN_BROWSER = "autoOpenBrowser";
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use CONFIG_FLAGS.ALLOW_AUTO_UPDATES instead
|
|
33
|
+
*/
|
|
17
34
|
export declare const ALLOW_AUTO_UPDATES = "allowAutoUpdates";
|
|
35
|
+
export declare const ENV = "env";
|
|
18
36
|
export declare const DEFAULT_ACCOUNT = "defaultAccount";
|
|
19
37
|
export declare const DEFAULT_PORTAL = "defaultPortal";
|
|
20
38
|
export declare const MIN_HTTP_TIMEOUT = 3000;
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use STATE_FLAGS.MCP_TOTAL_TOOL_CALLS instead
|
|
41
|
+
*/
|
|
21
42
|
export declare const MCP_TOTAL_TOOL_CALLS_STATE = "mcpTotalToolCalls";
|
|
22
43
|
export declare const HUBSPOT_ACCOUNT_TYPES: {
|
|
23
44
|
readonly DEVELOPMENT_SANDBOX: "DEVELOPMENT_SANDBOX";
|
|
@@ -33,9 +54,17 @@ export declare const HUBSPOT_ACCOUNT_TYPE_STRINGS: {
|
|
|
33
54
|
readonly APP_DEVELOPER: string;
|
|
34
55
|
readonly STANDARD: string;
|
|
35
56
|
};
|
|
57
|
+
export declare const STATE_FLAGS: {
|
|
58
|
+
readonly MCP_TOTAL_TOOL_CALLS: "mcpTotalToolCalls";
|
|
59
|
+
};
|
|
36
60
|
export declare const CONFIG_FLAGS: {
|
|
61
|
+
readonly DEFAULT_CMS_PUBLISH_MODE: "defaultCmsPublishMode";
|
|
37
62
|
readonly USE_CUSTOM_OBJECT_HUBFILE: "useCustomObjectHubfile";
|
|
38
63
|
readonly HTTP_USE_LOCALHOST: "httpUseLocalhost";
|
|
64
|
+
readonly HTTP_TIMEOUT: "httpTimeout";
|
|
65
|
+
readonly ALLOW_AUTO_UPDATES: "allowAutoUpdates";
|
|
66
|
+
readonly ALLOW_USAGE_TRACKING: "allowUsageTracking";
|
|
67
|
+
readonly AUTO_OPEN_BROWSER: "autoOpenBrowser";
|
|
39
68
|
};
|
|
40
69
|
export declare const ENVIRONMENT_VARIABLES: {
|
|
41
70
|
readonly HUBSPOT_API_KEY: "HUBSPOT_API_KEY";
|
package/constants/config.js
CHANGED
|
@@ -1,52 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { i18n } from '../utils/lang.js';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
export const DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME = 'hubspot.config.yml';
|
|
5
|
+
export const ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME = 'archived.hubspot.config.yml';
|
|
6
|
+
export const HUBSPOT_CONFIGURATION_FOLDER = '.hscli';
|
|
7
|
+
export const HUBSPOT_CONFIGURATION_FILE = 'config.yml';
|
|
8
|
+
export const HUBSPOT_STATE_FILE = 'state.json';
|
|
9
|
+
export const GLOBAL_CONFIG_PATH = path.join(os.homedir(), HUBSPOT_CONFIGURATION_FOLDER, HUBSPOT_CONFIGURATION_FILE);
|
|
10
|
+
export const STATE_FILE_PATH = path.join(os.homedir(), HUBSPOT_CONFIGURATION_FOLDER, HUBSPOT_STATE_FILE);
|
|
11
|
+
export const DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME = '.hsaccount';
|
|
12
|
+
export const DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID = 'DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID';
|
|
13
|
+
export const DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND = 'DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND';
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Use CONFIG_FLAGS.DEFAULT_CMS_PUBLISH_MODE instead
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_CMS_PUBLISH_MODE = 'defaultCmsPublishMode';
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated Use CONFIG_FLAGS.HTTP_TIMEOUT instead
|
|
20
|
+
*/
|
|
21
|
+
export const HTTP_TIMEOUT = 'httpTimeout';
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use CONFIG_FLAGS.HTTP_USE_LOCALHOST instead
|
|
24
|
+
*/
|
|
25
|
+
export const HTTP_USE_LOCALHOST = 'httpUseLocalhost';
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Use CONFIG_FLAGS.ALLOW_USAGE_TRACKING instead
|
|
28
|
+
*/
|
|
29
|
+
export const ALLOW_USAGE_TRACKING = 'allowUsageTracking';
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Use CONFIG_FLAGS.AUTO_OPEN_BROWSER instead
|
|
32
|
+
*/
|
|
33
|
+
export const AUTO_OPEN_BROWSER = 'autoOpenBrowser';
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated Use CONFIG_FLAGS.ALLOW_AUTO_UPDATES instead
|
|
36
|
+
*/
|
|
37
|
+
export const ALLOW_AUTO_UPDATES = 'allowAutoUpdates';
|
|
38
|
+
export const ENV = 'env';
|
|
39
|
+
export const DEFAULT_ACCOUNT = 'defaultAccount';
|
|
40
|
+
export const DEFAULT_PORTAL = 'defaultPortal';
|
|
41
|
+
export const MIN_HTTP_TIMEOUT = 3000;
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated Use STATE_FLAGS.MCP_TOTAL_TOOL_CALLS instead
|
|
44
|
+
*/
|
|
45
|
+
export const MCP_TOTAL_TOOL_CALLS_STATE = 'mcpTotalToolCalls';
|
|
46
|
+
export const HUBSPOT_ACCOUNT_TYPES = {
|
|
32
47
|
DEVELOPMENT_SANDBOX: 'DEVELOPMENT_SANDBOX',
|
|
33
48
|
DEVELOPER_TEST: 'DEVELOPER_TEST',
|
|
34
49
|
APP_DEVELOPER: 'APP_DEVELOPER',
|
|
35
50
|
STANDARD_SANDBOX: 'STANDARD_SANDBOX',
|
|
36
51
|
STANDARD: 'STANDARD',
|
|
37
52
|
};
|
|
38
|
-
|
|
39
|
-
DEVELOPMENT_SANDBOX:
|
|
40
|
-
STANDARD_SANDBOX:
|
|
41
|
-
DEVELOPER_TEST:
|
|
42
|
-
APP_DEVELOPER:
|
|
43
|
-
STANDARD:
|
|
53
|
+
export const HUBSPOT_ACCOUNT_TYPE_STRINGS = {
|
|
54
|
+
DEVELOPMENT_SANDBOX: i18n('lib.accountTypes.developmentSandbox'),
|
|
55
|
+
STANDARD_SANDBOX: i18n('lib.accountTypes.standardSandbox'),
|
|
56
|
+
DEVELOPER_TEST: i18n('lib.accountTypes.developerTest'),
|
|
57
|
+
APP_DEVELOPER: i18n('lib.accountTypes.appDeveloper'),
|
|
58
|
+
STANDARD: i18n('lib.accountTypes.standard'),
|
|
59
|
+
};
|
|
60
|
+
export const STATE_FLAGS = {
|
|
61
|
+
MCP_TOTAL_TOOL_CALLS: 'mcpTotalToolCalls',
|
|
44
62
|
};
|
|
45
|
-
|
|
63
|
+
export const CONFIG_FLAGS = {
|
|
64
|
+
DEFAULT_CMS_PUBLISH_MODE: 'defaultCmsPublishMode',
|
|
46
65
|
USE_CUSTOM_OBJECT_HUBFILE: 'useCustomObjectHubfile',
|
|
47
66
|
HTTP_USE_LOCALHOST: 'httpUseLocalhost',
|
|
67
|
+
HTTP_TIMEOUT: 'httpTimeout',
|
|
68
|
+
ALLOW_AUTO_UPDATES: 'allowAutoUpdates',
|
|
69
|
+
ALLOW_USAGE_TRACKING: 'allowUsageTracking',
|
|
70
|
+
AUTO_OPEN_BROWSER: 'autoOpenBrowser',
|
|
48
71
|
};
|
|
49
|
-
|
|
72
|
+
export const ENVIRONMENT_VARIABLES = {
|
|
50
73
|
HUBSPOT_API_KEY: 'HUBSPOT_API_KEY',
|
|
51
74
|
HUBSPOT_CLIENT_ID: 'HUBSPOT_CLIENT_ID',
|
|
52
75
|
HUBSPOT_CLIENT_SECRET: 'HUBSPOT_CLIENT_SECRET',
|
|
@@ -62,11 +85,11 @@ exports.ENVIRONMENT_VARIABLES = {
|
|
|
62
85
|
USE_ENVIRONMENT_HUBSPOT_CONFIG: 'USE_ENVIRONMENT_HUBSPOT_CONFIG',
|
|
63
86
|
HUBSPOT_CONFIG_PATH: 'HUBSPOT_CONFIG_PATH',
|
|
64
87
|
};
|
|
65
|
-
|
|
88
|
+
export const ACCOUNT_IDENTIFIERS = {
|
|
66
89
|
ACCOUNT_ID: 'accountId',
|
|
67
90
|
NAME: 'name',
|
|
68
91
|
};
|
|
69
|
-
|
|
92
|
+
export const HUBSPOT_CONFIG_ERROR_TYPES = {
|
|
70
93
|
CONFIG_NOT_FOUND: 'CONFIG_NOT_FOUND',
|
|
71
94
|
INSUFFICIENT_PERMISSIONS: 'INSUFFICIENT_PERMISSIONS',
|
|
72
95
|
ACCOUNT_NOT_FOUND: 'ACCOUNT_NOT_FOUND',
|
|
@@ -77,7 +100,7 @@ exports.HUBSPOT_CONFIG_ERROR_TYPES = {
|
|
|
77
100
|
INVALID_FIELD: 'INVALID_FIELD',
|
|
78
101
|
UNKNOWN: 'UNKNOWN',
|
|
79
102
|
};
|
|
80
|
-
|
|
103
|
+
export const HUBSPOT_CONFIG_OPERATIONS = {
|
|
81
104
|
READ: 'READ',
|
|
82
105
|
WRITE: 'WRITE',
|
|
83
106
|
DELETE: 'DELETE',
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const LOCALDEVAUTH_API_AUTH_PATH = "localdevauth/v1/auth";
|
|
2
|
+
export declare const LOCALDEVAUTH_ACCESS_TOKEN_PATH = "localdevauth/v1/auth/refresh";
|
|
3
|
+
export declare const FIREALARM_API_AUTH_PATH = "firealarm/v4/alarm";
|
|
4
|
+
export declare const FILE_MAPPER_API_PATH = "content/filemapper/v1";
|
|
5
|
+
export declare const CMS_CLI_USAGE_PATH = "content/filemapper/v1/cms-cli-usage";
|
|
6
|
+
export declare const VSCODE_USAGE_PATH = "content/filemapper/v1/vscode-extension-usage";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const LOCALDEVAUTH_API_AUTH_PATH = 'localdevauth/v1/auth';
|
|
2
|
+
export const LOCALDEVAUTH_ACCESS_TOKEN_PATH = `${LOCALDEVAUTH_API_AUTH_PATH}/refresh`;
|
|
3
|
+
export const FIREALARM_API_AUTH_PATH = 'firealarm/v4/alarm';
|
|
4
|
+
export const FILE_MAPPER_API_PATH = 'content/filemapper/v1';
|
|
5
|
+
export const CMS_CLI_USAGE_PATH = `${FILE_MAPPER_API_PATH}/cms-cli-usage`;
|
|
6
|
+
export const VSCODE_USAGE_PATH = `${FILE_MAPPER_API_PATH}/vscode-extension-usage`;
|
package/constants/extensions.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FOLDER_DOT_EXTENSIONS = exports.FUNCTIONS_EXTENSION = exports.MODULE_EXTENSION = exports.HUBL_EXTENSIONS = exports.JSR_ALLOWED_EXTENSIONS = exports.ALLOWED_EXTENSIONS = void 0;
|
|
4
|
-
exports.ALLOWED_EXTENSIONS = new Set([
|
|
1
|
+
export const ALLOWED_EXTENSIONS = new Set([
|
|
5
2
|
'css',
|
|
6
3
|
'js',
|
|
7
4
|
'json',
|
|
@@ -21,8 +18,8 @@ exports.ALLOWED_EXTENSIONS = new Set([
|
|
|
21
18
|
'woff2',
|
|
22
19
|
'graphql',
|
|
23
20
|
]);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
export const JSR_ALLOWED_EXTENSIONS = new Set(['jsx', 'tsx', 'ts']);
|
|
22
|
+
export const HUBL_EXTENSIONS = new Set(['css', 'html', 'js']);
|
|
23
|
+
export const MODULE_EXTENSION = 'module';
|
|
24
|
+
export const FUNCTIONS_EXTENSION = 'functions';
|
|
25
|
+
export const FOLDER_DOT_EXTENSIONS = [FUNCTIONS_EXTENSION, MODULE_EXTENSION];
|
package/constants/files.js
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FILE_TYPES = exports.FILE_UPLOAD_RESULT_TYPES = exports.DEFAULT_CMS_PUBLISH_MODE = exports.CMS_PUBLISH_MODE = exports.STAT_TYPES = void 0;
|
|
4
|
-
exports.STAT_TYPES = {
|
|
1
|
+
export const STAT_TYPES = {
|
|
5
2
|
FILE: 'file',
|
|
6
3
|
SYMBOLIC_LINK: 'symlink',
|
|
7
4
|
DIRECTORY: 'dir',
|
|
8
5
|
};
|
|
9
|
-
|
|
6
|
+
export const CMS_PUBLISH_MODE = {
|
|
10
7
|
draft: 'draft',
|
|
11
8
|
publish: 'publish',
|
|
12
9
|
};
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
export const DEFAULT_CMS_PUBLISH_MODE = CMS_PUBLISH_MODE.publish;
|
|
11
|
+
export const FILE_UPLOAD_RESULT_TYPES = {
|
|
15
12
|
SUCCESS: 'SUCCESS',
|
|
16
13
|
FAILURE: 'FAILURE',
|
|
17
14
|
};
|
|
18
|
-
|
|
15
|
+
export const FILE_TYPES = {
|
|
19
16
|
other: 'otherFiles',
|
|
20
17
|
module: 'moduleFiles',
|
|
21
18
|
cssAndJs: 'cssAndJsFiles',
|
package/constants/ports.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.MIN_PORT_NUMBER = 1024;
|
|
5
|
-
exports.MAX_PORT_NUMBER = 65535;
|
|
6
|
-
exports.PORT_MANAGER_SERVER_PORT = 8080;
|
|
1
|
+
export const MIN_PORT_NUMBER = 1024;
|
|
2
|
+
export const MAX_PORT_NUMBER = 65535;
|
|
3
|
+
export const PORT_MANAGER_SERVER_PORT = 8080;
|
package/constants/projects.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PLATFORM_VERSIONS = exports.UNMIGRATABLE_REASONS = void 0;
|
|
4
|
-
exports.UNMIGRATABLE_REASONS = {
|
|
1
|
+
export const UNMIGRATABLE_REASONS = {
|
|
5
2
|
UP_TO_DATE: 'UP_TO_DATE',
|
|
6
3
|
IS_A_PRIVATE_APP: 'IS_A_PRIVATE_APP',
|
|
7
4
|
LISTED_IN_MARKETPLACE: 'LISTED_IN_MARKETPLACE',
|
|
8
5
|
PROJECT_CONNECTED_TO_GITHUB: 'PROJECT_CONNECTED_TO_GITHUB',
|
|
9
6
|
};
|
|
10
|
-
|
|
7
|
+
export const PLATFORM_VERSIONS = {
|
|
11
8
|
v2023_2: '2023.2',
|
|
12
9
|
v2025_1: '2025.1',
|
|
13
10
|
v2025_2: '2025.2',
|
package/enums/build.d.ts
CHANGED
package/enums/build.js
CHANGED
|
@@ -1,31 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUBCOMPONENT_TYPES = exports.COMPONENT_TYPES = exports.DEPLOYABLE_STATES = exports.SUBBUILD_TYPES = exports.BUILD_STATUS = void 0;
|
|
4
|
-
exports.BUILD_STATUS = {
|
|
1
|
+
export const BUILD_STATUS = {
|
|
5
2
|
BUILDING: 'BUILDING',
|
|
6
3
|
FAILURE: 'FAILURE',
|
|
7
4
|
PREPARING: 'PREPARING',
|
|
8
5
|
PENDING: 'PENDING',
|
|
9
6
|
SUCCESS: 'SUCCESS',
|
|
10
7
|
};
|
|
11
|
-
|
|
8
|
+
export const SUBBUILD_TYPES = {
|
|
12
9
|
APP: 'APP',
|
|
13
10
|
PRIVATE_APP: 'PRIVATE_APP',
|
|
14
11
|
THEME: 'THEME',
|
|
15
12
|
REACT_THEME: 'REACT_THEME',
|
|
16
13
|
NO_SUBBUILDS: 'NO_SUBBUILDS',
|
|
17
14
|
};
|
|
18
|
-
|
|
15
|
+
export const DEPLOYABLE_STATES = {
|
|
19
16
|
DEPLOYABLE: 'DEPLOYABLE',
|
|
20
17
|
DEPRECATED: 'DEPRECATED_APP_NON_SUBCOMPONENT',
|
|
21
18
|
};
|
|
22
|
-
|
|
19
|
+
export const COMPONENT_TYPES = {
|
|
23
20
|
APP: 'APP',
|
|
24
21
|
PRIVATE_APP: 'PRIVATE_APP',
|
|
22
|
+
PUBLIC_APP: 'PUBLIC_APP',
|
|
25
23
|
THEME: 'THEME',
|
|
26
24
|
REACT_THEME: 'REACT_THEME',
|
|
27
25
|
};
|
|
28
|
-
|
|
26
|
+
export const SUBCOMPONENT_TYPES = {
|
|
29
27
|
APP_ID: 'APP_ID',
|
|
30
28
|
PACKAGE_LOCK_FILE: 'PACKAGE_LOCK_FILE',
|
|
31
29
|
CRM_CARD_V2: 'CRM_CARD_V2',
|
package/enums/deploy.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEPLOY_ACTION = exports.DEPLOY_STATUS = void 0;
|
|
4
|
-
exports.DEPLOY_STATUS = {
|
|
1
|
+
export const DEPLOY_STATUS = {
|
|
5
2
|
DEPLOYING: 'DEPLOYING',
|
|
6
3
|
FAILURE: 'FAILURE',
|
|
7
4
|
PENDING: 'PENDING',
|
|
8
5
|
SUCCESS: 'SUCCESS',
|
|
9
6
|
FINISHED: 'FINISHED',
|
|
10
7
|
};
|
|
11
|
-
|
|
8
|
+
export const DEPLOY_ACTION = {
|
|
12
9
|
REMOVE: 'REMOVE',
|
|
13
10
|
INSTALL: 'INSTALL',
|
|
14
11
|
};
|
package/enums/project.js
CHANGED
package/errors/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HubSpotHttpError } from '../models/HubSpotHttpError';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { HubSpotHttpError } from '../models/HubSpotHttpError.js';
|
|
2
|
+
import { FileSystemError } from '../models/FileSystemError.js';
|
|
3
|
+
import { HubSpotConfigError } from '../models/HubSpotConfigError.js';
|
|
4
|
+
export { isSystemError } from './isSystemError.js';
|
|
5
5
|
export declare function isSpecifiedError(err: unknown, { statusCode, category, subCategory, errorType, code, }: {
|
|
6
6
|
statusCode?: number;
|
|
7
7
|
category?: string;
|
|
@@ -16,6 +16,5 @@ export declare function isAuthError(err: unknown): err is HubSpotHttpError;
|
|
|
16
16
|
export declare function isValidationError(err: unknown): err is HubSpotHttpError;
|
|
17
17
|
export declare function isHubSpotHttpError(error?: unknown): error is HubSpotHttpError;
|
|
18
18
|
export declare function isGithubRateLimitError(err: unknown): err is HubSpotHttpError;
|
|
19
|
-
export declare function isSystemError(err: unknown): err is BaseError;
|
|
20
19
|
export declare function isFileSystemError(err: unknown): err is FileSystemError;
|
|
21
20
|
export declare function isHubSpotConfigError(err: unknown): err is HubSpotConfigError;
|
package/errors/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const HubSpotConfigError_1 = require("../models/HubSpotConfigError");
|
|
7
|
-
function isSpecifiedError(err, { statusCode, category, subCategory, errorType, code, }) {
|
|
1
|
+
import { HubSpotHttpErrorName, } from '../models/HubSpotHttpError.js';
|
|
2
|
+
import { FilerSystemErrorName, } from '../models/FileSystemError.js';
|
|
3
|
+
import { HubSpotConfigError } from '../models/HubSpotConfigError.js';
|
|
4
|
+
export { isSystemError } from './isSystemError.js';
|
|
5
|
+
export function isSpecifiedError(err, { statusCode, category, subCategory, errorType, code, }) {
|
|
8
6
|
if (!isHubSpotHttpError(err)) {
|
|
9
7
|
return false;
|
|
10
8
|
}
|
|
@@ -20,35 +18,28 @@ function isSpecifiedError(err, { statusCode, category, subCategory, errorType, c
|
|
|
20
18
|
errorTypeMatchesError &&
|
|
21
19
|
codeMatchesError);
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
function isMissingScopeError(err) {
|
|
21
|
+
export function isMissingScopeError(err) {
|
|
25
22
|
return isSpecifiedError(err, { statusCode: 403, category: 'MISSING_SCOPES' });
|
|
26
23
|
}
|
|
27
|
-
|
|
28
|
-
function isGatingError(err) {
|
|
24
|
+
export function isGatingError(err) {
|
|
29
25
|
return isSpecifiedError(err, { statusCode: 403, category: 'GATED' });
|
|
30
26
|
}
|
|
31
|
-
|
|
32
|
-
function isTimeoutError(err) {
|
|
27
|
+
export function isTimeoutError(err) {
|
|
33
28
|
return isSpecifiedError(err, { code: 'ETIMEDOUT' });
|
|
34
29
|
}
|
|
35
|
-
|
|
36
|
-
function isAuthError(err) {
|
|
30
|
+
export function isAuthError(err) {
|
|
37
31
|
return (isSpecifiedError(err, { statusCode: 401 }) ||
|
|
38
32
|
isSpecifiedError(err, { statusCode: 403 }));
|
|
39
33
|
}
|
|
40
|
-
|
|
41
|
-
function isValidationError(err) {
|
|
34
|
+
export function isValidationError(err) {
|
|
42
35
|
return (isHubSpotHttpError(err) &&
|
|
43
36
|
isSpecifiedError(err, { statusCode: 400 }) &&
|
|
44
37
|
!!(err?.data?.message || !!err.data?.errors));
|
|
45
38
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return (!!error && error instanceof Error && error.name === HubSpotHttpError_1.HubSpotHttpErrorName);
|
|
39
|
+
export function isHubSpotHttpError(error) {
|
|
40
|
+
return (!!error && error instanceof Error && error.name === HubSpotHttpErrorName);
|
|
49
41
|
}
|
|
50
|
-
|
|
51
|
-
function isGithubRateLimitError(err) {
|
|
42
|
+
export function isGithubRateLimitError(err) {
|
|
52
43
|
if (!isHubSpotHttpError(err)) {
|
|
53
44
|
return false;
|
|
54
45
|
}
|
|
@@ -56,22 +47,9 @@ function isGithubRateLimitError(err) {
|
|
|
56
47
|
err.headers['x-ratelimit-remaining'] === '0' &&
|
|
57
48
|
'x-github-request-id' in err.headers);
|
|
58
49
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return (err instanceof Error &&
|
|
62
|
-
'errno' in err &&
|
|
63
|
-
err.errno != null &&
|
|
64
|
-
'code' in err &&
|
|
65
|
-
err.code != null &&
|
|
66
|
-
'syscall' in err &&
|
|
67
|
-
err.syscall != null);
|
|
50
|
+
export function isFileSystemError(err) {
|
|
51
|
+
return err instanceof Error && err.name === FilerSystemErrorName;
|
|
68
52
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return err instanceof Error && err.name === FileSystemError_1.FilerSystemErrorName;
|
|
53
|
+
export function isHubSpotConfigError(err) {
|
|
54
|
+
return err instanceof HubSpotConfigError;
|
|
72
55
|
}
|
|
73
|
-
exports.isFileSystemError = isFileSystemError;
|
|
74
|
-
function isHubSpotConfigError(err) {
|
|
75
|
-
return err instanceof HubSpotConfigError_1.HubSpotConfigError;
|
|
76
|
-
}
|
|
77
|
-
exports.isHubSpotConfigError = isHubSpotConfigError;
|
package/http/addQueryParams.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HttpOptions, QueryParams } from '../types/Http';
|
|
1
|
+
import { HttpOptions, QueryParams } from '../types/Http.js';
|
|
2
2
|
export declare function addQueryParams(configOptions: HttpOptions, queryParams?: QueryParams): HttpOptions;
|
package/http/addQueryParams.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addQueryParams = void 0;
|
|
4
|
-
function addQueryParams(configOptions, queryParams = {}) {
|
|
1
|
+
export function addQueryParams(configOptions, queryParams = {}) {
|
|
5
2
|
const { params } = configOptions;
|
|
6
3
|
return {
|
|
7
4
|
...configOptions,
|
|
@@ -11,4 +8,3 @@ function addQueryParams(configOptions, queryParams = {}) {
|
|
|
11
8
|
},
|
|
12
9
|
};
|
|
13
10
|
}
|
|
14
|
-
exports.addQueryParams = addQueryParams;
|
package/http/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const httpClient: import("axios").AxiosInstance;
|
package/http/client.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import axios, { isAxiosError } from 'axios';
|
|
2
|
+
import { HubSpotHttpError } from '../models/HubSpotHttpError.js';
|
|
3
|
+
import { logger } from '../lib/logger.js';
|
|
4
|
+
import * as util from 'util';
|
|
5
|
+
import { LOCALDEVAUTH_ACCESS_TOKEN_PATH, FIREALARM_API_AUTH_PATH, CMS_CLI_USAGE_PATH, VSCODE_USAGE_PATH, } from '../constants/endpoints.js';
|
|
6
|
+
// Create an isolated axios instance for this copy of local-dev-lib.
|
|
7
|
+
// This prevents issues when multiple copies are loaded and share the global
|
|
8
|
+
// axios, where each copy would register interceptors on the shared instance
|
|
9
|
+
// causing errors to be wrapped multiple times.
|
|
10
|
+
export const httpClient = axios.create();
|
|
11
|
+
const IGNORE_URLS_NETWORK_DEBUG = [
|
|
12
|
+
LOCALDEVAUTH_ACCESS_TOKEN_PATH,
|
|
13
|
+
CMS_CLI_USAGE_PATH,
|
|
14
|
+
VSCODE_USAGE_PATH,
|
|
15
|
+
FIREALARM_API_AUTH_PATH,
|
|
16
|
+
];
|
|
17
|
+
function logRequest(response) {
|
|
18
|
+
try {
|
|
19
|
+
if (!process.env.HUBSPOT_NETWORK_LOGGING) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (!process.env.HUBSPOT_DEBUG_LOGGING_VERBOSE &&
|
|
23
|
+
IGNORE_URLS_NETWORK_DEBUG.some(url => response?.config?.url && response.config.url.includes(url))) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
logger.debug(util.inspect({
|
|
27
|
+
method: response.config.method,
|
|
28
|
+
baseURL: response.config.baseURL,
|
|
29
|
+
url: response.config.url,
|
|
30
|
+
data: response.data,
|
|
31
|
+
status: response.status,
|
|
32
|
+
}, false, null, true));
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
// Ignore any errors that occur while logging the response
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Register interceptor on our isolated instance
|
|
39
|
+
httpClient.interceptors.response.use((response) => {
|
|
40
|
+
logRequest(response);
|
|
41
|
+
return response;
|
|
42
|
+
}, error => {
|
|
43
|
+
try {
|
|
44
|
+
if (isAxiosError(error) && error.response) {
|
|
45
|
+
logRequest(error.response);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
// Ignore any errors that occur while logging the response
|
|
50
|
+
}
|
|
51
|
+
// Wrap all axios errors in our own Error class. Attach the error
|
|
52
|
+
// as the cause for the new error, so we maintain the stack trace
|
|
53
|
+
return Promise.reject(new HubSpotHttpError(error.message, { cause: error }));
|
|
54
|
+
});
|
package/http/getAxiosConfig.d.ts
CHANGED