@hubspot/cli 6.2.1 → 6.2.2-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/bin/cli.d.ts +2 -0
- package/bin/cli.js +107 -128
- package/commands/accounts/clean.d.ts +4 -0
- package/commands/accounts/clean.js +80 -116
- package/commands/accounts/info.d.ts +4 -0
- package/commands/accounts/info.js +30 -43
- package/commands/accounts/list.d.ts +4 -0
- package/commands/accounts/list.js +63 -92
- package/commands/accounts/remove.d.ts +4 -0
- package/commands/accounts/remove.js +41 -73
- package/commands/accounts/rename.d.ts +4 -0
- package/commands/accounts/rename.js +24 -41
- package/commands/accounts/use.d.ts +4 -0
- package/commands/accounts/use.js +34 -57
- package/commands/accounts.d.ts +3 -0
- package/commands/accounts.js +14 -18
- package/commands/auth.d.ts +4 -0
- package/commands/auth.js +131 -200
- package/commands/cms/convertFields.d.ts +4 -0
- package/commands/cms/convertFields.js +64 -81
- package/commands/cms/lighthouseScore.d.ts +4 -0
- package/commands/cms/lighthouseScore.js +234 -298
- package/commands/cms/reactModules.d.ts +4 -0
- package/commands/cms/reactModules.js +44 -53
- package/commands/cms.d.ts +3 -0
- package/commands/cms.js +9 -13
- package/commands/config/set/allowUsageTracking.d.ts +4 -0
- package/commands/config/set/allowUsageTracking.js +31 -38
- package/commands/config/set/defaultMode.d.ts +4 -0
- package/commands/config/set/defaultMode.js +32 -43
- package/commands/config/set/httpTimeout.d.ts +4 -0
- package/commands/config/set/httpTimeout.js +21 -30
- package/commands/config/set.d.ts +4 -0
- package/commands/config/set.js +61 -76
- package/commands/config.d.ts +3 -0
- package/commands/config.js +5 -9
- package/commands/create/api-sample.d.ts +13 -0
- package/commands/create/api-sample.js +52 -72
- package/commands/create/app.d.ts +10 -0
- package/commands/create/app.js +6 -7
- package/commands/create/function.d.ts +6 -0
- package/commands/create/function.js +13 -14
- package/commands/create/index.d.ts +109 -0
- package/commands/create/index.js +10 -9
- package/commands/create/module.d.ts +11 -0
- package/commands/create/module.js +19 -19
- package/commands/create/react-app.d.ts +9 -0
- package/commands/create/react-app.js +5 -6
- package/commands/create/template.d.ts +12 -0
- package/commands/create/template.js +21 -24
- package/commands/create/vue-app.d.ts +9 -0
- package/commands/create/vue-app.js +5 -6
- package/commands/create/webpack-serverless.d.ts +9 -0
- package/commands/create/webpack-serverless.js +5 -6
- package/commands/create/website-theme.d.ts +9 -0
- package/commands/create/website-theme.js +13 -15
- package/commands/create.d.ts +4 -0
- package/commands/create.js +62 -80
- package/commands/customObject/create.d.ts +4 -0
- package/commands/customObject/create.js +31 -47
- package/commands/customObject/schema/create.d.ts +4 -0
- package/commands/customObject/schema/create.js +40 -67
- package/commands/customObject/schema/delete.d.ts +4 -0
- package/commands/customObject/schema/delete.js +26 -39
- package/commands/customObject/schema/fetch-all.d.ts +4 -0
- package/commands/customObject/schema/fetch-all.js +28 -39
- package/commands/customObject/schema/fetch.d.ts +4 -0
- package/commands/customObject/schema/fetch.js +46 -63
- package/commands/customObject/schema/list.d.ts +3 -0
- package/commands/customObject/schema/list.js +12 -17
- package/commands/customObject/schema/update.d.ts +4 -0
- package/commands/customObject/schema/update.js +44 -72
- package/commands/customObject/schema.d.ts +3 -0
- package/commands/customObject/schema.js +10 -12
- package/commands/customObject.d.ts +3 -0
- package/commands/customObject.js +12 -22
- package/commands/feedback.d.ts +4 -0
- package/commands/feedback.js +23 -33
- package/commands/fetch.d.ts +4 -0
- package/commands/fetch.js +51 -78
- package/commands/filemanager/fetch.d.ts +4 -0
- package/commands/filemanager/fetch.js +36 -56
- package/commands/filemanager/upload.d.ts +4 -0
- package/commands/filemanager/upload.js +86 -128
- package/commands/filemanager.d.ts +3 -0
- package/commands/filemanager.js +10 -18
- package/commands/functions/deploy.d.ts +4 -0
- package/commands/functions/deploy.js +71 -104
- package/commands/functions/list.d.ts +4 -0
- package/commands/functions/list.js +29 -47
- package/commands/functions/server.d.ts +4 -0
- package/commands/functions/server.js +48 -65
- package/commands/functions.d.ts +3 -0
- package/commands/functions.js +11 -15
- package/commands/hubdb/clear.d.ts +4 -0
- package/commands/hubdb/clear.js +35 -56
- package/commands/hubdb/create.d.ts +4 -0
- package/commands/hubdb/create.js +32 -57
- package/commands/hubdb/delete.d.ts +4 -0
- package/commands/hubdb/delete.js +27 -44
- package/commands/hubdb/fetch.d.ts +4 -0
- package/commands/hubdb/fetch.js +28 -46
- package/commands/hubdb.d.ts +3 -0
- package/commands/hubdb.js +10 -14
- package/commands/init.d.ts +4 -0
- package/commands/init.js +101 -160
- package/commands/lint.d.ts +4 -0
- package/commands/lint.js +32 -45
- package/commands/list.d.ts +4 -0
- package/commands/list.js +72 -101
- package/commands/logs.d.ts +4 -0
- package/commands/logs.js +96 -121
- package/commands/module/marketplace-validate.d.ts +4 -0
- package/commands/module/marketplace-validate.js +30 -57
- package/commands/module.d.ts +3 -0
- package/commands/module.js +5 -9
- package/commands/mv.d.ts +4 -0
- package/commands/mv.js +51 -71
- package/commands/open.d.ts +4 -0
- package/commands/open.js +46 -62
- package/commands/project/add.d.ts +4 -0
- package/commands/project/add.js +45 -70
- package/commands/project/cloneApp.d.ts +4 -0
- package/commands/project/cloneApp.js +117 -178
- package/commands/project/create.d.ts +4 -0
- package/commands/project/create.js +47 -81
- package/commands/project/deploy.d.ts +4 -0
- package/commands/project/deploy.js +103 -182
- package/commands/project/dev.d.ts +4 -0
- package/commands/project/dev.js +123 -227
- package/commands/project/download.d.ts +4 -0
- package/commands/project/download.js +71 -123
- package/commands/project/installDeps.d.ts +6 -0
- package/commands/project/installDeps.js +50 -59
- package/commands/project/listBuilds.d.ts +4 -0
- package/commands/project/listBuilds.js +95 -139
- package/commands/project/logs.d.ts +4 -0
- package/commands/project/logs.js +84 -128
- package/commands/project/migrateApp.d.ts +4 -0
- package/commands/project/migrateApp.js +156 -248
- package/commands/project/open.d.ts +4 -0
- package/commands/project/open.js +42 -68
- package/commands/project/upload.d.ts +4 -0
- package/commands/project/upload.js +70 -116
- package/commands/project/watch.d.ts +4 -0
- package/commands/project/watch.js +92 -152
- package/commands/project.d.ts +3 -0
- package/commands/project.js +19 -23
- package/commands/remove.d.ts +4 -0
- package/commands/remove.js +26 -43
- package/commands/sandbox/create.d.ts +4 -0
- package/commands/sandbox/create.js +141 -187
- package/commands/sandbox/delete.d.ts +4 -0
- package/commands/sandbox/delete.js +164 -221
- package/commands/sandbox.d.ts +3 -0
- package/commands/sandbox.js +8 -12
- package/commands/secrets/addSecret.d.ts +4 -0
- package/commands/secrets/addSecret.js +32 -52
- package/commands/secrets/deleteSecret.d.ts +4 -0
- package/commands/secrets/deleteSecret.js +31 -50
- package/commands/secrets/listSecrets.d.ts +4 -0
- package/commands/secrets/listSecrets.js +26 -42
- package/commands/secrets/updateSecret.d.ts +4 -0
- package/commands/secrets/updateSecret.js +33 -53
- package/commands/secrets.d.ts +3 -0
- package/commands/secrets.js +10 -13
- package/commands/theme/generate-selectors.d.ts +4 -0
- package/commands/theme/generate-selectors.js +127 -192
- package/commands/theme/marketplace-validate.d.ts +4 -0
- package/commands/theme/marketplace-validate.js +30 -57
- package/commands/theme/preview.d.ts +4 -0
- package/commands/theme/preview.js +161 -196
- package/commands/theme.d.ts +3 -0
- package/commands/theme.js +7 -11
- package/commands/upload.d.ts +4 -0
- package/commands/upload.js +197 -287
- package/commands/watch.d.ts +4 -0
- package/commands/watch.js +126 -172
- package/lib/DevServerManager.d.ts +35 -0
- package/lib/DevServerManager.js +97 -124
- package/lib/LocalDevManager.d.ts +41 -0
- package/lib/LocalDevManager.js +320 -490
- package/lib/accountTypes.d.ts +6 -0
- package/lib/accountTypes.js +16 -32
- package/lib/buildAccount.d.ts +22 -0
- package/lib/buildAccount.js +130 -179
- package/lib/commonOpts.d.ts +20 -0
- package/lib/commonOpts.js +58 -91
- package/lib/constants.d.ts +83 -0
- package/lib/constants.js +61 -71
- package/lib/debugInfo.d.ts +3 -0
- package/lib/debugInfo.js +12 -13
- package/lib/dependencyManagement.d.ts +7 -0
- package/lib/dependencyManagement.js +90 -132
- package/lib/developerTestAccounts.d.ts +7 -0
- package/lib/developerTestAccounts.js +65 -91
- package/lib/enums/exitCodes.d.ts +5 -0
- package/lib/enums/exitCodes.js +5 -7
- package/lib/environment.d.ts +1 -0
- package/lib/environment.js +10 -10
- package/lib/errorHandlers/index.d.ts +19 -0
- package/lib/errorHandlers/index.js +64 -80
- package/lib/errorHandlers/suppressError.d.ts +1 -0
- package/lib/errorHandlers/suppressError.js +64 -106
- package/lib/filesystem.d.ts +2 -0
- package/lib/filesystem.js +16 -24
- package/lib/generate-selectors.d.ts +6 -0
- package/lib/generate-selectors.js +99 -137
- package/lib/getFunctionArrays.d.ts +1 -0
- package/lib/getFunctionArrays.js +12 -13
- package/lib/hasFeature.d.ts +1 -0
- package/lib/hasFeature.js +5 -11
- package/lib/hasFlag.d.ts +2 -0
- package/lib/hasFlag.js +6 -10
- package/lib/hublValidate.d.ts +4 -0
- package/lib/hublValidate.js +20 -24
- package/lib/interpolation.d.ts +10 -0
- package/lib/interpolation.js +48 -92
- package/lib/interpolationHelpers.d.ts +6 -0
- package/lib/interpolationHelpers.js +19 -19
- package/lib/lang.d.ts +3 -0
- package/lib/lang.js +50 -78
- package/lib/links.d.ts +127 -0
- package/lib/links.js +92 -114
- package/lib/localDev.d.ts +11 -0
- package/lib/localDev.js +283 -439
- package/lib/marketplace-validate.d.ts +5 -0
- package/lib/marketplace-validate.js +103 -126
- package/lib/oauth.d.ts +1 -0
- package/lib/oauth.js +62 -78
- package/lib/polling.d.ts +1 -0
- package/lib/polling.js +24 -26
- package/lib/process.d.ts +2 -0
- package/lib/process.js +39 -53
- package/lib/projectLogsManager.d.ts +19 -0
- package/lib/projectLogsManager.js +76 -130
- package/lib/projectStructure.d.ts +13 -0
- package/lib/projectStructure.js +87 -109
- package/lib/projects.d.ts +40 -0
- package/lib/projects.js +589 -960
- package/lib/projectsWatch.d.ts +1 -0
- package/lib/projectsWatch.js +122 -228
- package/lib/prompts/accountNamePrompt.d.ts +11 -0
- package/lib/prompts/accountNamePrompt.js +58 -65
- package/lib/prompts/accountsPrompt.d.ts +3 -0
- package/lib/prompts/accountsPrompt.js +31 -37
- package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
- package/lib/prompts/activeInstallConfirmationPrompt.js +11 -13
- package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
- package/lib/prompts/cleanUploadPrompt.js +11 -13
- package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
- package/lib/prompts/cmsFieldPrompt.js +35 -39
- package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
- package/lib/prompts/createApiSamplePrompt.js +47 -52
- package/lib/prompts/createFunctionPrompt.d.ts +1 -0
- package/lib/prompts/createFunctionPrompt.js +55 -56
- package/lib/prompts/createModulePrompt.d.ts +1 -0
- package/lib/prompts/createModulePrompt.js +45 -50
- package/lib/prompts/createProjectPrompt.d.ts +1 -0
- package/lib/prompts/createProjectPrompt.js +88 -127
- package/lib/prompts/createTemplatePrompt.d.ts +1 -0
- package/lib/prompts/createTemplatePrompt.js +16 -19
- package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
- package/lib/prompts/deployBuildIdPrompt.js +13 -15
- package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
- package/lib/prompts/downloadProjectPrompt.js +36 -40
- package/lib/prompts/feedbackPrompt.d.ts +2 -0
- package/lib/prompts/feedbackPrompt.js +27 -30
- package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
- package/lib/prompts/folderOverwritePrompt.js +8 -10
- package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
- package/lib/prompts/installPublicAppPrompt.js +27 -42
- package/lib/prompts/personalAccessKeyPrompt.d.ts +69 -0
- package/lib/prompts/personalAccessKeyPrompt.js +102 -110
- package/lib/prompts/previewPrompt.d.ts +2 -0
- package/lib/prompts/previewPrompt.js +44 -47
- package/lib/prompts/projectAddPrompt.d.ts +1 -0
- package/lib/prompts/projectAddPrompt.js +35 -38
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +4 -0
- package/lib/prompts/projectDevTargetAccountPrompt.js +148 -193
- package/lib/prompts/projectNamePrompt.d.ts +1 -0
- package/lib/prompts/projectNamePrompt.js +23 -25
- package/lib/prompts/projectsLogsPrompt.d.ts +5 -0
- package/lib/prompts/projectsLogsPrompt.js +19 -27
- package/lib/prompts/promptUtils.d.ts +2 -0
- package/lib/prompts/promptUtils.js +15 -17
- package/lib/prompts/sandboxesPrompt.d.ts +2 -0
- package/lib/prompts/sandboxesPrompt.js +48 -59
- package/lib/prompts/secretPrompt.d.ts +1 -0
- package/lib/prompts/secretPrompt.js +13 -16
- package/lib/prompts/selectPublicAppPrompt.d.ts +5 -0
- package/lib/prompts/selectPublicAppPrompt.js +55 -83
- package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
- package/lib/prompts/setAsDefaultAccountPrompt.js +17 -24
- package/lib/prompts/uploadPrompt.d.ts +1 -0
- package/lib/prompts/uploadPrompt.js +28 -30
- package/lib/regex.d.ts +1 -0
- package/lib/regex.js +2 -2
- package/lib/sandboxSync.d.ts +8 -0
- package/lib/sandboxSync.js +98 -166
- package/lib/sandboxes.d.ts +40 -0
- package/lib/sandboxes.js +199 -316
- package/lib/schema.d.ts +2 -0
- package/lib/schema.js +20 -26
- package/lib/serverlessLogs.d.ts +8 -0
- package/lib/serverlessLogs.js +128 -172
- package/lib/ui/SpinniesManager.d.ts +61 -0
- package/lib/ui/SpinniesManager.js +196 -254
- package/lib/ui/git.d.ts +1 -0
- package/lib/ui/git.js +18 -19
- package/lib/ui/index.d.ts +36 -0
- package/lib/ui/index.js +115 -167
- package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
- package/lib/ui/serverlessFunctionLogs.js +51 -70
- package/lib/ui/spinniesUtils.d.ts +60 -0
- package/lib/ui/spinniesUtils.js +109 -133
- package/lib/ui/supportHyperlinks.d.ts +3 -0
- package/lib/ui/supportHyperlinks.js +46 -61
- package/lib/ui/supportsColor.d.ts +13 -0
- package/lib/ui/supportsColor.js +78 -108
- package/lib/ui/table.d.ts +2 -0
- package/lib/ui/table.js +47 -55
- package/lib/upload.d.ts +1 -0
- package/lib/upload.js +37 -42
- package/lib/usageTracking.d.ts +6 -0
- package/lib/usageTracking.js +131 -155
- package/lib/validation.d.ts +16 -0
- package/lib/validation.js +142 -203
- package/package.json +78 -47
- package/CHANGELOG.md +0 -16
- package/LICENSE +0 -12
- package/README.md +0 -154
- package/commands/__tests__/projects.test.js +0 -105
- package/commands/project/__tests__/deploy.test.js +0 -443
- package/commands/project/__tests__/installDeps.test.js +0 -168
- package/commands/project/__tests__/logs.test.js +0 -304
- package/hubspot.sample.config.yml +0 -28
- package/jest.config.js +0 -4
- package/lib/__tests__/commonOpts.test.js +0 -83
- package/lib/__tests__/dependencyManagement.test.js +0 -243
- package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
- package/lib/__tests__/projectLogsManager.test.js +0 -212
- package/lib/__tests__/projects.test.js +0 -140
- package/lib/__tests__/serverlessLogs.test.js +0 -162
- package/lib/__tests__/validation.test.js +0 -140
- package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -46
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export const HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH: "HubSpot/hubspot-project-components";
|
|
2
|
+
export const DEFAULT_PROJECT_TEMPLATE_BRANCH: "main";
|
|
3
|
+
export namespace FEEDBACK_OPTIONS {
|
|
4
|
+
let BUG: string;
|
|
5
|
+
let GENERAL: string;
|
|
6
|
+
}
|
|
7
|
+
export namespace FEEDBACK_URLS {
|
|
8
|
+
let BUG_1: string;
|
|
9
|
+
export { BUG_1 as BUG };
|
|
10
|
+
let GENERAL_1: string;
|
|
11
|
+
export { GENERAL_1 as GENERAL };
|
|
12
|
+
}
|
|
13
|
+
export const FEEDBACK_INTERVAL: 10;
|
|
14
|
+
export const HUBSPOT_FOLDER: "@hubspot";
|
|
15
|
+
export const MARKETPLACE_FOLDER: "@marketplace";
|
|
16
|
+
export namespace CONFIG_FLAGS {
|
|
17
|
+
let USE_CUSTOM_OBJECT_HUBFILE: string;
|
|
18
|
+
}
|
|
19
|
+
export const POLLING_DELAY: 2000;
|
|
20
|
+
export namespace POLLING_STATUS {
|
|
21
|
+
let SUCCESS: string;
|
|
22
|
+
let ERROR: string;
|
|
23
|
+
let REVERTED: string;
|
|
24
|
+
let FAILURE: string;
|
|
25
|
+
}
|
|
26
|
+
export const PROJECT_CONFIG_FILE: "hsproject.json";
|
|
27
|
+
export namespace PROJECT_BUILD_TEXT {
|
|
28
|
+
namespace STATES {
|
|
29
|
+
export let BUILDING: string;
|
|
30
|
+
export let ENQUEUED: string;
|
|
31
|
+
let FAILURE_1: string;
|
|
32
|
+
export { FAILURE_1 as FAILURE };
|
|
33
|
+
export let PENDING: string;
|
|
34
|
+
let SUCCESS_1: string;
|
|
35
|
+
export { SUCCESS_1 as SUCCESS };
|
|
36
|
+
}
|
|
37
|
+
let STATUS_TEXT: string;
|
|
38
|
+
let SUBTASK_KEY: string;
|
|
39
|
+
let TYPE_KEY: string;
|
|
40
|
+
let SUBTASK_NAME_KEY: string;
|
|
41
|
+
}
|
|
42
|
+
export namespace PROJECT_DEPLOY_TEXT {
|
|
43
|
+
export namespace STATES_1 {
|
|
44
|
+
export let DEPLOYING: string;
|
|
45
|
+
let FAILURE_2: string;
|
|
46
|
+
export { FAILURE_2 as FAILURE };
|
|
47
|
+
let PENDING_1: string;
|
|
48
|
+
export { PENDING_1 as PENDING };
|
|
49
|
+
let SUCCESS_2: string;
|
|
50
|
+
export { SUCCESS_2 as SUCCESS };
|
|
51
|
+
}
|
|
52
|
+
export { STATES_1 as STATES };
|
|
53
|
+
let STATUS_TEXT_1: string;
|
|
54
|
+
export { STATUS_TEXT_1 as STATUS_TEXT };
|
|
55
|
+
let SUBTASK_KEY_1: string;
|
|
56
|
+
export { SUBTASK_KEY_1 as SUBTASK_KEY };
|
|
57
|
+
let TYPE_KEY_1: string;
|
|
58
|
+
export { TYPE_KEY_1 as TYPE_KEY };
|
|
59
|
+
let SUBTASK_NAME_KEY_1: string;
|
|
60
|
+
export { SUBTASK_NAME_KEY_1 as SUBTASK_NAME_KEY };
|
|
61
|
+
}
|
|
62
|
+
export namespace PROJECT_ERROR_TYPES {
|
|
63
|
+
let PROJECT_LOCKED: string;
|
|
64
|
+
let MISSING_PROJECT_PROVISION: string;
|
|
65
|
+
let BUILD_NOT_IN_PROGRESS: string;
|
|
66
|
+
let SUBBUILD_FAILED: string;
|
|
67
|
+
let SUBDEPLOY_FAILED: string;
|
|
68
|
+
}
|
|
69
|
+
export namespace PROJECT_TASK_TYPES {
|
|
70
|
+
let PRIVATE_APP: string;
|
|
71
|
+
let PUBLIC_APP: string;
|
|
72
|
+
let APP_FUNCTION: string;
|
|
73
|
+
let CRM_CARD_V2: string;
|
|
74
|
+
}
|
|
75
|
+
export namespace PROJECT_COMPONENT_TYPES {
|
|
76
|
+
let PROJECTS: string;
|
|
77
|
+
let COMPONENTS: string;
|
|
78
|
+
}
|
|
79
|
+
export namespace PLATFORM_VERSION_ERROR_TYPES {
|
|
80
|
+
let PLATFORM_VERSION_NOT_SPECIFIED: string;
|
|
81
|
+
let PLATFORM_VERSION_RETIRED: string;
|
|
82
|
+
let PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST: string;
|
|
83
|
+
}
|
package/lib/constants.js
CHANGED
|
@@ -1,103 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
const HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH = 'HubSpot/hubspot-project-components';
|
|
3
3
|
const DEFAULT_PROJECT_TEMPLATE_BRANCH = 'main';
|
|
4
|
-
|
|
5
4
|
const FEEDBACK_OPTIONS = {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
BUG: 'bug',
|
|
6
|
+
GENERAL: 'general',
|
|
8
7
|
};
|
|
9
8
|
const FEEDBACK_URLS = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'https://docs.google.com/forms/d/e/1FAIpQLSejZZewYzuH3oKBU01tseX-cSWOUsTHLTr-YsiMGpzwcvgIMg/viewform?usp=sf_link',
|
|
9
|
+
BUG: 'https://github.com/HubSpot/hubspot-cli/issues/new',
|
|
10
|
+
GENERAL: 'https://docs.google.com/forms/d/e/1FAIpQLSejZZewYzuH3oKBU01tseX-cSWOUsTHLTr-YsiMGpzwcvgIMg/viewform?usp=sf_link',
|
|
13
11
|
};
|
|
14
12
|
const FEEDBACK_INTERVAL = 10;
|
|
15
|
-
|
|
16
13
|
const HUBSPOT_FOLDER = '@hubspot';
|
|
17
14
|
const MARKETPLACE_FOLDER = '@marketplace';
|
|
18
|
-
|
|
19
15
|
const CONFIG_FLAGS = {
|
|
20
|
-
|
|
16
|
+
USE_CUSTOM_OBJECT_HUBFILE: 'useCustomObjectHubfile',
|
|
21
17
|
};
|
|
22
|
-
|
|
23
18
|
const POLLING_DELAY = 2000;
|
|
24
|
-
|
|
25
19
|
const POLLING_STATUS = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
SUCCESS: 'SUCCESS',
|
|
21
|
+
ERROR: 'ERROR',
|
|
22
|
+
REVERTED: 'REVERTED',
|
|
23
|
+
FAILURE: 'FAILURE',
|
|
30
24
|
};
|
|
31
|
-
|
|
32
25
|
const PROJECT_CONFIG_FILE = 'hsproject.json';
|
|
33
26
|
const PROJECT_BUILD_STATES = {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
BUILDING: 'BUILDING',
|
|
28
|
+
ENQUEUED: 'ENQUEUED',
|
|
29
|
+
FAILURE: 'FAILURE',
|
|
30
|
+
PENDING: 'PENDING',
|
|
31
|
+
SUCCESS: 'SUCCESS',
|
|
39
32
|
};
|
|
40
33
|
const PROJECT_DEPLOY_STATES = {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
DEPLOYING: 'DEPLOYING',
|
|
35
|
+
FAILURE: 'FAILURE',
|
|
36
|
+
PENDING: 'PENDING',
|
|
37
|
+
SUCCESS: 'SUCCESS',
|
|
45
38
|
};
|
|
46
39
|
const PROJECT_BUILD_TEXT = {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
STATES: { ...PROJECT_BUILD_STATES },
|
|
41
|
+
STATUS_TEXT: 'Building',
|
|
42
|
+
SUBTASK_KEY: 'subbuildStatuses',
|
|
43
|
+
TYPE_KEY: 'buildType',
|
|
44
|
+
SUBTASK_NAME_KEY: 'buildName',
|
|
52
45
|
};
|
|
53
46
|
const PROJECT_DEPLOY_TEXT = {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
STATES: { ...PROJECT_DEPLOY_STATES },
|
|
48
|
+
STATUS_TEXT: 'Deploying',
|
|
49
|
+
SUBTASK_KEY: 'subdeployStatuses',
|
|
50
|
+
TYPE_KEY: 'deployType',
|
|
51
|
+
SUBTASK_NAME_KEY: 'deployName',
|
|
59
52
|
};
|
|
60
53
|
const PROJECT_ERROR_TYPES = {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
PROJECT_LOCKED: 'BuildPipelineErrorType.PROJECT_LOCKED',
|
|
55
|
+
MISSING_PROJECT_PROVISION: 'BuildPipelineErrorType.MISSING_PROJECT_PROVISION',
|
|
56
|
+
BUILD_NOT_IN_PROGRESS: 'BuildPipelineErrorType.BUILD_NOT_IN_PROGRESS',
|
|
57
|
+
SUBBUILD_FAILED: 'BuildPipelineErrorType.DEPENDENT_SUBBUILD_FAILED',
|
|
58
|
+
SUBDEPLOY_FAILED: 'DeployPipelineErrorType.DEPENDENT_SUBDEPLOY_FAILED',
|
|
66
59
|
};
|
|
67
60
|
const PROJECT_TASK_TYPES = {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
PRIVATE_APP: 'private app',
|
|
62
|
+
PUBLIC_APP: 'public app',
|
|
63
|
+
APP_FUNCTION: 'function',
|
|
64
|
+
CRM_CARD_V2: 'card',
|
|
72
65
|
};
|
|
73
66
|
const PROJECT_COMPONENT_TYPES = {
|
|
74
|
-
|
|
75
|
-
|
|
67
|
+
PROJECTS: 'projects',
|
|
68
|
+
COMPONENTS: 'components',
|
|
76
69
|
};
|
|
77
70
|
const PLATFORM_VERSION_ERROR_TYPES = {
|
|
78
|
-
|
|
79
|
-
'PlatformVersionErrorType.
|
|
80
|
-
|
|
81
|
-
PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST:
|
|
82
|
-
'PlatformVersionErrorType.PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST',
|
|
71
|
+
PLATFORM_VERSION_NOT_SPECIFIED: 'PlatformVersionErrorType.PLATFORM_VERSION_NOT_SPECIFIED',
|
|
72
|
+
PLATFORM_VERSION_RETIRED: 'PlatformVersionErrorType.PLATFORM_VERSION_RETIRED',
|
|
73
|
+
PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST: 'PlatformVersionErrorType.PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST',
|
|
83
74
|
};
|
|
84
|
-
|
|
85
75
|
module.exports = {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
76
|
+
HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH,
|
|
77
|
+
DEFAULT_PROJECT_TEMPLATE_BRANCH,
|
|
78
|
+
FEEDBACK_OPTIONS,
|
|
79
|
+
FEEDBACK_URLS,
|
|
80
|
+
FEEDBACK_INTERVAL,
|
|
81
|
+
HUBSPOT_FOLDER,
|
|
82
|
+
MARKETPLACE_FOLDER,
|
|
83
|
+
CONFIG_FLAGS,
|
|
84
|
+
POLLING_DELAY,
|
|
85
|
+
POLLING_STATUS,
|
|
86
|
+
PROJECT_CONFIG_FILE,
|
|
87
|
+
PROJECT_BUILD_TEXT,
|
|
88
|
+
PROJECT_DEPLOY_TEXT,
|
|
89
|
+
PROJECT_ERROR_TYPES,
|
|
90
|
+
PROJECT_TASK_TYPES,
|
|
91
|
+
PROJECT_COMPONENT_TYPES,
|
|
92
|
+
PLATFORM_VERSION_ERROR_TYPES,
|
|
103
93
|
};
|
package/lib/debugInfo.js
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const { version } = require('../package.json');
|
|
2
3
|
const { getPlatform } = require('./environment');
|
|
3
|
-
|
|
4
4
|
const logDebugInfo = ({ debug }) => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
if (!debug) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
console.log('');
|
|
9
|
+
console.log('Debugging info');
|
|
10
|
+
console.log('==============');
|
|
11
|
+
console.log(`CLI version: ${version}`);
|
|
12
|
+
console.log(`node version: ${process.version}`);
|
|
13
|
+
console.log(`platform: ${getPlatform()}`);
|
|
14
|
+
console.log('');
|
|
15
15
|
};
|
|
16
|
-
|
|
17
16
|
module.exports = {
|
|
18
|
-
|
|
17
|
+
logDebugInfo,
|
|
19
18
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function isGloballyInstalled(command: any): Promise<boolean>;
|
|
2
|
+
export function installPackages({ packages, installLocations }: {
|
|
3
|
+
packages: any;
|
|
4
|
+
installLocations: any;
|
|
5
|
+
}): Promise<void>;
|
|
6
|
+
export const DEFAULT_PACKAGE_MANAGER: "npm";
|
|
7
|
+
export function getProjectPackageJsonLocations(): Promise<any[]>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const { logger } = require('@hubspot/local-dev-lib/logger');
|
|
2
3
|
const { getProjectConfig } = require('./projects');
|
|
3
4
|
const { exec: execAsync } = require('child_process');
|
|
@@ -8,150 +9,107 @@ const util = require('util');
|
|
|
8
9
|
const { i18n } = require('./lang');
|
|
9
10
|
const SpinniesManager = require('./ui/SpinniesManager');
|
|
10
11
|
const fs = require('fs');
|
|
11
|
-
|
|
12
12
|
const DEFAULT_PACKAGE_MANAGER = 'npm';
|
|
13
|
-
|
|
14
13
|
const i18nKey = `commands.project.subcommands.installDeps`;
|
|
15
|
-
|
|
16
14
|
class NoPackageJsonFilesError extends Error {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
'https://developers.hubspot.com/beta-docs/guides/crm/intro/create-a-project'
|
|
24
|
-
),
|
|
25
|
-
})
|
|
26
|
-
);
|
|
27
|
-
}
|
|
15
|
+
constructor(projectName) {
|
|
16
|
+
super(i18n(`${i18nKey}.noPackageJsonInProject`, {
|
|
17
|
+
projectName,
|
|
18
|
+
link: uiLink('Learn how to create a project from scratch.', 'https://developers.hubspot.com/beta-docs/guides/crm/intro/create-a-project'),
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
28
21
|
}
|
|
29
|
-
|
|
30
22
|
async function isGloballyInstalled(command) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
23
|
+
const exec = util.promisify(execAsync);
|
|
24
|
+
try {
|
|
25
|
+
await exec(`${command} --version`);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
async function installPackages({ packages, installLocations }) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
await installPackagesInDirectory(packages, dir);
|
|
46
|
-
})
|
|
47
|
-
);
|
|
33
|
+
const installDirs = installLocations || (await getProjectPackageJsonLocations());
|
|
34
|
+
await Promise.all(installDirs.map(async (dir) => {
|
|
35
|
+
await installPackagesInDirectory(packages, dir);
|
|
36
|
+
}));
|
|
48
37
|
}
|
|
49
|
-
|
|
50
38
|
async function installPackagesInDirectory(packages, directory) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}),
|
|
64
|
-
});
|
|
65
|
-
let installCommand = `${DEFAULT_PACKAGE_MANAGER} install`;
|
|
66
|
-
|
|
67
|
-
if (packages) {
|
|
68
|
-
installCommand = `${installCommand} ${packages.join(' ')}`;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
logger.debug(`Running ${installCommand}`);
|
|
72
|
-
try {
|
|
73
|
-
const exec = util.promisify(execAsync);
|
|
74
|
-
await exec(installCommand, { cwd: directory });
|
|
75
|
-
SpinniesManager.succeed(spinner, {
|
|
76
|
-
text: i18n(`${i18nKey}.installationSuccessful`, {
|
|
77
|
-
directory: relativeDir,
|
|
78
|
-
}),
|
|
39
|
+
const spinner = `installingDependencies-${directory}`;
|
|
40
|
+
const relativeDir = path.relative(process.cwd(), directory);
|
|
41
|
+
SpinniesManager.init();
|
|
42
|
+
SpinniesManager.add(spinner, {
|
|
43
|
+
text: packages && packages.length
|
|
44
|
+
? i18n(`${i18nKey}.addingDependenciesToLocation`, {
|
|
45
|
+
dependencies: `[${packages.join(', ')}]`,
|
|
46
|
+
directory: relativeDir,
|
|
47
|
+
})
|
|
48
|
+
: i18n(`${i18nKey}.installingDependencies`, {
|
|
49
|
+
directory: relativeDir,
|
|
50
|
+
}),
|
|
79
51
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
52
|
+
let installCommand = `${DEFAULT_PACKAGE_MANAGER} install`;
|
|
53
|
+
if (packages) {
|
|
54
|
+
installCommand = `${installCommand} ${packages.join(' ')}`;
|
|
55
|
+
}
|
|
56
|
+
logger.debug(`Running ${installCommand}`);
|
|
57
|
+
try {
|
|
58
|
+
const exec = util.promisify(execAsync);
|
|
59
|
+
await exec(installCommand, { cwd: directory });
|
|
60
|
+
SpinniesManager.succeed(spinner, {
|
|
61
|
+
text: i18n(`${i18nKey}.installationSuccessful`, {
|
|
62
|
+
directory: relativeDir,
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
SpinniesManager.fail(spinner, {
|
|
68
|
+
text: i18n(`${i18nKey}.installingDependenciesFailed`, {
|
|
69
|
+
directory: relativeDir,
|
|
70
|
+
}),
|
|
71
|
+
});
|
|
72
|
+
throw new Error(i18n(`${i18nKey}.installingDependenciesFailed`, {
|
|
73
|
+
directory: relativeDir,
|
|
74
|
+
}), {
|
|
75
|
+
cause: e,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
95
78
|
}
|
|
96
|
-
|
|
97
79
|
async function getProjectPackageJsonLocations() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
!fs.existsSync(path.join(projectDir, srcDir))
|
|
128
|
-
) {
|
|
129
|
-
throw new NoPackageJsonFilesError(name);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
const packageJsonFiles = (await walk(path.join(projectDir, srcDir))).filter(
|
|
133
|
-
file =>
|
|
134
|
-
file.includes('package.json') &&
|
|
135
|
-
!file.includes('node_modules') &&
|
|
136
|
-
!file.includes('.vite')
|
|
137
|
-
);
|
|
138
|
-
|
|
139
|
-
if (packageJsonFiles.length === 0) {
|
|
140
|
-
throw new NoPackageJsonFilesError(name);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
const packageParentDirs = [];
|
|
144
|
-
packageJsonFiles.forEach(packageJsonFile => {
|
|
145
|
-
const parentDir = path.dirname(packageJsonFile);
|
|
146
|
-
packageParentDirs.push(parentDir);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
return packageParentDirs;
|
|
80
|
+
const projectConfig = await getProjectConfig();
|
|
81
|
+
if (!projectConfig ||
|
|
82
|
+
!projectConfig.projectDir ||
|
|
83
|
+
!projectConfig.projectConfig) {
|
|
84
|
+
throw new Error(i18n(`${i18nKey}.noProjectConfig`));
|
|
85
|
+
}
|
|
86
|
+
const { projectDir, projectConfig: { srcDir, name }, } = projectConfig;
|
|
87
|
+
if (!(await isGloballyInstalled(DEFAULT_PACKAGE_MANAGER))) {
|
|
88
|
+
throw new Error(i18n(`${i18nKey}.packageManagerNotInstalled`, {
|
|
89
|
+
packageManager: DEFAULT_PACKAGE_MANAGER,
|
|
90
|
+
link: uiLink(DEFAULT_PACKAGE_MANAGER, 'https://docs.npmjs.com/downloading-and-installing-node-js-and-npm'),
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
if (!fs.existsSync(projectConfig.projectDir) ||
|
|
94
|
+
!fs.existsSync(path.join(projectDir, srcDir))) {
|
|
95
|
+
throw new NoPackageJsonFilesError(name);
|
|
96
|
+
}
|
|
97
|
+
const packageJsonFiles = (await walk(path.join(projectDir, srcDir))).filter(file => file.includes('package.json') &&
|
|
98
|
+
!file.includes('node_modules') &&
|
|
99
|
+
!file.includes('.vite'));
|
|
100
|
+
if (packageJsonFiles.length === 0) {
|
|
101
|
+
throw new NoPackageJsonFilesError(name);
|
|
102
|
+
}
|
|
103
|
+
const packageParentDirs = [];
|
|
104
|
+
packageJsonFiles.forEach(packageJsonFile => {
|
|
105
|
+
const parentDir = path.dirname(packageJsonFile);
|
|
106
|
+
packageParentDirs.push(parentDir);
|
|
107
|
+
});
|
|
108
|
+
return packageParentDirs;
|
|
150
109
|
}
|
|
151
|
-
|
|
152
110
|
module.exports = {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
111
|
+
isGloballyInstalled,
|
|
112
|
+
installPackages,
|
|
113
|
+
DEFAULT_PACKAGE_MANAGER,
|
|
114
|
+
getProjectPackageJsonLocations,
|
|
157
115
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function validateDevTestAccountUsageLimits(accountConfig: any): Promise<import("@hubspot/local-dev-lib/types/developerTestAccounts").FetchDeveloperTestAccountsResponse | null>;
|
|
2
|
+
export function handleDeveloperTestAccountCreateError({ err, accountId, env, portalLimit, }: {
|
|
3
|
+
err: any;
|
|
4
|
+
accountId: any;
|
|
5
|
+
env: any;
|
|
6
|
+
portalLimit: any;
|
|
7
|
+
}): void;
|