@hubspot/cli 7.8.0-experimental.0 → 7.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +31 -27
- package/commands/__tests__/auth.test.js +5 -0
- package/commands/__tests__/doctor.test.js +16 -16
- package/commands/__tests__/getStarted.test.js +2 -2
- package/commands/__tests__/mcp.test.js +1 -1
- package/commands/__tests__/project.test.js +2 -3
- package/commands/account/auth.js +1 -0
- package/commands/account/clean.js +18 -27
- package/commands/account/createOverride.js +13 -31
- package/commands/account/info.js +20 -31
- package/commands/account/list.js +16 -22
- package/commands/account/remove.js +12 -20
- package/commands/account/removeOverride.js +11 -21
- package/commands/account/rename.js +6 -9
- package/commands/account/use.js +12 -26
- package/commands/account.js +2 -2
- package/commands/app/__tests__/migrate.test.js +5 -6
- package/commands/app/migrate.js +13 -19
- package/commands/app/secret/add.js +2 -1
- package/commands/app/secret/delete.js +2 -1
- package/commands/app/secret/list.js +2 -1
- package/commands/app/secret/update.js +2 -1
- package/commands/app/secret.js +2 -1
- package/commands/app.js +2 -2
- package/commands/auth.d.ts +1 -0
- package/commands/auth.js +17 -7
- package/commands/cms/convertFields.js +7 -9
- package/commands/cms/getReactModule.js +9 -14
- package/commands/cms/lighthouseScore.js +33 -36
- package/commands/cms.js +2 -2
- package/commands/completion.js +3 -3
- package/commands/config/set.d.ts +1 -1
- package/commands/config/set.js +64 -37
- package/commands/config.js +2 -2
- package/commands/create.js +2 -2
- package/commands/customObject/create.js +10 -12
- package/commands/customObject/schema/create.js +9 -11
- package/commands/customObject/schema/delete.js +16 -16
- package/commands/customObject/schema/fetch-all.js +12 -11
- package/commands/customObject/schema/fetch.js +15 -15
- package/commands/customObject/schema/list.js +4 -4
- package/commands/customObject/schema/update.js +13 -13
- package/commands/customObject/schema.js +2 -2
- package/commands/customObject.js +6 -7
- package/commands/doctor.js +8 -11
- package/commands/feedback.js +8 -13
- package/commands/fetch.js +8 -8
- package/commands/filemanager/fetch.js +7 -7
- package/commands/filemanager/upload.js +15 -34
- package/commands/filemanager.js +2 -2
- package/commands/function/deploy.js +11 -29
- package/commands/function/list.js +8 -8
- package/commands/function/server.js +9 -11
- package/commands/function.d.ts +1 -1
- package/commands/function.js +2 -2
- package/commands/getStarted.d.ts +1 -3
- package/commands/getStarted.js +68 -20
- package/commands/hubdb/clear.js +7 -15
- package/commands/hubdb/create.js +9 -15
- package/commands/hubdb/delete.js +8 -15
- package/commands/hubdb/fetch.js +6 -9
- package/commands/hubdb.d.ts +1 -1
- package/commands/hubdb.js +2 -2
- package/commands/init.js +2 -3
- package/commands/lint.js +16 -16
- package/commands/list.js +8 -14
- package/commands/logs.js +14 -20
- package/commands/mcp/__tests__/setup.test.js +2 -2
- package/commands/mcp/setup.js +11 -2
- package/commands/mcp.js +3 -3
- package/commands/mv.js +6 -17
- package/commands/open.js +5 -5
- package/commands/project/__tests__/add.test.js +15 -13
- package/commands/project/__tests__/create.test.js +6 -6
- package/commands/project/__tests__/deploy.test.js +3 -7
- package/commands/project/__tests__/devUnifiedFlow.test.js +2 -4
- package/commands/project/__tests__/installDeps.test.js +8 -8
- package/commands/project/__tests__/list.test.js +31 -0
- package/commands/project/__tests__/logs.test.js +1 -4
- package/commands/project/__tests__/migrate.test.js +7 -7
- package/commands/project/__tests__/migrateApp.test.js +3 -7
- package/commands/project/__tests__/profile.test.js +1 -1
- package/commands/project/__tests__/validate.test.js +98 -0
- package/commands/project/add.d.ts +2 -2
- package/commands/project/add.js +7 -10
- package/commands/project/cloneApp.js +14 -19
- package/commands/project/create.js +4 -11
- package/commands/project/deploy.js +5 -5
- package/commands/project/dev/deprecatedFlow.js +9 -18
- package/commands/project/dev/index.js +21 -18
- package/commands/project/dev/unifiedFlow.js +15 -8
- package/commands/project/download.js +15 -16
- package/commands/project/installDeps.d.ts +2 -2
- package/commands/project/installDeps.js +9 -9
- package/commands/project/list.d.ts +4 -0
- package/commands/project/list.js +62 -0
- package/commands/project/listBuilds.js +12 -21
- package/commands/project/logs.js +21 -24
- package/commands/project/migrate.js +33 -12
- package/commands/project/migrateApp.js +10 -17
- package/commands/project/open.js +6 -14
- package/commands/project/profile/add.js +3 -3
- package/commands/project/profile/delete.js +1 -2
- package/commands/project/profile.js +2 -3
- package/commands/project/upload.js +16 -25
- package/commands/project/validate.js +7 -7
- package/commands/project/watch.js +13 -22
- package/commands/project.js +4 -3
- package/commands/sandbox/__tests__/create.test.js +5 -5
- package/commands/sandbox/create.js +22 -32
- package/commands/sandbox/delete.js +39 -64
- package/commands/sandbox.js +2 -2
- package/commands/secret/addSecret.js +7 -17
- package/commands/secret/deleteSecret.js +10 -20
- package/commands/secret/listSecret.js +8 -10
- package/commands/secret/updateSecret.js +9 -17
- package/commands/secret.js +2 -2
- package/commands/testAccount/__tests__/delete.test.js +2 -4
- package/commands/testAccount/create.js +2 -2
- package/commands/testAccount/delete.d.ts +4 -3
- package/commands/testAccount/delete.js +155 -14
- package/commands/testAccount/importData.d.ts +1 -1
- package/commands/testAccount/importData.js +1 -1
- package/commands/testAccount.js +1 -1
- package/commands/theme/preview.js +1 -4
- package/lang/en.d.ts +365 -111
- package/lang/en.js +409 -158
- package/lang/en.lyaml +4 -4
- package/lib/__tests__/buildAccount.test.js +4 -3
- package/lib/__tests__/commonOpts.test.js +1 -1
- package/lib/__tests__/dependencyManagement.test.js +1 -1
- package/lib/__tests__/developerTestAccounts.test.js +3 -3
- package/lib/__tests__/hasFeature.test.js +145 -7
- package/lib/__tests__/npm.test.js +1 -1
- package/lib/__tests__/oauth.test.js +4 -4
- package/lib/__tests__/process.test.js +10 -5
- package/lib/__tests__/sandboxSync.test.js +8 -8
- package/lib/__tests__/sandboxes.test.js +8 -8
- package/lib/__tests__/serverlessLogs.test.js +1 -1
- package/lib/__tests__/usageTracking.test.js +5 -5
- package/lib/__tests__/validation.test.js +2 -1
- package/lib/__tests__/yargsUtils.test.js +83 -9
- package/lib/app/__tests__/migrate.test.js +19 -56
- package/lib/app/__tests__/migrate_legacy.test.js +1 -1
- package/lib/app/migrate.d.ts +2 -8
- package/lib/app/migrate.js +6 -81
- package/lib/app/migrate_legacy.js +20 -24
- package/lib/buildAccount.d.ts +2 -2
- package/lib/buildAccount.js +32 -64
- package/lib/commonOpts.d.ts +1 -1
- package/lib/commonOpts.js +25 -22
- package/lib/configMigrate.js +88 -9
- package/lib/configOptions.js +7 -0
- package/lib/constants.d.ts +22 -1
- package/lib/constants.js +26 -1
- package/lib/dependencyManagement.d.ts +0 -5
- package/lib/dependencyManagement.js +9 -36
- package/lib/developerTestAccounts.js +9 -23
- package/lib/doctor/Diagnosis.js +11 -23
- package/lib/doctor/DiagnosticInfoBuilder.js +12 -11
- package/lib/doctor/Doctor.js +42 -90
- package/lib/doctor/__tests__/Doctor.test.js +4 -4
- package/lib/errorHandlers/index.js +12 -20
- package/lib/errorHandlers/suppressError.js +11 -18
- package/lib/hasFeature.js +6 -0
- package/lib/lang.js +6 -5
- package/lib/links.d.ts +1 -0
- package/lib/links.js +14 -7
- package/lib/mcp/setup.js +1 -1
- package/lib/middleware/__test__/commandTargetingUtils.test.js +99 -0
- package/lib/middleware/__test__/configMiddleware.test.js +11 -11
- package/lib/middleware/__test__/yargsChecksMiddleware.test.js +6 -8
- package/lib/middleware/commandTargetingUtils.d.ts +8 -0
- package/lib/middleware/commandTargetingUtils.js +74 -0
- package/lib/middleware/configMiddleware.d.ts +1 -1
- package/lib/middleware/configMiddleware.js +21 -81
- package/lib/middleware/fireAlarmMiddleware.js +15 -5
- package/lib/middleware/gitMiddleware.js +5 -1
- package/lib/middleware/notificationsMiddleware.js +5 -11
- package/lib/middleware/yargsChecksMiddleware.js +6 -9
- package/lib/npm.js +2 -2
- package/lib/oauth.js +5 -5
- package/lib/process.js +5 -4
- package/lib/projects/__tests__/AppDevModeInterface.test.js +87 -90
- package/lib/projects/__tests__/LocalDevProcess.test.js +231 -19
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +89 -63
- package/lib/projects/__tests__/deploy.test.js +73 -8
- package/lib/projects/__tests__/localDevProjectHelpers.test.js +6 -2
- package/lib/projects/__tests__/platformVersion.test.js +8 -8
- package/lib/projects/__tests__/projects.test.js +12 -12
- package/lib/projects/__tests__/structure.test.js +3 -3
- package/lib/projects/__tests__/upload.test.d.ts +1 -0
- package/lib/projects/__tests__/upload.test.js +82 -0
- package/lib/projects/add/__tests__/legacyAddComponent.test.js +6 -6
- package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +1 -0
- package/lib/projects/add/__tests__/{v3AddComponent.test.js → v2AddComponent.test.js} +39 -39
- package/lib/projects/add/{v3AddComponent.d.ts → v2AddComponent.d.ts} +1 -1
- package/lib/projects/add/{v3AddComponent.js → v2AddComponent.js} +5 -5
- package/lib/projects/create/__tests__/legacy.test.js +5 -5
- package/lib/projects/create/__tests__/v2.test.d.ts +1 -0
- package/lib/projects/create/__tests__/{v3.test.js → v2.test.js} +82 -7
- package/lib/projects/create/index.js +4 -4
- package/lib/projects/create/legacy.js +2 -2
- package/lib/projects/create/{v3.d.ts → v2.d.ts} +3 -3
- package/lib/projects/create/{v3.js → v2.js} +16 -13
- package/lib/projects/deploy.d.ts +1 -1
- package/lib/projects/deploy.js +2 -2
- package/lib/projects/localDev/AppDevModeInterface.d.ts +10 -1
- package/lib/projects/localDev/AppDevModeInterface.js +118 -89
- package/lib/projects/localDev/DevServerManager.d.ts +11 -29
- package/lib/projects/localDev/DevServerManager.js +19 -61
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +40 -0
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +120 -0
- package/lib/projects/localDev/LocalDevLogger.d.ts +4 -0
- package/lib/projects/localDev/LocalDevLogger.js +27 -6
- package/lib/projects/localDev/{LocalDevManager.js → LocalDevManager_DEPRECATED.js} +10 -11
- package/lib/projects/localDev/LocalDevProcess.d.ts +7 -5
- package/lib/projects/localDev/LocalDevProcess.js +93 -21
- package/lib/projects/localDev/LocalDevState.d.ts +12 -8
- package/lib/projects/localDev/LocalDevState.js +27 -17
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +6 -1
- package/lib/projects/localDev/LocalDevWebsocketServer.js +94 -33
- package/lib/projects/localDev/helpers/account.d.ts +1 -1
- package/lib/projects/localDev/helpers/account.js +2 -2
- package/lib/projects/localDev/helpers/project.d.ts +3 -2
- package/lib/projects/localDev/helpers/project.js +49 -10
- package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +7 -0
- package/lib/projects/localDev/localDevWebsocketServerUtils.js +19 -0
- package/lib/projects/platformVersion.d.ts +1 -1
- package/lib/projects/platformVersion.js +1 -1
- package/lib/projects/pollProjectBuildAndDeploy.js +4 -4
- package/lib/projects/structure.js +6 -6
- package/lib/projects/upload.d.ts +1 -1
- package/lib/projects/upload.js +17 -8
- package/lib/projects/urls.d.ts +0 -1
- package/lib/projects/urls.js +0 -3
- package/lib/prompts/__tests__/downloadProjectPrompt.test.js +1 -0
- package/lib/prompts/__tests__/projectAddPrompt.test.js +10 -10
- package/lib/prompts/accountNamePrompt.js +14 -19
- package/lib/prompts/accountsPrompt.js +2 -2
- package/lib/prompts/cmsFieldPrompt.js +2 -2
- package/lib/prompts/createApiSamplePrompt.js +5 -5
- package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +10 -1
- package/lib/prompts/createFunctionPrompt.js +14 -14
- package/lib/prompts/createModulePrompt.js +9 -9
- package/lib/prompts/createTemplatePrompt.js +2 -2
- package/lib/prompts/downloadProjectPrompt.js +5 -8
- package/lib/prompts/installAppPrompt.d.ts +1 -6
- package/lib/prompts/installAppPrompt.js +1 -6
- package/lib/prompts/personalAccessKeyPrompt.js +3 -3
- package/lib/prompts/previewPrompt.js +6 -6
- package/lib/prompts/projectAddPrompt.d.ts +2 -2
- package/lib/prompts/projectAddPrompt.js +9 -2
- package/lib/prompts/projectDevTargetAccountPrompt.js +20 -32
- package/lib/prompts/projectNamePrompt.js +4 -8
- package/lib/prompts/projectsLogsPrompt.js +2 -4
- package/lib/prompts/promptUtils.js +30 -9
- package/lib/prompts/sandboxesPrompt.js +7 -7
- package/lib/prompts/secretPrompt.js +3 -3
- package/lib/prompts/selectAppPrompt.js +3 -3
- package/lib/prompts/selectHubDBTablePrompt.js +9 -13
- package/lib/prompts/selectProjectTemplatePrompt.js +2 -0
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +15 -19
- package/lib/prompts/setAsDefaultAccountPrompt.js +4 -8
- package/lib/prompts/uploadPrompt.js +5 -5
- package/lib/sandboxSync.js +24 -41
- package/lib/sandboxes.js +19 -47
- package/lib/schema.js +3 -3
- package/lib/serverlessLogs.js +11 -13
- package/lib/theme/__tests__/migrate.test.d.ts +1 -0
- package/lib/theme/__tests__/migrate.test.js +233 -0
- package/lib/theme/migrate.d.ts +13 -0
- package/lib/theme/migrate.js +90 -0
- package/lib/ui/SpinniesManager.d.ts +2 -0
- package/lib/ui/SpinniesManager.js +112 -8
- package/lib/ui/boxen.js +1 -2
- package/lib/ui/git.js +13 -10
- package/lib/ui/index.d.ts +4 -0
- package/lib/ui/index.js +47 -38
- package/lib/ui/serverlessFunctionLogs.js +9 -7
- package/lib/ui/uiMessages.d.ts +72 -0
- package/lib/ui/uiMessages.js +75 -0
- package/lib/usageTracking.js +8 -8
- package/lib/validation.js +20 -23
- package/lib/yargsUtils.d.ts +1 -1
- package/lib/yargsUtils.js +12 -5
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +1 -1
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsCreateModuleTool.js +1 -1
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +1 -1
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +2 -2
- package/mcp-server/tools/cms/HsListFunctionsTool.js +1 -1
- package/mcp-server/tools/cms/HsListTool.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +2 -2
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsListTool.test.js +1 -1
- package/mcp-server/tools/index.js +4 -0
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +3 -3
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +3 -3
- package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
- package/mcp-server/tools/project/CreateProjectTool.js +5 -5
- package/mcp-server/tools/project/DeployProjectTool.js +1 -1
- package/mcp-server/tools/project/DocFetchTool.js +2 -2
- package/mcp-server/tools/project/DocsSearchTool.d.ts +4 -1
- package/mcp-server/tools/project/DocsSearchTool.js +7 -7
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +23 -0
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +68 -0
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +11 -0
- package/mcp-server/tools/project/GetApplicationInfoTool.js +49 -0
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -1
- package/mcp-server/tools/project/GetConfigValuesTool.js +13 -7
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +2 -2
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +1 -1
- package/mcp-server/tools/project/UploadProjectTools.js +2 -2
- package/mcp-server/tools/project/ValidateProjectTool.js +1 -1
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +1 -1
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +2 -2
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +1 -1
- package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +2 -2
- package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +14 -12
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +169 -0
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +115 -0
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +9 -8
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +1 -1
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +1 -1
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +1 -1
- package/mcp-server/tools/project/constants.d.ts +1 -1
- package/mcp-server/tools/project/constants.js +9 -3
- package/mcp-server/utils/__tests__/cliConfig.test.d.ts +1 -0
- package/mcp-server/utils/__tests__/cliConfig.test.js +110 -0
- package/mcp-server/utils/cliConfig.d.ts +1 -0
- package/mcp-server/utils/cliConfig.js +12 -0
- package/mcp-server/utils/toolUsageTracking.js +2 -2
- package/package.json +8 -12
- package/types/LocalDev.d.ts +19 -3
- package/ui/components/HorizontalSelectPrompt.js +1 -1
- package/ui/index.js +1 -1
- package/commands/getStartedV2.d.ts +0 -9
- package/commands/getStartedV2.js +0 -39
- package/lib/middleware/__test__/utils.test.js +0 -51
- package/lib/middleware/utils.d.ts +0 -8
- package/lib/middleware/utils.js +0 -14
- package/lib/projects/localDev/DevServerManagerV2.d.ts +0 -22
- package/lib/projects/localDev/DevServerManagerV2.js +0 -81
- package/ui/components/Ascii.d.ts +0 -10
- package/ui/components/Ascii.js +0 -11
- package/ui/views/GetStarted.d.ts +0 -7
- package/ui/views/GetStarted.js +0 -157
- /package/{lib/middleware/__test__/utils.test.d.ts → commands/project/__tests__/list.test.d.ts} +0 -0
- /package/{lib/projects/add/__tests__/v3AddComponent.test.d.ts → commands/project/__tests__/validate.test.d.ts} +0 -0
- /package/lib/{projects/create/__tests__/v3.test.d.ts → middleware/__test__/commandTargetingUtils.test.d.ts} +0 -0
- /package/lib/projects/localDev/{LocalDevManager.d.ts → LocalDevManager_DEPRECATED.d.ts} +0 -0
package/lang/en.js
CHANGED
|
@@ -3,9 +3,10 @@ import { mapToUserFriendlyName } from '@hubspot/project-parsing-lib';
|
|
|
3
3
|
import { PLATFORM_VERSIONS } from '@hubspot/local-dev-lib/constants/projects';
|
|
4
4
|
import { PERSONAL_ACCESS_KEY_AUTH_METHOD } from '@hubspot/local-dev-lib/constants/auth';
|
|
5
5
|
import { ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME, GLOBAL_CONFIG_PATH, DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME, } from '@hubspot/local-dev-lib/constants/config';
|
|
6
|
-
import { uiAccountDescription, uiBetaTag, uiCommandReference, uiLink, UI_COLORS, } from '../lib/ui/index.js';
|
|
7
|
-
import { getProjectDetailUrl, getProjectSettingsUrl, getLocalDevUiUrl,
|
|
8
|
-
import {
|
|
6
|
+
import { uiAccountDescription, uiBetaTag, uiCommandReference, uiLink, UI_COLORS, uiAuthCommandReference, } from '../lib/ui/index.js';
|
|
7
|
+
import { getProjectDetailUrl, getProjectSettingsUrl, getLocalDevUiUrl, } from '../lib/projects/urls.js';
|
|
8
|
+
import { getProductUpdatesUrl } from '../lib/links.js';
|
|
9
|
+
import { APP_DISTRIBUTION_TYPES, APP_AUTH_TYPES, PROJECT_CONFIG_FILE, PROJECT_WITH_APP, LEGACY_PUBLIC_APP_FILE, } from '../lib/constants.js';
|
|
9
10
|
import { getAccountIdentifier } from '@hubspot/local-dev-lib/config/getAccountIdentifier';
|
|
10
11
|
export const commands = {
|
|
11
12
|
generalErrors: {
|
|
@@ -18,6 +19,7 @@ export const commands = {
|
|
|
18
19
|
},
|
|
19
20
|
},
|
|
20
21
|
getStarted: {
|
|
22
|
+
describe: 'A step-by-step command to get you started with a HubSpot project.',
|
|
21
23
|
options: {
|
|
22
24
|
dest: {
|
|
23
25
|
describe: 'Directory where the project should be created',
|
|
@@ -84,7 +86,7 @@ export const commands = {
|
|
|
84
86
|
errors: {
|
|
85
87
|
invalidAccountIdProvided: `--account must be a number.`,
|
|
86
88
|
failedToUpdateConfig: 'Failed to update the configuration file. Please try again.',
|
|
87
|
-
migrationNotConfirmed: `Did not migrate your configuration file. Run ${
|
|
89
|
+
migrationNotConfirmed: `Did not migrate your configuration file. Run ${uiAuthCommandReference()} to update your existing config, or use ${uiCommandReference('hs config migrate')} to switch to the new global configuration.`,
|
|
88
90
|
mergeNotConfirmed: `Did not merge configuration files. When you are ready to merge the deprecated config file with the global config file, run ${uiCommandReference('hs config migrate')}.`,
|
|
89
91
|
},
|
|
90
92
|
success: {
|
|
@@ -94,9 +96,13 @@ export const commands = {
|
|
|
94
96
|
},
|
|
95
97
|
list: {
|
|
96
98
|
accounts: `${chalk.bold('Accounts')}:`,
|
|
97
|
-
|
|
99
|
+
defaultAccountTitle: `${chalk.bold('Default Account')}`,
|
|
100
|
+
defaultAccount: (account) => `Account: ${account}`,
|
|
98
101
|
describe: 'List names of accounts defined in config.',
|
|
99
|
-
configPath: (configPath) =>
|
|
102
|
+
configPath: (configPath) => `Source: ${configPath}`,
|
|
103
|
+
overrideFilePathTitle: `${chalk.bold('Default Account Override')}`,
|
|
104
|
+
overrideFilePath: (overrideFilePath) => `Source: ${overrideFilePath}`,
|
|
105
|
+
overrideAccount: (account) => `Account: ${account}`,
|
|
100
106
|
labels: {
|
|
101
107
|
accountId: 'Account ID',
|
|
102
108
|
authType: 'Auth Type',
|
|
@@ -122,6 +128,8 @@ export const commands = {
|
|
|
122
128
|
errors: {
|
|
123
129
|
accountNotFound: (specifiedAccount, configPath) => `The account "${specifiedAccount}" could not be found in ${configPath}`,
|
|
124
130
|
},
|
|
131
|
+
accountOverride: (accountOverride) => `This project currently has an account override set: "${accountOverride}". Account "${accountOverride}" will continue to act as the default account for this project.`,
|
|
132
|
+
accountOverrideCommands: `Use ${uiCommandReference('hs account create-override')} to change override accounts, or ${uiCommandReference('hs account remove-override')} to remove the override and use your default account.`,
|
|
125
133
|
examples: {
|
|
126
134
|
default: 'Select a HubSpot account to use as the default account',
|
|
127
135
|
idBased: 'Set the default account to the account in the config with accountId equal to "1234567"',
|
|
@@ -143,6 +151,7 @@ export const commands = {
|
|
|
143
151
|
replaceDefaultAccount: 'The removed account was the default account.',
|
|
144
152
|
},
|
|
145
153
|
prompts: {
|
|
154
|
+
deleteOverrideFile: (overrideFilePath, accountName) => `Delete the override file (${overrideFilePath}) associated with ${accountName}?`,
|
|
146
155
|
selectAccountToRemove: 'Select an account to remove from the config',
|
|
147
156
|
},
|
|
148
157
|
errors: {
|
|
@@ -162,12 +171,40 @@ export const commands = {
|
|
|
162
171
|
accountRemoved: (accountName) => `Account "${accountName}" removed from the config`,
|
|
163
172
|
},
|
|
164
173
|
},
|
|
174
|
+
removeOverride: {
|
|
175
|
+
describe: (overrideFile) => `Remove the default account override file (${overrideFile}) from the current working directory.`,
|
|
176
|
+
accountOverride: (overrideFilePath, accountOverride) => `There is an account override file at ${overrideFilePath} associated with account "${accountOverride}".`,
|
|
177
|
+
prompts: {
|
|
178
|
+
deleteOverrideFile: 'Delete account override file?',
|
|
179
|
+
},
|
|
180
|
+
success: 'Removed the default account override file.',
|
|
181
|
+
noOverrideFile: 'No default account override file found in the current working directory. No action required.',
|
|
182
|
+
errors: {
|
|
183
|
+
globalConfigNotFound: `This command is only compatible with our new global config. Run ${uiCommandReference('hs account auth')} to get started.`,
|
|
184
|
+
},
|
|
185
|
+
options: {
|
|
186
|
+
force: {
|
|
187
|
+
describe: 'Skip confirmation prompt when removing the override file',
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
},
|
|
165
191
|
info: {
|
|
166
192
|
accountId: (accountId) => `${chalk.bold('Account ID')}: ${accountId}`,
|
|
193
|
+
defaultAccountTitle: `${chalk.bold('Default Account')}`,
|
|
194
|
+
configPath: (configPath) => `Source: ${configPath}`,
|
|
195
|
+
defaultAccount: (accountName) => `Account: ${accountName}`,
|
|
196
|
+
overrideFilePathTitle: `${chalk.bold('Default Account Override')}`,
|
|
197
|
+
overrideFilePath: (overrideFilePath) => `Source: ${overrideFilePath}`,
|
|
198
|
+
overrideAccount: (accountName) => `Account: ${accountName}`,
|
|
167
199
|
describe: 'Print information about the default account, or about the account specified with the "account" option.',
|
|
168
200
|
errors: {
|
|
169
201
|
notUsingPersonalAccessKey: 'This command currently only supports fetching scopes for the personal access key auth type.',
|
|
170
202
|
},
|
|
203
|
+
options: {
|
|
204
|
+
account: {
|
|
205
|
+
describe: 'Account name or id to show info for',
|
|
206
|
+
},
|
|
207
|
+
},
|
|
171
208
|
examples: {
|
|
172
209
|
default: 'Print information for the default account',
|
|
173
210
|
idBased: 'Print information for the account with accountId equal to "1234567"',
|
|
@@ -191,6 +228,30 @@ export const commands = {
|
|
|
191
228
|
other: (count) => `Remove ${count} inactive accounts from the CLI config?`,
|
|
192
229
|
},
|
|
193
230
|
removeSuccess: (accountName) => `Removed ${accountName} from the CLI config.`,
|
|
231
|
+
replaceDefaultAccount: 'The default account was removed.',
|
|
232
|
+
defaultAccountOverride: (overrideFilePath) => `\n(This will also delete the default account override file at ${overrideFilePath})`,
|
|
233
|
+
},
|
|
234
|
+
createOverride: {
|
|
235
|
+
describe: (hsAccountFileName) => `Create a new default account override file (${hsAccountFileName}) in the current working directory.`,
|
|
236
|
+
success: (overrideFilePath) => `Default account override file created at ${overrideFilePath}`,
|
|
237
|
+
accountOverride: (overrideFilePath, accountOverride) => `An account override file already exists at ${overrideFilePath} associated with account "${accountOverride}".`,
|
|
238
|
+
prompts: {
|
|
239
|
+
replaceOverrideFile: 'Replace existing account override file?',
|
|
240
|
+
},
|
|
241
|
+
errors: {
|
|
242
|
+
globalConfigNotFound: `This command is only compatible with our new global config. Run ${uiCommandReference('hs account auth')} to get started.`,
|
|
243
|
+
accountNotFound: (configPath) => `The specified account could not be found in the config file ${configPath}`,
|
|
244
|
+
},
|
|
245
|
+
options: {
|
|
246
|
+
account: {
|
|
247
|
+
describe: 'Name or ID of the account to create an override file for.',
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
examples: {
|
|
251
|
+
default: (hsAccountFileName) => `Create a new default account override file (${hsAccountFileName}) in the current working directory`,
|
|
252
|
+
idBased: (hsAccountFileName) => `Create a new default account override file (${hsAccountFileName}) in the current working directory, using the account with accountId "1234567"`,
|
|
253
|
+
nameBased: (hsAccountFileName) => `Create a new default account override file (${hsAccountFileName}) in the current working directory, using the account with name "MyAccount"`,
|
|
254
|
+
},
|
|
194
255
|
},
|
|
195
256
|
},
|
|
196
257
|
},
|
|
@@ -260,6 +321,10 @@ export const commands = {
|
|
|
260
321
|
describe: 'Enable or disable automatic opening of the browser',
|
|
261
322
|
},
|
|
262
323
|
},
|
|
324
|
+
errors: {
|
|
325
|
+
invalidBoolean: (commandName, value) => `Invalid boolean value "${value}" for --${commandName}. Valid values are: true, false`,
|
|
326
|
+
invalidHTTPTimeout: `Invalid HTTP timeout value. Must be a number greater than 3000.`,
|
|
327
|
+
},
|
|
263
328
|
},
|
|
264
329
|
},
|
|
265
330
|
},
|
|
@@ -280,6 +345,9 @@ export const commands = {
|
|
|
280
345
|
pageTemplateScoreTitle: 'Page template scores',
|
|
281
346
|
lighthouseLinksTitle: 'Lighthouse links',
|
|
282
347
|
failedTemplatePathsTitle: 'The following templates could not be scored',
|
|
348
|
+
themeToCheckTitle: (themeToCheck, target) => `${themeToCheck} ${target} scores`,
|
|
349
|
+
themeTitle: (themeToCheck) => `Theme: ${themeToCheck}`,
|
|
350
|
+
poweredByLink: `Powered by ${uiLink('Google Lighthouse', 'https://developer.chrome.com/docs/lighthouse/overview/')}`,
|
|
283
351
|
},
|
|
284
352
|
errors: {
|
|
285
353
|
targetOptionRequired: '[--target] is required for detailed view',
|
|
@@ -398,9 +466,9 @@ export const commands = {
|
|
|
398
466
|
},
|
|
399
467
|
},
|
|
400
468
|
customObject: {
|
|
401
|
-
betaMessage:
|
|
469
|
+
betaMessage: `The Custom Object CLI is currently in beta and is subject to change.`,
|
|
402
470
|
describe: 'Commands for managing custom objects.',
|
|
403
|
-
seeMoreLink: 'View our docs to find out more.'
|
|
471
|
+
seeMoreLink: `${uiLink('View our docs to find out more', 'https://developers.hubspot.com/docs/api-reference/crm-custom-objects-v3/guide#custom-objects-api-guide')}`,
|
|
404
472
|
subcommands: {
|
|
405
473
|
create: {
|
|
406
474
|
describe: 'Create custom object instances.',
|
|
@@ -800,7 +868,7 @@ export const commands = {
|
|
|
800
868
|
configFileUpdated: (authType, account) => `Connected account "${account}" using "${authType}" and set it as the default account`,
|
|
801
869
|
},
|
|
802
870
|
logs: {
|
|
803
|
-
updateConfig:
|
|
871
|
+
updateConfig: `To update an existing config file, use the ${uiAuthCommandReference()} command.`,
|
|
804
872
|
},
|
|
805
873
|
errors: {
|
|
806
874
|
invalidAccountIdProvided: `--account must be a number.`,
|
|
@@ -862,8 +930,9 @@ export const commands = {
|
|
|
862
930
|
tailLogs: (functionPath, accountId) => `Waiting for log entries for "${functionPath}" on account "${accountId}".\n`,
|
|
863
931
|
},
|
|
864
932
|
mcp: {
|
|
865
|
-
describe: 'Commands for managing HubSpot MCP servers',
|
|
933
|
+
describe: 'Commands for managing HubSpot MCP servers.',
|
|
866
934
|
setup: {
|
|
935
|
+
describe: 'Setup the HubSpot development MCP servers.',
|
|
867
936
|
installingDocSearch: 'Adding the docs-search mcp server',
|
|
868
937
|
claudeCode: 'Claude Code',
|
|
869
938
|
cursor: 'Cursor',
|
|
@@ -875,6 +944,7 @@ export const commands = {
|
|
|
875
944
|
},
|
|
876
945
|
success: (derivedTargets) => `You can now use the HubSpot CLI MCP Server in ${derivedTargets.join(', ')}. ${chalk.bold('You may need to restart these tools to apply the changes')}.`,
|
|
877
946
|
errors: {
|
|
947
|
+
needsMcpAccess: (accountId) => `You must opt in to the developer MCP beta to use this feature on ${uiAccountDescription(accountId)}. Try again with a different account or ${uiLink('join the beta now', getProductUpdatesUrl('239890', accountId))}`,
|
|
878
948
|
needsNode20: `This feature requires node >=20`,
|
|
879
949
|
errorParsingJsonFIle: (filename, errorMessage) => `Unable to update ${chalk.bold(filename)} due to invalid JSON: ${errorMessage}`,
|
|
880
950
|
},
|
|
@@ -941,6 +1011,7 @@ export const commands = {
|
|
|
941
1011
|
selectLink: 'Select a link to open',
|
|
942
1012
|
},
|
|
943
1013
|
project: {
|
|
1014
|
+
describe: `Commands for managing projects. For more information visit our documentation https://developers.hubspot.com/docs/getting-started/quickstart`,
|
|
944
1015
|
profile: {
|
|
945
1016
|
describe: 'Commands for managing project profiles',
|
|
946
1017
|
verboseDescribe: `Commands for managing project profiles\n\nProfiles are stored at the root of your project's source directory and they make configuration dynamic. Use them to couple specialized configurations of your project to specific HubSpot accounts.\n\nRun ${uiCommandReference('hs project profile add')} to get started!`,
|
|
@@ -1009,11 +1080,11 @@ export const commands = {
|
|
|
1009
1080
|
dev: {
|
|
1010
1081
|
describe: 'Start local dev for the current project.',
|
|
1011
1082
|
logs: {
|
|
1012
|
-
|
|
1083
|
+
header: 'HubSpot projects local development',
|
|
1013
1084
|
placeholderAccountSelection: 'Using default account as target account (for now)',
|
|
1014
1085
|
accountTypeInformation: 'Testing in a developer test account is strongly recommended, but you can use a sandbox account if your plan allows you to create one.',
|
|
1015
|
-
|
|
1016
|
-
learnMoreMessageLegacy: uiLink('Learn more about the projects local dev server', 'https://developers.hubspot.com/docs/
|
|
1086
|
+
learnMoreMessageV2: `Learn more about ${uiLink('HubSpot projects local dev', 'https://developers.hubspot.com/docs/developer-tooling/local-development/hubspot-cli/project-commands#start-a-local-development-server')} | ${uiLink('HubSpot account types', 'https://developers.hubspot.com/docs/getting-started/account-types')}`,
|
|
1087
|
+
learnMoreMessageLegacy: uiLink('Learn more about the projects local dev server', 'https://developers.hubspot.com/docs/developer-tooling/local-development/hubspot-cli/project-commands#start-a-local-development-server'),
|
|
1017
1088
|
profileProjectAccountExplanation: (accountId, profileName) => `Using account ${uiAccountDescription(accountId)} from profile ${chalk.bold(profileName)} for project upload`,
|
|
1018
1089
|
defaultProjectAccountExplanation: (accountId) => `Using default account ${uiAccountDescription(accountId)} for project upload`,
|
|
1019
1090
|
projectAccountFlagExplanation: (accountId) => `Using account ${uiAccountDescription(accountId)} provided by the --project-account flag for project upload`,
|
|
@@ -1023,21 +1094,22 @@ export const commands = {
|
|
|
1023
1094
|
},
|
|
1024
1095
|
errors: {
|
|
1025
1096
|
noProjectConfig: 'No project detected. Please run this command again from a project directory.',
|
|
1026
|
-
noAccount: (accountId) => `An error occurred while reading account ${uiAccountDescription(accountId)} from your config. Run ${
|
|
1027
|
-
noAccountsInConfig:
|
|
1097
|
+
noAccount: (accountId) => `An error occurred while reading account ${uiAccountDescription(accountId)} from your config. Run ${uiAuthCommandReference()} to re-auth this account.`,
|
|
1098
|
+
noAccountsInConfig: `No accounts found in your config. Run ${uiAuthCommandReference()} to configure a HubSpot account with the CLI.`,
|
|
1028
1099
|
invalidProjectComponents: 'Projects cannot contain both private and public apps. Move your apps to separate projects before attempting local development.',
|
|
1029
1100
|
noRunnableComponents: `No supported components were found in this project. Run ${uiCommandReference('hs project add')} to see a list of available components and add one to your project.`,
|
|
1030
1101
|
accountNotCombined: `\nLocal development of unified apps is currently only compatible with accounts that are opted into the unified apps beta. Make sure that this account is opted in or switch accounts using ${uiCommandReference('hs account use')}.`,
|
|
1031
1102
|
unsupportedAccountFlagLegacy: 'The --project-account and --testing-account flags are not supported for projects with platform versions earlier than 2025.2.',
|
|
1032
|
-
|
|
1103
|
+
unsupportedAccountFlagV2: 'The --account flag is is not supported supported for projects with platform versions 2025.2 and newer. Use --testing-account and --project-account flags to specify accounts to use for local dev',
|
|
1033
1104
|
},
|
|
1034
1105
|
examples: {
|
|
1035
1106
|
default: 'Start local dev for the current project',
|
|
1036
1107
|
},
|
|
1037
1108
|
options: {
|
|
1038
1109
|
profile: 'The profile to target during local dev',
|
|
1039
|
-
projectAccount: 'The id of the account to upload your project to.
|
|
1040
|
-
testingAccount: 'The id of the account to install apps and test on.
|
|
1110
|
+
projectAccount: 'The id of the account to upload your project to. Must be used with --testing-account. Supported on platform versions 2025.2 and newer.',
|
|
1111
|
+
testingAccount: 'The id of the account to install apps and test on. Must be used with --project-account. Supported on platform versions 2025.2 and newer.',
|
|
1112
|
+
account: 'The id of the account to upload your project to. Unsupported on platform versions 2025.2 and newer.',
|
|
1041
1113
|
},
|
|
1042
1114
|
},
|
|
1043
1115
|
create: {
|
|
@@ -1069,7 +1141,7 @@ export const commands = {
|
|
|
1069
1141
|
describe: 'Project name (cannot be changed)',
|
|
1070
1142
|
},
|
|
1071
1143
|
template: {
|
|
1072
|
-
describe: 'The starting template',
|
|
1144
|
+
describe: 'The starting template. Only applies when platform version is less than 2025.2.',
|
|
1073
1145
|
},
|
|
1074
1146
|
templateSource: {
|
|
1075
1147
|
describe: 'Path to custom GitHub repository from which to create project template',
|
|
@@ -1107,34 +1179,40 @@ export const commands = {
|
|
|
1107
1179
|
describe: 'Project name (cannot be changed)',
|
|
1108
1180
|
},
|
|
1109
1181
|
},
|
|
1110
|
-
header: {
|
|
1111
|
-
|
|
1112
|
-
link: 'Learn more about migrating apps to the projects framework',
|
|
1113
|
-
},
|
|
1114
|
-
deprecationWarning: (oldCommand, newCommand) => `The ${oldCommand} command is deprecated and will be removed. Use ${newCommand} going forward.`,
|
|
1182
|
+
header: `This command will migrate an app to the projects framework. It will walk you through the fields required to complete the migration and download the project source code into a directory of your choosing.\n${uiLink('Learn more about migrating apps to the projects framework', 'https://developers.hubspot.com/docs/platform/migrate-a-public-app-to-projects')}`,
|
|
1183
|
+
deprecationWarning: (platformVersion) => `The ${uiCommandReference('hs project migrate-app')} command is deprecated and will be removed. Use ${uiCommandReference(`hs app migrate --platform-version=${platformVersion}`)} going forward.`,
|
|
1115
1184
|
migrationStatus: {
|
|
1116
|
-
inProgress: () => `Converting app configuration to ${chalk.bold(
|
|
1185
|
+
inProgress: () => `Converting app configuration to ${chalk.bold(LEGACY_PUBLIC_APP_FILE)} component definition ...`,
|
|
1117
1186
|
success: () => `${chalk.bold('Your app was converted and build #1 is deployed')}`,
|
|
1118
|
-
done: () =>
|
|
1119
|
-
failure: () =>
|
|
1187
|
+
done: () => `Converting app configuration to ${LEGACY_PUBLIC_APP_FILE} component definition ... DONE`,
|
|
1188
|
+
failure: () => `Converting app configuration to ${LEGACY_PUBLIC_APP_FILE} component definition ... FAILED`,
|
|
1120
1189
|
},
|
|
1121
1190
|
warning: {
|
|
1122
|
-
title:
|
|
1123
|
-
projectConversion:
|
|
1124
|
-
appConfig:
|
|
1125
|
-
buildAndDeploy: 'This will create a new project with a single app component and immediately build and deploy it to your developer account (build #1)
|
|
1126
|
-
existingApps:
|
|
1191
|
+
title: `${chalk.bold('You are about to migrate an app to the projects framework')}\n`,
|
|
1192
|
+
projectConversion: `${chalk.bold('The selected app will be converted to a project component.')}\n`,
|
|
1193
|
+
appConfig: `All supported app configuration will be moved to the ${chalk.bold(LEGACY_PUBLIC_APP_FILE)} component definition file. Future updates to those features must be made through the project build and deploy pipeline, not the developer account UI.\n`,
|
|
1194
|
+
buildAndDeploy: 'This will create a new project with a single app component and immediately build and deploy it to your developer account (build #1).\n',
|
|
1195
|
+
existingApps: `${chalk.bold('This will not affect existing app users or installs.')}`,
|
|
1127
1196
|
copyApp: 'We strongly recommend making a copy of your app to test this process in a development app before replacing production.',
|
|
1128
1197
|
},
|
|
1129
1198
|
migrationInterrupted: '\nThe command is terminated, but app migration is still in progress. Please check your account to ensure that the project and associated app have been created successfully.',
|
|
1130
1199
|
createAppPrompt: "Proceed with migrating this app to a project component (this process can't be aborted)?",
|
|
1131
1200
|
projectDetailsLink: 'View project details in your developer account',
|
|
1201
|
+
errors: {
|
|
1202
|
+
noAppsForProject: (projectName) => `No apps associated with project ${projectName}`,
|
|
1203
|
+
noAccountConfig: 'No account configuration found. Please check your account settings.',
|
|
1204
|
+
projectAlreadyExists: (projectName) => `A project with name ${projectName} already exists. Please choose another name.`,
|
|
1205
|
+
invalidApp: (appId) => `Could not migrate appId ${appId}. This app cannot be migrated at this time. Please choose another public app.`,
|
|
1206
|
+
migrationFailed: 'Migration Failed',
|
|
1207
|
+
notAllowedWithinProject: `This command cannot be run from within a project directory. Run the command again from outside a project directory. If you are trying to migrate a project, run ${uiCommandReference('hs project migrate')}`,
|
|
1208
|
+
},
|
|
1132
1209
|
},
|
|
1133
1210
|
migrate: {
|
|
1134
1211
|
preamble: (platformVersion) => `This command will migrate an existing project to platformVersion ${platformVersion}. It will walk you through the fields required to complete the migration and download the new project source code into the project source directory. It will also copy all of your existing files to a new directory (archive) in case you need access to your old files later.`,
|
|
1135
1212
|
describe: 'Migrate an existing project to the new version of the projects framework.',
|
|
1136
1213
|
errors: {
|
|
1137
1214
|
noProjectConfig: (command) => `No project detected. Please run this command again from a project directory. If you are trying to migrate an app, run ${command}`,
|
|
1215
|
+
noThemeMigrationAccess: (accountId) => `This project contains a CMS theme. You must opt in to theme migration beta to continue updating it on ${uiAccountDescription(accountId)}. Try again with a different account or ${uiLink('join the beta now', getProductUpdatesUrl('253920', accountId))}`,
|
|
1138
1216
|
},
|
|
1139
1217
|
examples: {
|
|
1140
1218
|
default: 'Migrate an existing project to the new version of the projects framework.',
|
|
@@ -1154,15 +1232,16 @@ export const commands = {
|
|
|
1154
1232
|
},
|
|
1155
1233
|
},
|
|
1156
1234
|
cloneStatus: {
|
|
1157
|
-
inProgress:
|
|
1158
|
-
done:
|
|
1235
|
+
inProgress: `Cloning app configuration to ${chalk.bold(LEGACY_PUBLIC_APP_FILE)} component definition ...`,
|
|
1236
|
+
done: `Cloning app configuration to ${LEGACY_PUBLIC_APP_FILE} component definition ... DONE`,
|
|
1159
1237
|
success: (dest) => `Your cloned project was created in ${dest}`,
|
|
1160
|
-
failure:
|
|
1238
|
+
failure: `Cloning app configuration to ${LEGACY_PUBLIC_APP_FILE} component definition ... FAILED`,
|
|
1161
1239
|
},
|
|
1162
1240
|
errors: {
|
|
1163
1241
|
invalidAccountTypeTitle: () => `${chalk.bold('Developer account not targeted')}`,
|
|
1164
1242
|
invalidAccountTypeDescription: (useCommand, authCommand) => `Only public apps created in a developer account can be converted to a project component. Select a connected developer account with ${useCommand} or ${authCommand} and try again.`,
|
|
1165
1243
|
couldNotWriteConfigPath: (configPath) => `Failed to write project config at ${configPath}`,
|
|
1244
|
+
noAccountConfig: (accountId) => `No account config found for ${uiAccountDescription(accountId)}`,
|
|
1166
1245
|
},
|
|
1167
1246
|
},
|
|
1168
1247
|
add: {
|
|
@@ -1192,7 +1271,7 @@ export const commands = {
|
|
|
1192
1271
|
maxExceeded: (maxCount) => `This project has the maximum allowed(${maxCount})`,
|
|
1193
1272
|
authTypeNotAllowed: (authType) => `Auth type '${authType}' not allowed.`,
|
|
1194
1273
|
distributionNotAllowed: (dist) => `Distribution '${dist}' not allowed.`,
|
|
1195
|
-
portalDoesNotHaveAccessToThisFeature: (accountId) => `The account ${uiAccountDescription(accountId)} does not have access to this feature
|
|
1274
|
+
portalDoesNotHaveAccessToThisFeature: (accountId) => `The account ${uiAccountDescription(accountId)} does not have access to this feature.`,
|
|
1196
1275
|
locationInProject: 'This command must be run from within a project directory.',
|
|
1197
1276
|
failedToFetchComponentList: 'Failed to fetch the list of available features. Please try again later.',
|
|
1198
1277
|
projectContainsPublicApp: 'This project contains a public app. This command is currently only compatible with projects that contain private apps.',
|
|
@@ -1269,7 +1348,7 @@ export const commands = {
|
|
|
1269
1348
|
},
|
|
1270
1349
|
logs: {
|
|
1271
1350
|
showingLogs: 'Showing logs for:',
|
|
1272
|
-
hubspotLogsDirectLink: 'View function logs in HubSpot',
|
|
1351
|
+
hubspotLogsDirectLink: (url) => `${uiLink('View function logs in HubSpot', url)}`,
|
|
1273
1352
|
noLogsFound: (name) => `No logs were found for "${name}"`,
|
|
1274
1353
|
},
|
|
1275
1354
|
table: {
|
|
@@ -1310,11 +1389,11 @@ export const commands = {
|
|
|
1310
1389
|
logs: {
|
|
1311
1390
|
buildSucceeded: (buildId) => `Build #${buildId} succeeded\n`,
|
|
1312
1391
|
readyToGoLive: '🚀 Ready to take your project live?',
|
|
1313
|
-
runCommand: (command) => `Run \`${command}\``,
|
|
1314
|
-
autoDeployDisabled: (deployCommand) => `Automatic deploys are disabled for this project. Run ${deployCommand} to deploy this build.`,
|
|
1392
|
+
runCommand: (command) => `Run \`${uiCommandReference(command)}\``,
|
|
1393
|
+
autoDeployDisabled: (deployCommand) => `Automatic deploys are disabled for this project. Run ${uiCommandReference(deployCommand)} to deploy this build.`,
|
|
1315
1394
|
},
|
|
1316
1395
|
errors: {
|
|
1317
|
-
projectLockedError:
|
|
1396
|
+
projectLockedError: `Your project is locked. This may mean that another user is running the ${uiCommandReference('hs project dev')} command for this project. If this is you, unlock the project in Projects UI.`,
|
|
1318
1397
|
},
|
|
1319
1398
|
options: {
|
|
1320
1399
|
forceCreate: {
|
|
@@ -1323,6 +1402,9 @@ export const commands = {
|
|
|
1323
1402
|
message: {
|
|
1324
1403
|
describe: 'Add a message when you upload your project and create a build',
|
|
1325
1404
|
},
|
|
1405
|
+
profile: {
|
|
1406
|
+
describe: 'Profile to target for this upload',
|
|
1407
|
+
},
|
|
1326
1408
|
},
|
|
1327
1409
|
},
|
|
1328
1410
|
watch: {
|
|
@@ -1360,6 +1442,7 @@ export const commands = {
|
|
|
1360
1442
|
uploadFailed: (remotePath, filePath) => `Failed to upload file "${filePath}" to "${remotePath}"`,
|
|
1361
1443
|
deleteFileFailed: (remotePath) => `Failed to delete file "${remotePath}"`,
|
|
1362
1444
|
deleteFolderFailed: (remotePath) => `Failed to delete folder "${remotePath}"`,
|
|
1445
|
+
v2ApiError: (platformVersion) => `${uiCommandReference('hs project watch')} is not supported for platform version '${platformVersion}' use ${uiCommandReference('hs project dev')} instead to develop locally. ${uiLink('How to develop locally', 'https://developers.hubspot.com/docs/guides/crm/ui-extensions/local-development')}`,
|
|
1363
1446
|
},
|
|
1364
1447
|
},
|
|
1365
1448
|
download: {
|
|
@@ -1374,6 +1457,7 @@ export const commands = {
|
|
|
1374
1457
|
errors: {
|
|
1375
1458
|
downloadFailed: 'Something went wrong downloading the project',
|
|
1376
1459
|
projectNotFound: (projectName, accountId) => `Your project ${chalk.bold(projectName)} could not be found in ${accountId}`,
|
|
1460
|
+
noBuildIdToDownload: 'No build ID available for download',
|
|
1377
1461
|
},
|
|
1378
1462
|
warnings: {
|
|
1379
1463
|
cannotDownloadWithinProject: 'Cancelling project download. Please run the command again outside the context of an existing project.',
|
|
@@ -1421,8 +1505,8 @@ export const commands = {
|
|
|
1421
1505
|
addingDependenciesToLocation: (dependencies, directory) => `Installing ${dependencies} in ${directory}`,
|
|
1422
1506
|
installingDependenciesFailed: (directory) => `Installing dependencies for ${directory} failed`,
|
|
1423
1507
|
noProjectConfig: 'No project detected. Run this command from a project directory.',
|
|
1424
|
-
noPackageJsonInProject: (projectName
|
|
1425
|
-
packageManagerNotInstalled: (packageManager
|
|
1508
|
+
noPackageJsonInProject: (projectName) => `No dependencies to install. The project ${projectName} folder might be missing component or subcomponent files. ${uiLink('Learn how to create a project from scratch', 'https://developers.hubspot.com/docs/apps/developer-platform/build-apps/create-an-app#customize-a-new-project-using-the-cli')}`,
|
|
1509
|
+
packageManagerNotInstalled: (packageManager) => `This command depends on ${packageManager}, install ${uiLink(packageManager, 'https://docs.npmjs.com/downloading-and-installing-node-js-and-npm')}`,
|
|
1426
1510
|
},
|
|
1427
1511
|
validate: {
|
|
1428
1512
|
describe: 'Validate the project before uploading',
|
|
@@ -1439,6 +1523,17 @@ export const commands = {
|
|
|
1439
1523
|
},
|
|
1440
1524
|
},
|
|
1441
1525
|
},
|
|
1526
|
+
list: {
|
|
1527
|
+
describe: 'List uploaded projects that exist in the current target account',
|
|
1528
|
+
projects: `${chalk.bold('Projects')}:`,
|
|
1529
|
+
labels: {
|
|
1530
|
+
name: 'Name',
|
|
1531
|
+
platformVersion: 'Platform Version',
|
|
1532
|
+
},
|
|
1533
|
+
errors: {
|
|
1534
|
+
noProjectsFound: (accountId) => `No projects found for account ${uiAccountDescription(accountId)}`,
|
|
1535
|
+
},
|
|
1536
|
+
},
|
|
1442
1537
|
},
|
|
1443
1538
|
remove: {
|
|
1444
1539
|
describe: 'Delete a file or folder from the HubSpot CMS.',
|
|
@@ -1454,6 +1549,30 @@ export const commands = {
|
|
|
1454
1549
|
describe: 'Commands for managing sandboxes.',
|
|
1455
1550
|
subcommands: {
|
|
1456
1551
|
create: {
|
|
1552
|
+
describe: 'Create a sandbox account.',
|
|
1553
|
+
failure: {
|
|
1554
|
+
noAccountConfig: (accountId) => `No account config found for ${uiAccountDescription(accountId)}. Run ${uiAuthCommandReference()} to add it.`,
|
|
1555
|
+
invalidAccountType: (accountType, accountName) => `Sandboxes must be created from a production account. Your current default account ${chalk.bold(accountName)} is a ${chalk.bold(accountType)}. \n- Run ${uiCommandReference('hs account use')} to switch to your default account to your production account. \n- Run ${uiAuthCommandReference()} to connect a production account to the HubSpot CLI.\n`,
|
|
1556
|
+
noSandboxAccountConfig: (accountId) => `No account config found for ${uiAccountDescription(accountId)}. Run ${uiAuthCommandReference()} to add the sandbox account.`,
|
|
1557
|
+
optionMissing: {
|
|
1558
|
+
type: 'Type is required when using --force. Use --type=developer or --type=standard.',
|
|
1559
|
+
name: 'Name is required when using --force. Use --name=YourSandboxName.',
|
|
1560
|
+
},
|
|
1561
|
+
},
|
|
1562
|
+
options: {
|
|
1563
|
+
force: {
|
|
1564
|
+
describe: 'Skips all prompts and uses provided options.',
|
|
1565
|
+
},
|
|
1566
|
+
name: {
|
|
1567
|
+
describe: 'Name of the sandbox account to create',
|
|
1568
|
+
},
|
|
1569
|
+
type: {
|
|
1570
|
+
describe: 'Type of sandbox to create (developer or standard)',
|
|
1571
|
+
},
|
|
1572
|
+
},
|
|
1573
|
+
examples: {
|
|
1574
|
+
default: 'Creates a standard sandbox named MySandboxAccount.',
|
|
1575
|
+
},
|
|
1457
1576
|
developer: {
|
|
1458
1577
|
loading: {
|
|
1459
1578
|
add: (accountName) => `Creating developer sandbox ${chalk.bold(accountName)}`,
|
|
@@ -1465,11 +1584,11 @@ export const commands = {
|
|
|
1465
1584
|
},
|
|
1466
1585
|
failure: {
|
|
1467
1586
|
invalidUser: (accountName, parentAccountName) => `Couldn't create ${chalk.bold(accountName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to create the sandbox. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1468
|
-
limit: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer sandboxes. \n- To connect a developer sandbox to your HubSpot CLI, run ${
|
|
1469
|
-
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer sandboxes. \n- To use an existing developer sandbox, run ${chalk.bold('hs
|
|
1587
|
+
limit: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer sandboxes. \n- To connect a developer sandbox to your HubSpot CLI, run ${uiAuthCommandReference()} and follow the prompts.`,
|
|
1588
|
+
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer sandboxes. \n- To use an existing developer sandbox, run ${chalk.bold('hs account use')}.`,
|
|
1470
1589
|
scopes: {
|
|
1471
1590
|
message: "The personal access key you provided doesn't include developer sandbox permissions.",
|
|
1472
|
-
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes developer sandbox permissions. \n- Update the CLI config for this account by running ${
|
|
1591
|
+
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes developer sandbox permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1473
1592
|
},
|
|
1474
1593
|
},
|
|
1475
1594
|
},
|
|
@@ -1484,11 +1603,11 @@ export const commands = {
|
|
|
1484
1603
|
},
|
|
1485
1604
|
failure: {
|
|
1486
1605
|
invalidUser: (accountName, parentAccountName) => `Couldn't create ${chalk.bold(accountName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to create the sandbox. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1487
|
-
limit: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} standard sandboxes. \n- To connect a standard sandbox to your HubSpot CLI, run ${
|
|
1488
|
-
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} standard sandboxes. \n- To use an existing standard sandbox, run ${chalk.bold('hs
|
|
1606
|
+
limit: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} standard sandboxes. \n- To connect a standard sandbox to your HubSpot CLI, run ${uiAuthCommandReference()} and follow the prompts.`,
|
|
1607
|
+
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} standard sandboxes. \n- To use an existing standard sandbox, run ${chalk.bold('hs account use')}.`,
|
|
1489
1608
|
scopes: {
|
|
1490
1609
|
message: "The personal access key you provided doesn't include standard sandbox permissions.",
|
|
1491
|
-
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes standard sandbox permissions. \n- Update the CLI config for this account by running ${
|
|
1610
|
+
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes standard sandbox permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1492
1611
|
},
|
|
1493
1612
|
},
|
|
1494
1613
|
},
|
|
@@ -1496,28 +1615,28 @@ export const commands = {
|
|
|
1496
1615
|
delete: {
|
|
1497
1616
|
describe: 'Delete a sandbox account.',
|
|
1498
1617
|
debug: {
|
|
1499
|
-
deleting: (account) => `Deleting sandbox account "${account}"`,
|
|
1618
|
+
deleting: (account) => `Deleting sandbox account "${uiAccountDescription(account)}"`,
|
|
1500
1619
|
error: 'Error deleting sandbox account:',
|
|
1501
1620
|
},
|
|
1502
1621
|
examples: {
|
|
1503
1622
|
default: 'Deletes the sandbox account named MySandboxAccount.',
|
|
1504
1623
|
},
|
|
1505
|
-
confirm: (account) => `Delete sandbox ${
|
|
1506
|
-
defaultAccountWarning: (account) => `The sandbox ${
|
|
1624
|
+
confirm: (account) => `Delete sandbox ${uiAccountDescription(account)}? All data for this sandbox will be permanently deleted.`,
|
|
1625
|
+
defaultAccountWarning: (account) => `The sandbox ${uiAccountDescription(account)} is currently set as the default account.`,
|
|
1507
1626
|
success: {
|
|
1508
1627
|
delete: (account, sandboxHubId) => `Sandbox "${account}" with portalId "${sandboxHubId}" was deleted successfully.`,
|
|
1509
1628
|
deleteDefault: (account, sandboxHubId) => `Sandbox "${account}" with portalId "${sandboxHubId}" was deleted successfully and removed as the default account.`,
|
|
1510
1629
|
configFileUpdated: (account, configFilename) => `Removed account ${account} from ${configFilename}.`,
|
|
1511
1630
|
},
|
|
1512
1631
|
failure: {
|
|
1513
|
-
invalidUser: (
|
|
1632
|
+
invalidUser: (account, parentAccount) => `Couldn't delete ${uiAccountDescription(account)} because your account has been removed from ${uiAccountDescription(parentAccount)} or your permission set doesn't allow you to delete the sandbox. To update your permissions, contact a super admin in ${uiAccountDescription(parentAccount)}.`,
|
|
1514
1633
|
noAccount: 'No account specified. Specify an account by using the --account flag.',
|
|
1515
|
-
noSandboxAccounts:
|
|
1634
|
+
noSandboxAccounts: `There are no sandboxes connected to the CLI. To add a sandbox, run ${uiAuthCommandReference()}.`,
|
|
1516
1635
|
noSandboxAccountId: "This sandbox can't be deleted from the CLI because we could not find the associated sandbox account.",
|
|
1517
|
-
noParentAccount:
|
|
1518
|
-
objectNotFound: (account) => `Sandbox ${
|
|
1519
|
-
noParentPortalAvailable: (command, url) => `This sandbox can't be deleted from the CLI because you haven't given the CLI access to its parent account. To do this, run ${command}. You can also delete the sandbox from the HubSpot management tool: ${chalk.bold(url)}.`,
|
|
1520
|
-
invalidKey: (account
|
|
1636
|
+
noParentAccount: `This sandbox can't be deleted from the CLI because you haven't given the CLI access to its parent account. To do this, run ${uiAuthCommandReference()} and add the parent account.`,
|
|
1637
|
+
objectNotFound: (account) => `Sandbox ${uiAccountDescription(account)} may have been deleted through the UI. The account has been removed from the config.`,
|
|
1638
|
+
noParentPortalAvailable: (command, url) => `This sandbox can't be deleted from the CLI because you haven't given the CLI access to its parent account. To do this, run ${uiCommandReference(command)}. You can also delete the sandbox from the HubSpot management tool: ${chalk.bold(url)}.`,
|
|
1639
|
+
invalidKey: (account) => `Your personal access key for account ${uiAccountDescription(account)} is inactive. To re-authenticate, please run ${uiAuthCommandReference()}.`,
|
|
1521
1640
|
},
|
|
1522
1641
|
options: {
|
|
1523
1642
|
force: {
|
|
@@ -1542,7 +1661,13 @@ export const commands = {
|
|
|
1542
1661
|
invalidUser: (accountName, parentAccountName) => `Couldn't sync ${chalk.bold(accountName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to sync the sandbox. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1543
1662
|
scopes: {
|
|
1544
1663
|
message: "The personal access key you provided doesn't include sandbox sync permissions.",
|
|
1545
|
-
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes sandbox sync permissions. \n- Update the CLI config for this account by running ${
|
|
1664
|
+
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes sandbox sync permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1665
|
+
},
|
|
1666
|
+
},
|
|
1667
|
+
confirm: {
|
|
1668
|
+
syncContactRecords: {
|
|
1669
|
+
standard: 'Copy up to 5000 most recently updated contacts? This includes up to 100 of each of the following: associated deals, tickets, and companies.',
|
|
1670
|
+
developer: 'Include up to 100 most recently updated contacts? This includes up to 100 of each of the following: associated deals, tickets, and companies. This can be done once per sandbox.',
|
|
1546
1671
|
},
|
|
1547
1672
|
},
|
|
1548
1673
|
},
|
|
@@ -1622,7 +1747,7 @@ export const commands = {
|
|
|
1622
1747
|
describe: 'Create a new secret.',
|
|
1623
1748
|
errors: {
|
|
1624
1749
|
add: (secretName) => `The secret "${secretName}" was not added`,
|
|
1625
|
-
alreadyExists: (secretName
|
|
1750
|
+
alreadyExists: (secretName) => `The secret "${secretName}" already exists, it's value can be modified with ${uiCommandReference('hs secret update')}`,
|
|
1626
1751
|
},
|
|
1627
1752
|
positionals: {
|
|
1628
1753
|
name: {
|
|
@@ -1630,7 +1755,7 @@ export const commands = {
|
|
|
1630
1755
|
},
|
|
1631
1756
|
},
|
|
1632
1757
|
success: {
|
|
1633
|
-
add: (secretName,
|
|
1758
|
+
add: (secretName, accountId) => `The secret "${secretName}" was added to the HubSpot account: ${uiAccountDescription(accountId)}`,
|
|
1634
1759
|
},
|
|
1635
1760
|
},
|
|
1636
1761
|
delete: {
|
|
@@ -1648,7 +1773,7 @@ export const commands = {
|
|
|
1648
1773
|
},
|
|
1649
1774
|
},
|
|
1650
1775
|
success: {
|
|
1651
|
-
delete: (secretName,
|
|
1776
|
+
delete: (secretName, accountId) => `The secret "${secretName}" was deleted from the HubSpot account: ${uiAccountDescription(accountId)}`,
|
|
1652
1777
|
},
|
|
1653
1778
|
},
|
|
1654
1779
|
list: {
|
|
@@ -1671,7 +1796,7 @@ export const commands = {
|
|
|
1671
1796
|
},
|
|
1672
1797
|
},
|
|
1673
1798
|
success: {
|
|
1674
|
-
update: (secretName,
|
|
1799
|
+
update: (secretName, accountId) => `The secret "${secretName}" was updated in the HubSpot account: ${accountId}`,
|
|
1675
1800
|
updateExplanation: 'Existing serverless functions will start using this new value within 10 seconds.',
|
|
1676
1801
|
},
|
|
1677
1802
|
},
|
|
@@ -1900,18 +2025,41 @@ export const commands = {
|
|
|
1900
2025
|
example: (name) => `Create a test account config file with the name "${name}"`,
|
|
1901
2026
|
},
|
|
1902
2027
|
delete: {
|
|
1903
|
-
describe: 'Delete a test account config
|
|
2028
|
+
describe: 'Delete a test account from your HubSpot account and CLI config',
|
|
1904
2029
|
pathPrompt: '[--path] What is the path to the test account config?',
|
|
2030
|
+
info: {
|
|
2031
|
+
deletionCanceled: 'Deletion canceled by user',
|
|
2032
|
+
accountNotFoundWithId: (id) => `No account was found with ID ${id}`,
|
|
2033
|
+
replaceDefaultAccount: (testAccountId, parentAccountName) => `The removed test account ${chalk.bold(testAccountId)} was the default account. Replaced default account to parent account: ${chalk.bold(parentAccountName)}`,
|
|
2034
|
+
},
|
|
2035
|
+
prompts: {
|
|
2036
|
+
selectTestAccounts: 'Select test account(s) to delete',
|
|
2037
|
+
confirmDeletion: 'All data for the account will be permanently deleted. Any connected apps will have their access tokens revoked. Do you wish to proceed?',
|
|
2038
|
+
},
|
|
1905
2039
|
errors: {
|
|
1906
|
-
failedToDelete:
|
|
2040
|
+
failedToDelete: (testAccountToDelete) => `Failed to delete test account with ID ${testAccountToDelete}`,
|
|
2041
|
+
failedToSelectAccount: 'Failed to select a test account to delete',
|
|
2042
|
+
noAccountsToDelete: (accountId) => `There are no test accounts associated with ${uiAccountDescription(accountId)} to delete. Try running ${uiCommandReference('hs account use')} to change your default account`,
|
|
2043
|
+
failedToDeleteFromConfig: (testAccountToDelete) => `Failed to delete test account with ID ${testAccountToDelete} from the CLI config`,
|
|
2044
|
+
failedToFetchTestAccounts: 'Failed to fetch developer test accounts',
|
|
2045
|
+
testAccountNotFound: (nameOrId) => `Test account${nameOrId ? ` ${chalk.bold(nameOrId)}` : ''} not found in config. \nTry running ${uiCommandReference('hs account auth')} to add the account to config or visit ${uiLink('developer test accounts', 'https://app.hubspot.com/l/developer-test-accounts/')} to delete the test account.`,
|
|
2046
|
+
parentAccountNotFound: (testAccountId) => `Parent account of test account ${chalk.bold(testAccountId)} not found in config. \nTry running ${uiCommandReference('hs account auth')} to add the parent account to config or visit ${uiLink('developer test accounts', 'https://app.hubspot.com/l/developer-test-accounts/')} to delete the test account.`,
|
|
1907
2047
|
},
|
|
1908
2048
|
success: {
|
|
1909
|
-
|
|
2049
|
+
testAccountDeletedFromHubSpot: (testAccountToDelete) => `Successfully deleted test account with ID ${testAccountToDelete}`,
|
|
2050
|
+
testAccountDeletedFromConfig: (accountId) => `Successfully deleted test account with ID ${accountId} from the CLI config`,
|
|
1910
2051
|
},
|
|
1911
|
-
|
|
1912
|
-
|
|
2052
|
+
options: {
|
|
2053
|
+
name: 'The name of the test account (in your CLI config) to delete',
|
|
2054
|
+
id: 'The id of the test account',
|
|
2055
|
+
},
|
|
2056
|
+
examples: {
|
|
2057
|
+
withPositionalID: (testAccountToDelete) => `Delete a test account with id "${testAccountToDelete}" using positional argument`,
|
|
2058
|
+
withPositionalName: (testAccountToDelete) => `Delete a test account with name "${testAccountToDelete}" using positional argument`,
|
|
2059
|
+
withID: (testAccountToDelete) => `Delete a test account with the id "${testAccountToDelete}"`,
|
|
2060
|
+
withName: (testAccountToDelete) => `Delete a test account with the name "${testAccountToDelete}"`,
|
|
2061
|
+
withoutId: 'Delete a test account via a prompt',
|
|
1913
2062
|
},
|
|
1914
|
-
example: (testAccountId) => `Delete a test account with the id "${testAccountId}"`,
|
|
1915
2063
|
},
|
|
1916
2064
|
},
|
|
1917
2065
|
secrets: {
|
|
@@ -1928,7 +2076,7 @@ export const commands = {
|
|
|
1928
2076
|
invalidUser: (secretName, parentAccountName) => `Couldn't add ${chalk.bold(secretName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add secrets. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1929
2077
|
scopes: {
|
|
1930
2078
|
message: "The personal access key you provided doesn't include secrets permissions.",
|
|
1931
|
-
instructions: (secretName, url) => `To update CLI permissions for "${secretName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes secrets permissions. \n- Update the CLI config for this account by running ${
|
|
2079
|
+
instructions: (secretName, url) => `To update CLI permissions for "${secretName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes secrets permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1932
2080
|
},
|
|
1933
2081
|
},
|
|
1934
2082
|
},
|
|
@@ -1945,7 +2093,7 @@ export const commands = {
|
|
|
1945
2093
|
invalidUser: (secretName, parentAccountName) => `Couldn't delete ${chalk.bold(secretName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete secrets. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1946
2094
|
scopes: {
|
|
1947
2095
|
message: "The personal access key you provided doesn't include secrets permissions.",
|
|
1948
|
-
instructions: (secretName, url) => `To update CLI permissions for "${secretName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes secrets permissions. \n- Update the CLI config for this account by running ${
|
|
2096
|
+
instructions: (secretName, url) => `To update CLI permissions for "${secretName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes secrets permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1949
2097
|
},
|
|
1950
2098
|
},
|
|
1951
2099
|
},
|
|
@@ -1962,7 +2110,7 @@ export const commands = {
|
|
|
1962
2110
|
invalidUser: (parentAccountName) => `Couldn't list secrets because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list secrets. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1963
2111
|
scopes: {
|
|
1964
2112
|
message: "The personal access key you provided doesn't include secrets permissions.",
|
|
1965
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes secrets permissions. \n- Update the CLI config for this account by running ${
|
|
2113
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes secrets permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1966
2114
|
},
|
|
1967
2115
|
},
|
|
1968
2116
|
},
|
|
@@ -1981,7 +2129,7 @@ export const commands = {
|
|
|
1981
2129
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless functions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1982
2130
|
scopes: {
|
|
1983
2131
|
message: "The personal access key you provided doesn't include serverless function permissions.",
|
|
1984
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function permissions. \n- Update the CLI config for this account by running ${
|
|
2132
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
1985
2133
|
},
|
|
1986
2134
|
},
|
|
1987
2135
|
},
|
|
@@ -1998,7 +2146,7 @@ export const commands = {
|
|
|
1998
2146
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless functions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
1999
2147
|
scopes: {
|
|
2000
2148
|
message: "The personal access key you provided doesn't include serverless function permissions.",
|
|
2001
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function permissions. \n- Update the CLI config for this account by running ${
|
|
2149
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2002
2150
|
},
|
|
2003
2151
|
},
|
|
2004
2152
|
},
|
|
@@ -2015,7 +2163,7 @@ export const commands = {
|
|
|
2015
2163
|
invalidUser: (parentAccountName) => `Couldn't list serverless functions because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless functions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2016
2164
|
scopes: {
|
|
2017
2165
|
message: "The personal access key you provided doesn't include serverless function permissions.",
|
|
2018
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function permissions. \n- Update the CLI config for this account by running ${
|
|
2166
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2019
2167
|
},
|
|
2020
2168
|
},
|
|
2021
2169
|
},
|
|
@@ -2034,7 +2182,7 @@ export const commands = {
|
|
|
2034
2182
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function logs. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2035
2183
|
scopes: {
|
|
2036
2184
|
message: "The personal access key you provided doesn't include serverless function log permissions.",
|
|
2037
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function log permissions. \n- Update the CLI config for this account by running ${
|
|
2185
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function log permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2038
2186
|
},
|
|
2039
2187
|
},
|
|
2040
2188
|
},
|
|
@@ -2051,7 +2199,7 @@ export const commands = {
|
|
|
2051
2199
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function logs. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2052
2200
|
scopes: {
|
|
2053
2201
|
message: "The personal access key you provided doesn't include serverless function log permissions.",
|
|
2054
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function log permissions. \n- Update the CLI config for this account by running ${
|
|
2202
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function log permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2055
2203
|
},
|
|
2056
2204
|
},
|
|
2057
2205
|
},
|
|
@@ -2068,7 +2216,7 @@ export const commands = {
|
|
|
2068
2216
|
invalidUser: (parentAccountName) => `Couldn't list serverless function logs because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function logs. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2069
2217
|
scopes: {
|
|
2070
2218
|
message: "The personal access key you provided doesn't include serverless function log permissions.",
|
|
2071
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function log permissions. \n- Update the CLI config for this account by running ${
|
|
2219
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function log permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2072
2220
|
},
|
|
2073
2221
|
},
|
|
2074
2222
|
},
|
|
@@ -2087,7 +2235,7 @@ export const commands = {
|
|
|
2087
2235
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function metrics. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2088
2236
|
scopes: {
|
|
2089
2237
|
message: "The personal access key you provided doesn't include serverless function metric permissions.",
|
|
2090
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function metric permissions. \n- Update the CLI config for this account by running ${
|
|
2238
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function metric permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2091
2239
|
},
|
|
2092
2240
|
},
|
|
2093
2241
|
},
|
|
@@ -2104,7 +2252,7 @@ export const commands = {
|
|
|
2104
2252
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function metrics. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2105
2253
|
scopes: {
|
|
2106
2254
|
message: "The personal access key you provided doesn't include serverless function metric permissions.",
|
|
2107
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function metric permissions. \n- Update the CLI config for this account by running ${
|
|
2255
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function metric permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2108
2256
|
},
|
|
2109
2257
|
},
|
|
2110
2258
|
},
|
|
@@ -2121,7 +2269,7 @@ export const commands = {
|
|
|
2121
2269
|
invalidUser: (parentAccountName) => `Couldn't list serverless function metrics because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function metrics. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2122
2270
|
scopes: {
|
|
2123
2271
|
message: "The personal access key you provided doesn't include serverless function metric permissions.",
|
|
2124
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function metric permissions. \n- Update the CLI config for this account by running ${
|
|
2272
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function metric permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2125
2273
|
},
|
|
2126
2274
|
},
|
|
2127
2275
|
},
|
|
@@ -2140,7 +2288,7 @@ export const commands = {
|
|
|
2140
2288
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function settings. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2141
2289
|
scopes: {
|
|
2142
2290
|
message: "The personal access key you provided doesn't include serverless function setting permissions.",
|
|
2143
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function setting permissions. \n- Update the CLI config for this account by running ${
|
|
2291
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function setting permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2144
2292
|
},
|
|
2145
2293
|
},
|
|
2146
2294
|
},
|
|
@@ -2157,7 +2305,7 @@ export const commands = {
|
|
|
2157
2305
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function settings. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2158
2306
|
scopes: {
|
|
2159
2307
|
message: "The personal access key you provided doesn't include serverless function setting permissions.",
|
|
2160
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function setting permissions. \n- Update the CLI config for this account by running ${
|
|
2308
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function setting permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2161
2309
|
},
|
|
2162
2310
|
},
|
|
2163
2311
|
},
|
|
@@ -2174,7 +2322,7 @@ export const commands = {
|
|
|
2174
2322
|
invalidUser: (parentAccountName) => `Couldn't list serverless function settings because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function settings. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2175
2323
|
scopes: {
|
|
2176
2324
|
message: "The personal access key you provided doesn't include serverless function setting permissions.",
|
|
2177
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function setting permissions. \n- Update the CLI config for this account by running ${
|
|
2325
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function setting permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2178
2326
|
},
|
|
2179
2327
|
},
|
|
2180
2328
|
},
|
|
@@ -2193,7 +2341,7 @@ export const commands = {
|
|
|
2193
2341
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function versions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2194
2342
|
scopes: {
|
|
2195
2343
|
message: "The personal access key you provided doesn't include serverless function version permissions.",
|
|
2196
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function version permissions. \n- Update the CLI config for this account by running ${
|
|
2344
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function version permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2197
2345
|
},
|
|
2198
2346
|
},
|
|
2199
2347
|
},
|
|
@@ -2210,7 +2358,7 @@ export const commands = {
|
|
|
2210
2358
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function versions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2211
2359
|
scopes: {
|
|
2212
2360
|
message: "The personal access key you provided doesn't include serverless function version permissions.",
|
|
2213
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function version permissions. \n- Update the CLI config for this account by running ${
|
|
2361
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function version permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2214
2362
|
},
|
|
2215
2363
|
},
|
|
2216
2364
|
},
|
|
@@ -2227,7 +2375,7 @@ export const commands = {
|
|
|
2227
2375
|
invalidUser: (parentAccountName) => `Couldn't list serverless function versions because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function versions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2228
2376
|
scopes: {
|
|
2229
2377
|
message: "The personal access key you provided doesn't include serverless function version permissions.",
|
|
2230
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function version permissions. \n- Update the CLI config for this account by running ${
|
|
2378
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function version permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2231
2379
|
},
|
|
2232
2380
|
},
|
|
2233
2381
|
},
|
|
@@ -2246,7 +2394,7 @@ export const commands = {
|
|
|
2246
2394
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function webhooks. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2247
2395
|
scopes: {
|
|
2248
2396
|
message: "The personal access key you provided doesn't include serverless function webhook permissions.",
|
|
2249
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook permissions. \n- Update the CLI config for this account by running ${
|
|
2397
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2250
2398
|
},
|
|
2251
2399
|
},
|
|
2252
2400
|
},
|
|
@@ -2263,7 +2411,7 @@ export const commands = {
|
|
|
2263
2411
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function webhooks. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2264
2412
|
scopes: {
|
|
2265
2413
|
message: "The personal access key you provided doesn't include serverless function webhook permissions.",
|
|
2266
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook permissions. \n- Update the CLI config for this account by running ${
|
|
2414
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2267
2415
|
},
|
|
2268
2416
|
},
|
|
2269
2417
|
},
|
|
@@ -2280,7 +2428,7 @@ export const commands = {
|
|
|
2280
2428
|
invalidUser: (parentAccountName) => `Couldn't list serverless function webhooks because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function webhooks. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2281
2429
|
scopes: {
|
|
2282
2430
|
message: "The personal access key you provided doesn't include serverless function webhook permissions.",
|
|
2283
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook permissions. \n- Update the CLI config for this account by running ${
|
|
2431
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2284
2432
|
},
|
|
2285
2433
|
},
|
|
2286
2434
|
},
|
|
@@ -2299,7 +2447,7 @@ export const commands = {
|
|
|
2299
2447
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function webhook subscriptions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2300
2448
|
scopes: {
|
|
2301
2449
|
message: "The personal access key you provided doesn't include serverless function webhook subscription permissions.",
|
|
2302
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription permissions. \n- Update the CLI config for this account by running ${
|
|
2450
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2303
2451
|
},
|
|
2304
2452
|
},
|
|
2305
2453
|
},
|
|
@@ -2316,7 +2464,7 @@ export const commands = {
|
|
|
2316
2464
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function webhook subscriptions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2317
2465
|
scopes: {
|
|
2318
2466
|
message: "The personal access key you provided doesn't include serverless function webhook subscription permissions.",
|
|
2319
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription permissions. \n- Update the CLI config for this account by running ${
|
|
2467
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2320
2468
|
},
|
|
2321
2469
|
},
|
|
2322
2470
|
},
|
|
@@ -2333,7 +2481,7 @@ export const commands = {
|
|
|
2333
2481
|
invalidUser: (parentAccountName) => `Couldn't list serverless function webhook subscriptions because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function webhook subscriptions. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2334
2482
|
scopes: {
|
|
2335
2483
|
message: "The personal access key you provided doesn't include serverless function webhook subscription permissions.",
|
|
2336
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription permissions. \n- Update the CLI config for this account by running ${
|
|
2484
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2337
2485
|
},
|
|
2338
2486
|
},
|
|
2339
2487
|
},
|
|
@@ -2352,7 +2500,7 @@ export const commands = {
|
|
|
2352
2500
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function webhook subscription events. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2353
2501
|
scopes: {
|
|
2354
2502
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event permissions.",
|
|
2355
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event permissions. \n- Update the CLI config for this account by running ${
|
|
2503
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2356
2504
|
},
|
|
2357
2505
|
},
|
|
2358
2506
|
},
|
|
@@ -2369,7 +2517,7 @@ export const commands = {
|
|
|
2369
2517
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function webhook subscription events. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2370
2518
|
scopes: {
|
|
2371
2519
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event permissions.",
|
|
2372
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event permissions. \n- Update the CLI config for this account by running ${
|
|
2520
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2373
2521
|
},
|
|
2374
2522
|
},
|
|
2375
2523
|
},
|
|
@@ -2386,7 +2534,7 @@ export const commands = {
|
|
|
2386
2534
|
invalidUser: (parentAccountName) => `Couldn't list serverless function webhook subscription events because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function webhook subscription events. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2387
2535
|
scopes: {
|
|
2388
2536
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event permissions.",
|
|
2389
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event permissions. \n- Update the CLI config for this account by running ${
|
|
2537
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2390
2538
|
},
|
|
2391
2539
|
},
|
|
2392
2540
|
},
|
|
@@ -2405,7 +2553,7 @@ export const commands = {
|
|
|
2405
2553
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function webhook subscription event types. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2406
2554
|
scopes: {
|
|
2407
2555
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event type permissions.",
|
|
2408
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type permissions. \n- Update the CLI config for this account by running ${
|
|
2556
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2409
2557
|
},
|
|
2410
2558
|
},
|
|
2411
2559
|
},
|
|
@@ -2422,7 +2570,7 @@ export const commands = {
|
|
|
2422
2570
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function webhook subscription event types. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2423
2571
|
scopes: {
|
|
2424
2572
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event type permissions.",
|
|
2425
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type permissions. \n- Update the CLI config for this account by running ${
|
|
2573
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2426
2574
|
},
|
|
2427
2575
|
},
|
|
2428
2576
|
},
|
|
@@ -2439,7 +2587,7 @@ export const commands = {
|
|
|
2439
2587
|
invalidUser: (parentAccountName) => `Couldn't list serverless function webhook subscription event types because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function webhook subscription event types. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2440
2588
|
scopes: {
|
|
2441
2589
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event type permissions.",
|
|
2442
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type permissions. \n- Update the CLI config for this account by running ${
|
|
2590
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2443
2591
|
},
|
|
2444
2592
|
},
|
|
2445
2593
|
},
|
|
@@ -2458,7 +2606,7 @@ export const commands = {
|
|
|
2458
2606
|
invalidUser: (functionName, parentAccountName) => `Couldn't add ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to add serverless function webhook subscription event type options. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2459
2607
|
scopes: {
|
|
2460
2608
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event type option permissions.",
|
|
2461
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type option permissions. \n- Update the CLI config for this account by running ${
|
|
2609
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type option permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2462
2610
|
},
|
|
2463
2611
|
},
|
|
2464
2612
|
},
|
|
@@ -2475,7 +2623,7 @@ export const commands = {
|
|
|
2475
2623
|
invalidUser: (functionName, parentAccountName) => `Couldn't delete ${chalk.bold(functionName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to delete serverless function webhook subscription event type options. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2476
2624
|
scopes: {
|
|
2477
2625
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event type option permissions.",
|
|
2478
|
-
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type option permissions. \n- Update the CLI config for this account by running ${
|
|
2626
|
+
instructions: (functionName, url) => `To update CLI permissions for "${functionName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type option permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2479
2627
|
},
|
|
2480
2628
|
},
|
|
2481
2629
|
},
|
|
@@ -2492,7 +2640,7 @@ export const commands = {
|
|
|
2492
2640
|
invalidUser: (parentAccountName) => `Couldn't list serverless function webhook subscription event type options because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to list serverless function webhook subscription event type options. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
2493
2641
|
scopes: {
|
|
2494
2642
|
message: "The personal access key you provided doesn't include serverless function webhook subscription event type option permissions.",
|
|
2495
|
-
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type option permissions. \n- Update the CLI config for this account by running ${
|
|
2643
|
+
instructions: (url) => `To update CLI permissions: \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes serverless function webhook subscription event type option permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
2496
2644
|
},
|
|
2497
2645
|
},
|
|
2498
2646
|
},
|
|
@@ -2558,10 +2706,14 @@ export const lib = {
|
|
|
2558
2706
|
},
|
|
2559
2707
|
},
|
|
2560
2708
|
AppDevModeInterface: {
|
|
2709
|
+
autoInstallStaticAuthApp: {
|
|
2710
|
+
installing: (appName, targetTestAccountId) => `Installing ${chalk.bold(appName)} on account ${uiAccountDescription(targetTestAccountId)}...`,
|
|
2711
|
+
success: (appName, targetTestAccountId) => `Successfully installed ${chalk.bold(appName)} on account ${uiAccountDescription(targetTestAccountId)}\n`,
|
|
2712
|
+
error: (appName, targetTestAccountId) => `Error installing ${chalk.bold(appName)} on account ${uiAccountDescription(targetTestAccountId)}. You may still be able to install your app in your browser.`,
|
|
2713
|
+
},
|
|
2561
2714
|
defaultMarketplaceAppWarning: (installCount) => `Your marketplace app is currently installed in ${chalk.bold(`${installCount} ${installCount === 1 ? 'account' : 'accounts'}`)}. Any uploaded changes will impact your app's users. We strongly recommend creating a copy of this app to test your changes before proceeding.`,
|
|
2562
2715
|
autoInstallDeclined: 'You must install your app on your target test account to proceed with local development.',
|
|
2563
2716
|
autoInstallSuccess: (appName, targetTestAccountId) => `Successfully installed app ${appName} on account ${uiAccountDescription(targetTestAccountId)}\n`,
|
|
2564
|
-
autoInstallError: (appName, targetTestAccountId) => `Error installing app ${appName} on account ${uiAccountDescription(targetTestAccountId)}. You may still be able to install your app in your browser.`,
|
|
2565
2717
|
fetchAppData: {
|
|
2566
2718
|
checking: (appName) => `Checking installations for your app ${chalk.bold(appName)}...`,
|
|
2567
2719
|
success: (appName, accountId) => `Your app ${chalk.bold(appName)} is installed on account ${uiAccountDescription(accountId, false)}`,
|
|
@@ -2571,6 +2723,12 @@ export const lib = {
|
|
|
2571
2723
|
},
|
|
2572
2724
|
distributionChanged: `Your app's distribution type has been changed from ${APP_DISTRIBUTION_TYPES.PRIVATE} to ${APP_DISTRIBUTION_TYPES.MARKETPLACE}. Once uploaded, this change cannot be reversed. Before uploading your project, confirm that you want to ${chalk.bold('permanantly')} change your app's distribution type. This will uninstall your app from all accounts.`,
|
|
2573
2725
|
authTypeChanged: `Your app's auth type has been changed from ${APP_AUTH_TYPES.STATIC} to ${APP_AUTH_TYPES.OAUTH}. Once uploaded, this change cannot be reversed. Before uploading your project, confirm that you want to ${chalk.bold('permanantly')} change your app's auth type. This will uninstall your app from all accounts.`,
|
|
2726
|
+
installationFailed: 'An error occured while installing your app. Your app must be installed in your target test account to proceed with local development.',
|
|
2727
|
+
waitUntilAppIsInstalled: {
|
|
2728
|
+
link: (installUrl) => `${uiLink('Install your app', installUrl)} to proceed with local development\n`,
|
|
2729
|
+
waiting: 'Waiting for your app to be installed...',
|
|
2730
|
+
success: (appName, accountId) => `Your app ${chalk.bold(appName)} has been installed successfully on account ${uiAccountDescription(accountId)}\n`,
|
|
2731
|
+
},
|
|
2574
2732
|
},
|
|
2575
2733
|
LocalDevWebsocketServer: {
|
|
2576
2734
|
errors: {
|
|
@@ -2588,8 +2746,13 @@ export const lib = {
|
|
|
2588
2746
|
LocalDevProcess: {
|
|
2589
2747
|
projectConfigMismatch: `Unable to upload project. The project config has been modified since starting ${uiCommandReference('hs project dev')}.`,
|
|
2590
2748
|
uploadInitiated: 'Project upload initiated from Local Dev UI.',
|
|
2749
|
+
deployInitiated: 'Project deploy initiated from Local Dev UI.',
|
|
2591
2750
|
uploadFailed: 'Project upload failed. To proceed with local development, fix any necessary errors, then re-upload your project.',
|
|
2751
|
+
deployFailed: 'Project deploy failed. To proceed with local development, fix any necessary errors, then re-deploy your project.',
|
|
2592
2752
|
uploadSuccess: 'Project upload completed successfully. Resuming local dev...',
|
|
2753
|
+
uploadSuccessAutoDeployDisabled: 'Project upload completed successfully, but auto-deploy is disabled for this project. Deploy your latest build to proceed with local development.',
|
|
2754
|
+
deploySuccess: 'Project deploy completed successfully. Resuming local dev...',
|
|
2755
|
+
noBuildToDeploy: 'Error deploying project. No build was found to deploy.',
|
|
2593
2756
|
},
|
|
2594
2757
|
localDevHelpers: {
|
|
2595
2758
|
project: {
|
|
@@ -2598,7 +2761,7 @@ export const lib = {
|
|
|
2598
2761
|
checking: 'Checking if your deployed build is up to date...',
|
|
2599
2762
|
upToDate: 'Deployed build is up to date.',
|
|
2600
2763
|
notUpToDate: `Your project contains undeployed local changes.`,
|
|
2601
|
-
notUpToDateExplanation: `Run ${uiCommandReference(
|
|
2764
|
+
notUpToDateExplanation: (profile) => `Run ${uiCommandReference(`hs project upload${profile ? ` --profile ${profile}` : ''}`)} to upload these changes to HubSpot, then re-run ${uiCommandReference(`hs project dev${profile ? ` --profile ${profile}` : ''}`)} to continue local development.`,
|
|
2602
2765
|
},
|
|
2603
2766
|
createNewProjectForLocalDev: {
|
|
2604
2767
|
projectMustExistExplanation: (projectName, accountId) => `The project ${projectName} does not exist in the target account ${uiAccountDescription(accountId)}. This command requires the project to exist in the target account.`,
|
|
@@ -2614,37 +2777,42 @@ export const lib = {
|
|
|
2614
2777
|
projectLockedError: 'Your project is locked. This may mean that another user is running the `hs project watch` command for this project. If this is you, unlock the project in Projects UI.',
|
|
2615
2778
|
genericError: `An error occurred while creating the initial build for this project. Run ${uiCommandReference('hs project upload')} to try again.`,
|
|
2616
2779
|
},
|
|
2780
|
+
checkAndInstallDependencies: {
|
|
2781
|
+
checkingDependencies: 'Checking for missing or updated dependencies...',
|
|
2782
|
+
dependenciesUpToDate: 'All dependencies are up to date',
|
|
2783
|
+
dependenciesFailure: 'Failed to check or install dependencies',
|
|
2784
|
+
},
|
|
2617
2785
|
},
|
|
2618
2786
|
account: {
|
|
2619
2787
|
checkIfDefaultAccountIsSupported: {
|
|
2620
|
-
publicApp: `This project contains a public app. Local development of public apps is only supported on developer accounts and developer test accounts. Change your default account using ${uiCommandReference('hs
|
|
2621
|
-
privateApp: `This project contains a private app. Local development of private apps is not supported in developer accounts. Change your default account using ${uiCommandReference('hs
|
|
2788
|
+
publicApp: `This project contains a public app. Local development of public apps is only supported on developer accounts and developer test accounts. Change your default account using ${uiCommandReference('hs account use')}, or link a new account with ${uiAuthCommandReference()}.`,
|
|
2789
|
+
privateApp: `This project contains a private app. Local development of private apps is not supported in developer accounts. Change your default account using ${uiCommandReference('hs account use')}, or link a new account with ${uiAuthCommandReference()}.`,
|
|
2622
2790
|
},
|
|
2623
2791
|
validateAccountOption: {
|
|
2624
|
-
invalidPublicAppAccount: `This project contains a public app. The "--account" flag must point to a developer test account to develop this project locally. Alternatively, change your default account to an App Developer Account using ${uiCommandReference('hs
|
|
2625
|
-
invalidPrivateAppAccount: `This project contains a private app. The account specified with the "--account" flag points to a developer account, which do not support the local development of private apps. Update the "--account" flag to point to a standard, sandbox, or developer test account, or change your default account by running ${uiCommandReference('hs
|
|
2626
|
-
nonSandboxWarning: `Testing in a sandbox is strongly recommended. To switch the target account, select an option below or run ${uiCommandReference('hs
|
|
2792
|
+
invalidPublicAppAccount: `This project contains a public app. The "--account" flag must point to a developer test account to develop this project locally. Alternatively, change your default account to an App Developer Account using ${uiCommandReference('hs account use')} and run ${uiCommandReference('hs project dev')} to set up a new Developer Test Account.`,
|
|
2793
|
+
invalidPrivateAppAccount: `This project contains a private app. The account specified with the "--account" flag points to a developer account, which do not support the local development of private apps. Update the "--account" flag to point to a standard, sandbox, or developer test account, or change your default account by running ${uiCommandReference('hs account use')}.`,
|
|
2794
|
+
nonSandboxWarning: `Testing in a sandbox is strongly recommended. To switch the target account, select an option below or run ${uiCommandReference('hs account use')} before running the command again.`,
|
|
2627
2795
|
publicAppNonDeveloperTestAccountWarning: `Local development of public apps is only supported in ${chalk.bold('developer test accounts')}.`,
|
|
2628
2796
|
},
|
|
2629
2797
|
checkIfParentAccountIsAuthed: {
|
|
2630
|
-
notAuthedError: (parentAccountId, accountIdentifier) => `To develop this project locally, run ${
|
|
2798
|
+
notAuthedError: (parentAccountId, accountIdentifier) => `To develop this project locally, run ${uiAuthCommandReference({ accountId: parentAccountId })} to authenticate the App Developer Account ${parentAccountId} associated with ${accountIdentifier}.`,
|
|
2631
2799
|
},
|
|
2632
2800
|
selectAccountTypePrompt: {
|
|
2633
|
-
message: '
|
|
2801
|
+
message: 'Choose the type of account to test on',
|
|
2634
2802
|
developerTestAccountOption: 'Test on a developer test account (recommended)',
|
|
2635
2803
|
sandboxAccountOption: 'Test on a sandbox account',
|
|
2636
2804
|
sandboxAccountOptionDisabled: 'Disabled - requires access to sandbox accounts',
|
|
2637
2805
|
productionAccountOption: (accountId) => `<${chalk.red('!')} Test on your project account: ${uiAccountDescription(accountId, false)} ${chalk.red('!')}>`,
|
|
2638
2806
|
},
|
|
2639
2807
|
confirmDefaultAccountIsTarget: {
|
|
2640
|
-
configError: `An error occurred while reading the default account from your config. Run ${
|
|
2641
|
-
declineDefaultAccountExplanation: `To develop on a different account, run ${uiCommandReference('hs
|
|
2808
|
+
configError: `An error occurred while reading the default account from your config. Run ${uiAuthCommandReference()} to re-auth this account`,
|
|
2809
|
+
declineDefaultAccountExplanation: `To develop on a different account, run ${uiCommandReference('hs account use')} to change your default account, then re-run ${uiCommandReference('hs project dev')}.`,
|
|
2642
2810
|
},
|
|
2643
2811
|
},
|
|
2644
2812
|
},
|
|
2645
2813
|
middleware: {
|
|
2646
2814
|
updateNotification: {
|
|
2647
|
-
notifyTitle: chalk.bold('
|
|
2815
|
+
notifyTitle: chalk.bold('CLI update available'),
|
|
2648
2816
|
cmsUpdateNotification: (packageName) => `${chalk.bold('The CMS CLI is now the HubSpot CLI')}\n\nTo upgrade, uninstall ${chalk.bold(packageName)}\nand then run ${uiCommandReference('{updateCommand}')}`,
|
|
2649
2817
|
cliUpdateNotification: `HubSpot CLI version ${chalk.cyan(chalk.bold('{currentVersion}'))} is outdated.\nRun ${uiCommandReference('{updateCommand}')} to upgrade to version ${chalk.cyan(chalk.bold('{latestVersion}'))}`,
|
|
2650
2818
|
},
|
|
@@ -2755,6 +2923,7 @@ export const lib = {
|
|
|
2755
2923
|
compressed: (byteCount) => `Project files compressed: ${byteCount} bytes`,
|
|
2756
2924
|
compressing: (path) => `Compressing build files to "${path}"`,
|
|
2757
2925
|
fileFiltered: (filename) => `Ignore rule triggered for "${filename}"`,
|
|
2926
|
+
legacyFileDetected: (filename, platformVersion) => `The ${chalk.bold(filename)} file is not supported on platform version ${chalk.bold(platformVersion)} and will be ignored.`,
|
|
2758
2927
|
},
|
|
2759
2928
|
},
|
|
2760
2929
|
boxen: {
|
|
@@ -2771,13 +2940,15 @@ export const lib = {
|
|
|
2771
2940
|
viewImportLink: (baseUrl, accountId, importId) => `Data import currently processing. You can view the status of your import ${uiLink('here', `${baseUrl}/import/${accountId}/post/${importId}`)}`,
|
|
2772
2941
|
},
|
|
2773
2942
|
ui: {
|
|
2774
|
-
betaTag:
|
|
2943
|
+
betaTag: '[BETA]',
|
|
2944
|
+
betaTagWithStyle: chalk.bold('[BETA]'),
|
|
2775
2945
|
betaWarning: {
|
|
2776
2946
|
header: chalk.yellow('***************************** WARNING ****************************'),
|
|
2777
2947
|
footer: chalk.yellow('******************************************************************'),
|
|
2778
2948
|
},
|
|
2779
2949
|
infoTag: chalk.bold('[INFO]'),
|
|
2780
|
-
deprecatedTag:
|
|
2950
|
+
deprecatedTag: '[DEPRECATED]',
|
|
2951
|
+
deprecatedTagWithStyle: chalk.bold('[DEPRECATED]'),
|
|
2781
2952
|
errorTag: chalk.bold('[ERROR]'),
|
|
2782
2953
|
deprecatedMessage: (command, url) => `The ${command} command is deprecated and will be disabled soon. ${url}`,
|
|
2783
2954
|
deprecatedDescription: (message, command, url) => `${message}. The ${command} command is deprecated and will be disabled soon. ${url}`,
|
|
@@ -2796,7 +2967,7 @@ export const lib = {
|
|
|
2796
2967
|
message: (command) => `${command} - See a list of configured HubSpot accounts`,
|
|
2797
2968
|
},
|
|
2798
2969
|
accountsUseCommand: {
|
|
2799
|
-
command: 'hs
|
|
2970
|
+
command: 'hs account use',
|
|
2800
2971
|
message: (command) => `${command} - Set the Hubspot account that the CLI will target by default`,
|
|
2801
2972
|
},
|
|
2802
2973
|
authCommand: {
|
|
@@ -2835,6 +3006,9 @@ export const lib = {
|
|
|
2835
3006
|
command: 'hs project install-deps',
|
|
2836
3007
|
message: (command) => `${command} - Install all project dependencies`,
|
|
2837
3008
|
},
|
|
3009
|
+
projectCommandTip: {
|
|
3010
|
+
message: 'Tip: All project commands must be run from within a project directory',
|
|
3011
|
+
},
|
|
2838
3012
|
sampleProjects: {
|
|
2839
3013
|
linkText: "HubSpot's sample projects",
|
|
2840
3014
|
url: 'https://developers.hubspot.com/docs/platform/sample-projects?utm_source=cli&utm_content=project_create_whats_next',
|
|
@@ -2858,7 +3032,7 @@ export const lib = {
|
|
|
2858
3032
|
},
|
|
2859
3033
|
},
|
|
2860
3034
|
buildAccount: {
|
|
2861
|
-
|
|
3035
|
+
createDeveloperTestAccountV2: {
|
|
2862
3036
|
syncFailure: 'Failed to sync developer test account',
|
|
2863
3037
|
pakFailure: 'Failed to generate personal access key for developer test account',
|
|
2864
3038
|
},
|
|
@@ -2873,25 +3047,26 @@ export const lib = {
|
|
|
2873
3047
|
},
|
|
2874
3048
|
setAllowUsageTracking: {
|
|
2875
3049
|
fieldName: 'usage tracking',
|
|
2876
|
-
success: (isEnabled) => `
|
|
3050
|
+
success: (isEnabled) => `Successfully updated ${chalk.bold('allow usage tracking')} to ${chalk.bold(isEnabled)}`,
|
|
2877
3051
|
},
|
|
2878
3052
|
setAllowAutoUpdates: {
|
|
2879
3053
|
fieldName: 'auto updates',
|
|
2880
|
-
success: (isEnabled) => `
|
|
3054
|
+
success: (isEnabled) => `Successfully updated ${chalk.bold('allow auto updates')} to ${chalk.bold(isEnabled)}`,
|
|
2881
3055
|
},
|
|
2882
3056
|
setDefaultCmsPublishMode: {
|
|
2883
3057
|
promptMessage: 'Select CMS publish mode to be used as the default',
|
|
2884
3058
|
error: (validModes) => `The provided CMS publish mode is invalid. Valid values are ${validModes}.`,
|
|
2885
|
-
success: (mode) => `
|
|
3059
|
+
success: (mode) => `Successfully updated ${chalk.bold('default CMS publish mode')} to ${chalk.bold(mode)}`,
|
|
2886
3060
|
},
|
|
2887
3061
|
setHttpTimeout: {
|
|
2888
3062
|
promptMessage: 'Enter http timeout duration',
|
|
2889
|
-
success: (timeout) => `HTTP timeout
|
|
3063
|
+
success: (timeout) => `Successfully updated ${chalk.bold('HTTP timeout')} to ${chalk.bold(timeout)}`,
|
|
3064
|
+
error: (timeout) => `Invalid HTTP timeout value "${timeout}". Must be a number greater than 3000.`,
|
|
2890
3065
|
},
|
|
2891
3066
|
setAutoOpenBrowser: {
|
|
2892
3067
|
fieldName: 'auto open browser',
|
|
2893
|
-
enabled: '
|
|
2894
|
-
disabled: '
|
|
3068
|
+
enabled: `Successfully updated ${chalk.bold('auto open browser')} to ${chalk.bold('enabled')}`,
|
|
3069
|
+
disabled: `Successfully updated ${chalk.bold('auto open browser')} to ${chalk.bold('disabled')}`,
|
|
2895
3070
|
},
|
|
2896
3071
|
},
|
|
2897
3072
|
commonOpts: {
|
|
@@ -2921,6 +3096,21 @@ export const lib = {
|
|
|
2921
3096
|
mergeConflictMessage: (count, propertyList) => `Conflict${count > 1 ? 's' : ''} detected for ${chalk.bold(propertyList)}.`,
|
|
2922
3097
|
mergeConfigConflictPrompt: (property, newValue, oldValue) => `Change ${property} from ${newValue} to ${oldValue}?`,
|
|
2923
3098
|
},
|
|
3099
|
+
handleAccountNameConflicts: {
|
|
3100
|
+
warnings: {
|
|
3101
|
+
accountNameConflictMessage: (count) => `${count} account name conflict${count > 1 ? 's' : ''} detected.`,
|
|
3102
|
+
forceFlagDetected: (count, renameDetails) => `Force flag detected. Automatically renaming ${count} account${count > 1 ? 's' : ''} with duplicate name${count > 1 ? 's' : ''}:\n${renameDetails}`,
|
|
3103
|
+
},
|
|
3104
|
+
prompts: {
|
|
3105
|
+
renameOrOmitAccountPrompt: (accountName, accountId) => `Local account name="${accountName}" (ID: ${accountId}) conflicts with an existing global account.\nRename the local account to include it in the merge? If not, it will be skipped.`,
|
|
3106
|
+
newAccountNamePrompt: (accountName, portalId) => `Enter a new name for the local account [ID: ${portalId}] (currently named "${accountName}"):`,
|
|
3107
|
+
},
|
|
3108
|
+
errors: {
|
|
3109
|
+
nameRequired: 'The name may not be blank. Please add a name for the config.',
|
|
3110
|
+
sameName: 'The new account name must be different from the current name.',
|
|
3111
|
+
nameAlreadyInConfig: (name) => `The name "${name}" is already used by another account.`,
|
|
3112
|
+
},
|
|
3113
|
+
},
|
|
2924
3114
|
handleMerge: {
|
|
2925
3115
|
description: (archivedConfigName) => `We will automatically merge the contents of your deprecated config file into your global configuration file. This will merge the configured accounts and settings into the global config. Then it will archive the deprecated config as ${archivedConfigName} for you to manually cleanup at your convenience.`,
|
|
2926
3116
|
confirmPrompt: 'Merge the deprecated config into your global config?',
|
|
@@ -2929,6 +3119,11 @@ export const lib = {
|
|
|
2929
3119
|
},
|
|
2930
3120
|
},
|
|
2931
3121
|
prompts: {
|
|
3122
|
+
promptUtils: {
|
|
3123
|
+
errors: {
|
|
3124
|
+
noSelectableChoices: 'Exiting prompt because no selectable choices are available',
|
|
3125
|
+
},
|
|
3126
|
+
},
|
|
2932
3127
|
importDataFilePathPrompt: {
|
|
2933
3128
|
promptContext: `To view the JSON schema for data imports, visit ${uiLink('the docs', 'https://developers.hubspot.com/docs/guides/api/crm/imports')}`,
|
|
2934
3129
|
promptMessage: '[--file-path] Select the JSON file that will be used to import your data.',
|
|
@@ -2945,10 +3140,10 @@ export const lib = {
|
|
|
2945
3140
|
projectDevTargetAccountPrompt: {
|
|
2946
3141
|
createNewSandboxOption: '<Test on a new development sandbox>',
|
|
2947
3142
|
createNewDeveloperTestAccountOption: '<Test on a new developer test account>',
|
|
2948
|
-
chooseDefaultAccountOption:
|
|
2949
|
-
promptMessage: (accountType, accountIdentifier) => `
|
|
3143
|
+
chooseDefaultAccountOption: `<${chalk.bold('❗')} Test on this production account ${chalk.bold('❗')}>`,
|
|
3144
|
+
promptMessage: (accountType, accountIdentifier) => `Choose a ${accountType} under ${accountIdentifier} to test with:`,
|
|
2950
3145
|
sandboxLimit: (limit) => `Your account reached the limit of ${limit} development sandboxes`,
|
|
2951
|
-
sandboxLimitWithSuggestion: (limit
|
|
3146
|
+
sandboxLimitWithSuggestion: (limit) => `Your account reached the limit of ${limit} development sandboxes. Run ${uiAuthCommandReference()} to add an existing one to the config.`,
|
|
2952
3147
|
developerTestAccountLimit: (limit) => `Your account reached the limit of ${limit} developer test accounts.`,
|
|
2953
3148
|
confirmDefaultAccount: (accountName, accountType) => `Continue testing on ${chalk.bold(`${accountName} (${accountType})`)}? (Y/n)`,
|
|
2954
3149
|
confirmUseExistingDeveloperTestAccount: (accountName) => `Continue with ${accountName}? This account isn't currently connected to the HubSpot CLI. By continuing, you'll be prompted to generate a personal access key and connect it.`,
|
|
@@ -3088,8 +3283,8 @@ export const lib = {
|
|
|
3088
3283
|
selectAppIdClone: (accountName) => `[--appId] Choose an app under ${accountName} to clone:`,
|
|
3089
3284
|
errors: {
|
|
3090
3285
|
noAccountId: 'An account ID is required to select an app.',
|
|
3091
|
-
noAppsMigration:
|
|
3092
|
-
noAppsClone:
|
|
3286
|
+
noAppsMigration: `${chalk.bold('No apps to migrate')}`,
|
|
3287
|
+
noAppsClone: `${chalk.bold('No apps to clone')}`,
|
|
3093
3288
|
noAppsMigrationMessage: (accountName) => `The selected developer account ${chalk.bold(accountName)} doesn't have any apps that can be migrated to the projects framework.`,
|
|
3094
3289
|
noAppsCloneMessage: (accountName) => `The selected developer account ${chalk.bold(accountName)} doesn't have any apps that can be cloned to the projects framework.`,
|
|
3095
3290
|
errorFetchingApps: 'There was an error fetching public apps.',
|
|
@@ -3105,10 +3300,12 @@ export const lib = {
|
|
|
3105
3300
|
},
|
|
3106
3301
|
projectAddPrompt: {
|
|
3107
3302
|
selectType: '[--type] Select an app feature to add: ',
|
|
3303
|
+
selectFeatures: '[--features] Select an app feature to add: ',
|
|
3108
3304
|
enterName: '[--name] Give your component a name: ',
|
|
3109
3305
|
errors: {
|
|
3110
3306
|
nameRequired: 'A component name is required',
|
|
3111
3307
|
componentRequired: 'Must select a feature to add',
|
|
3308
|
+
noSelectableChoices: 'There are no available features that can be added to this project',
|
|
3112
3309
|
invalidType: (type) => `[--type] Could not find type "${type}". Please choose an available type:`,
|
|
3113
3310
|
cannotAddFeature: (feature, reasons) => `Cannot Add feature '${feature}' to project for the following reasons: ${reasons}`,
|
|
3114
3311
|
},
|
|
@@ -3144,7 +3341,7 @@ export const lib = {
|
|
|
3144
3341
|
enterName: '[--project] Enter project name:',
|
|
3145
3342
|
errors: {
|
|
3146
3343
|
invalidName: 'You entered an invalid name. Please try again.',
|
|
3147
|
-
projectDoesNotExist: (projectName,
|
|
3344
|
+
projectDoesNotExist: (projectName, accountId) => `Project ${chalk.bold(projectName)} could not be found in "${uiAccountDescription(accountId)}"`,
|
|
3148
3345
|
},
|
|
3149
3346
|
},
|
|
3150
3347
|
previewPrompt: {
|
|
@@ -3159,7 +3356,6 @@ export const lib = {
|
|
|
3159
3356
|
installAppPrompt: {
|
|
3160
3357
|
explanation: 'Local development requires this app to be installed in the target test account.',
|
|
3161
3358
|
reinstallExplanation: "This app's required scopes have been updated since it was last installed on the target test account. To avoid issues with local development, we recommend reinstalling the app with the updated scopes.",
|
|
3162
|
-
staticAuthExplanation: (projectAccountId, testingAccountId, projectName, appUid) => `To install this static auth app, your testing account ${uiAccountDescription(testingAccountId)} must be on ${uiLink("this app's allowlist", getAppAllowlistUrl(projectAccountId, projectName, appUid))}.`,
|
|
3163
3359
|
prompt: 'Open HubSpot to install this app?',
|
|
3164
3360
|
autoPrompt: 'Install this app in your target test account?',
|
|
3165
3361
|
reinstallPrompt: 'Open HubSpot to reinstall this app?',
|
|
@@ -3204,11 +3400,11 @@ export const lib = {
|
|
|
3204
3400
|
},
|
|
3205
3401
|
failure: {
|
|
3206
3402
|
invalidUser: (accountName, parentAccountName) => `Couldn't create ${chalk.bold(accountName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to create the sandbox. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
3207
|
-
limit: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer test accounts. \n- To connect a developer test account to your HubSpot CLI, run ${
|
|
3208
|
-
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer test accounts. \n- To use an existing developer test account, run ${
|
|
3403
|
+
limit: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer test accounts. \n- To connect a developer test account to your HubSpot CLI, run ${uiAuthCommandReference()} and follow the prompts.`,
|
|
3404
|
+
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} developer test accounts. \n- To use an existing developer test account, run ${uiCommandReference('hs account use')}.`,
|
|
3209
3405
|
scopes: {
|
|
3210
3406
|
message: "The personal access key you provided doesn't include developer test account permissions.",
|
|
3211
|
-
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes developer test account permissions. \n- Update the CLI config for this account by running ${
|
|
3407
|
+
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes developer test account permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
3212
3408
|
},
|
|
3213
3409
|
},
|
|
3214
3410
|
},
|
|
@@ -3225,14 +3421,13 @@ export const lib = {
|
|
|
3225
3421
|
configFileUpdated: (accountName, authType) => `Account "${accountName}" updated using "${authType}"`,
|
|
3226
3422
|
},
|
|
3227
3423
|
failure: {
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3424
|
+
limit: (accountId, limit, link) => `${uiAccountDescription(accountId)} reached the limit of ${limit} developer sandboxes. \n- View sandbox details at ${uiLink('View sandbox details at', link)} \n- To connect a developer sandbox to your HubSpot CLI, run ${uiAuthCommandReference()} and follow the prompts.`,
|
|
3425
|
+
alreadyInConfig: (accountId, limit) => `${uiAccountDescription(accountId)} reached the limit of ${limit} developer sandboxes. \n- To use an existing developer sandbox, run ${uiCommandReference('hs account use')}. \n- To delete an existing sandbox, run ${uiCommandReference('hs sandbox delete')}.`,
|
|
3426
|
+
generic: 'An error occurred while creating a developer sandbox',
|
|
3231
3427
|
scopes: {
|
|
3232
3428
|
message: "The personal access key you provided doesn't include developer sandbox permissions.",
|
|
3233
|
-
instructions: (
|
|
3429
|
+
instructions: (account, url) => `To update CLI permissions for "${chalk.bold(account)}": \n- ${uiLink('Go to', url)}, deactivate the existing personal access key, and create a new one that includes developer sandbox permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
3234
3430
|
},
|
|
3235
|
-
generic: 'An error occurred while creating a developer sandbox',
|
|
3236
3431
|
},
|
|
3237
3432
|
},
|
|
3238
3433
|
standard: {
|
|
@@ -3245,30 +3440,54 @@ export const lib = {
|
|
|
3245
3440
|
configFileUpdated: (accountName, authType) => `Account "${accountName}" updated using "${authType}"`,
|
|
3246
3441
|
},
|
|
3247
3442
|
failure: {
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
alreadyInConfig: (accountName, limit) => `${chalk.bold(accountName)} reached the limit of ${limit} standard sandboxes. \n- To use an existing standard sandbox, run ${chalk.bold('hs accounts use')}.`,
|
|
3443
|
+
limit: (accountId, limit, link) => `${uiAccountDescription(accountId)} reached the limit of ${limit} standard sandboxes.\n- View sandbox details at ${uiLink('View sandbox details at', link)} \n- To connect a standard sandbox to your HubSpot CLI, run ${uiAuthCommandReference()} and follow the prompts.`,
|
|
3444
|
+
alreadyInConfig: (accountId, limit) => `${uiAccountDescription(accountId)} reached the limit of ${limit} standard sandboxes. \n- To use an existing standard sandbox, run ${uiCommandReference('hs account use')}. \n- To delete an existing sandbox, run ${uiCommandReference('hs sandbox delete')}.`,
|
|
3251
3445
|
scopes: {
|
|
3252
3446
|
message: "The personal access key you provided doesn't include standard sandbox permissions.",
|
|
3253
|
-
instructions: (
|
|
3447
|
+
instructions: (account, url) => `To update CLI permissions for "${chalk.bold(account)}": \n- ${uiLink('Go to', url)}, deactivate the existing personal access key, and create a new one that includes standard sandbox permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
3254
3448
|
},
|
|
3255
3449
|
},
|
|
3256
3450
|
},
|
|
3451
|
+
failure: {
|
|
3452
|
+
usageLimitsFetch: 'Unable to fetch sandbox usage limits. Please try again.',
|
|
3453
|
+
scopes: {
|
|
3454
|
+
message: "The personal access key you provided doesn't include sandbox permissions.",
|
|
3455
|
+
instructions: (account, url) => `To update CLI permissions for "${chalk.bold(account)}": \n- Go to ${url}, deactivate the existing personal access key, and create a new one that includes Sandbox permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
3456
|
+
},
|
|
3457
|
+
invalidUser: (accountName, parentAccountId) => `Couldn't create ${chalk.bold(accountName)} because your account has been removed from ${uiAccountDescription(parentAccountId)} or your permission set doesn't allow you to create the sandbox. To update your permissions, contact a super admin in ${uiAccountDescription(parentAccountId)}.`,
|
|
3458
|
+
'403Gating': (accountName, parentAccountId) => `We couldn't create ${chalk.bold(accountName)} because ${uiAccountDescription(parentAccountId)} is a developer account and does not have access to development sandboxes. To gain access to developer sandboxes, you can ${uiLink('convert your account', 'https://developers.hubspot.com/docs/getting-started/convert-your-account-into-a-developer-crm-account')}.`,
|
|
3459
|
+
},
|
|
3257
3460
|
},
|
|
3258
3461
|
sync: {
|
|
3462
|
+
info: {
|
|
3463
|
+
syncMessage: (url) => `Asset sync from production to the sandbox is in progress and is running in the background. It may take some time. ${uiLink('View sync status details here', url)}`,
|
|
3464
|
+
syncMessageDevSb: (url) => `Sync of object definitions from production to the sandbox is in progress and is running in the background. It may take some time. ${url}`,
|
|
3465
|
+
},
|
|
3466
|
+
confirm: {
|
|
3467
|
+
syncContactRecords: {
|
|
3468
|
+
standard: 'Do you want to sync contact records from your production account?',
|
|
3469
|
+
},
|
|
3470
|
+
},
|
|
3259
3471
|
loading: {
|
|
3260
3472
|
add: (accountName) => `Syncing sandbox ${chalk.bold(accountName)}`,
|
|
3261
|
-
fail: (
|
|
3262
|
-
succeed: (
|
|
3473
|
+
fail: (accountId) => `Failed to sync sandbox ${uiAccountDescription(accountId)}.`,
|
|
3474
|
+
succeed: (accountId) => `Successfully synced sandbox ${uiAccountDescription(accountId)}.`,
|
|
3475
|
+
startSync: 'Initiating sync...',
|
|
3476
|
+
succeedDevSb: (accountId) => `Initiated sync of object definitions from production to ${uiAccountDescription(accountId)}`,
|
|
3477
|
+
successDevSbInfo: (accountId, url) => `Initiated sync of object definitions from production to ${uiAccountDescription(accountId)}. It may take some time. ${url}`,
|
|
3263
3478
|
},
|
|
3264
3479
|
success: {
|
|
3265
3480
|
configFileUpdated: (accountName, authType) => `Account "${accountName}" updated using "${authType}"`,
|
|
3266
3481
|
},
|
|
3267
3482
|
failure: {
|
|
3483
|
+
syncTypeFetch: 'Unable to fetch available sandbox sync types. Please try again.',
|
|
3268
3484
|
invalidUser: (accountName, parentAccountName) => `Couldn't sync ${chalk.bold(accountName)} because your account has been removed from ${chalk.bold(parentAccountName)} or your permission set doesn't allow you to sync the sandbox. To update your permissions, contact a super admin in ${chalk.bold(parentAccountName)}.`,
|
|
3485
|
+
syncInProgress: (url) => `Couldn't run the sync because there's another sync in progress. Wait for the current sync to finish and then try again. To check the sync status, visit the sync activity log: ${url}.`,
|
|
3486
|
+
notSuperAdmin: (accountId) => `Couldn't run the sync because you are not a super admin in ${uiAccountDescription(accountId)}. Ask the account owner for super admin access to the sandbox.`,
|
|
3487
|
+
objectNotFound: (accountId) => `Couldn't sync the sandbox because ${uiAccountDescription(accountId)} may have been deleted through the UI. Run ${uiCommandReference('hs sandbox delete')} to remove this account from the config.`,
|
|
3269
3488
|
scopes: {
|
|
3270
3489
|
message: "The personal access key you provided doesn't include sandbox sync permissions.",
|
|
3271
|
-
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- Go to
|
|
3490
|
+
instructions: (accountName, url) => `To update CLI permissions for "${accountName}": \n- ${uiLink('Go to', url)}, deactivate the existing personal access key, and create a new one that includes sandbox sync permissions. \n- Update the CLI config for this account by running ${uiAuthCommandReference()} and entering the new key.\n`,
|
|
3272
3491
|
},
|
|
3273
3492
|
},
|
|
3274
3493
|
},
|
|
@@ -3279,6 +3498,8 @@ export const lib = {
|
|
|
3279
3498
|
errorContext: (context) => `Context: ${context}`,
|
|
3280
3499
|
errorCause: (cause) => `Cause: ${cause}`,
|
|
3281
3500
|
unknownErrorOccurred: 'An unknown error has occurred.',
|
|
3501
|
+
configTimeoutErrorOccurred: (timeout, configSetCommand) => `This error occurred because a request exceeded the default HTTP timeout of ${timeout}ms. To increase the default HTTP timeout, run ${uiCommandReference(configSetCommand)}.`,
|
|
3502
|
+
genericTimeoutErrorOccurred: 'This error occurred because an HTTP request timed out. Re-running the command may resolve this issue.',
|
|
3282
3503
|
},
|
|
3283
3504
|
suppressErrors: {
|
|
3284
3505
|
platformVersionErrors: {
|
|
@@ -3290,7 +3511,7 @@ export const lib = {
|
|
|
3290
3511
|
docsLink: 'Projects platform versioning (BETA)',
|
|
3291
3512
|
betaLink: (docsLink) => `For more info, see ${docsLink}.`,
|
|
3292
3513
|
},
|
|
3293
|
-
missingScopeError: (request, accountName
|
|
3514
|
+
missingScopeError: (request, accountName) => `Couldn't execute the ${request} because the access key for ${accountName} is missing required scopes. To update scopes, run ${uiAuthCommandReference()}. Then deactivate the existing key and generate a new one that includes the missing scopes.`,
|
|
3294
3515
|
},
|
|
3295
3516
|
},
|
|
3296
3517
|
serverless: {
|
|
@@ -3298,7 +3519,7 @@ export const lib = {
|
|
|
3298
3519
|
fetchScopeDataError: (scopeGroup) => `Error verifying access of scopeGroup ${scopeGroup}:`,
|
|
3299
3520
|
portalMissingScope: 'Your account does not have access to this action. Talk to an account admin to request it.',
|
|
3300
3521
|
userMissingScope: "You don't have access to this action. Ask an account admin to change your permissions in Users & Teams settings.",
|
|
3301
|
-
genericMissingScope:
|
|
3522
|
+
genericMissingScope: `Your access key does not allow this action. Please generate a new access key by running ${uiAuthCommandReference()}.`,
|
|
3302
3523
|
},
|
|
3303
3524
|
},
|
|
3304
3525
|
doctor: {
|
|
@@ -3307,13 +3528,13 @@ export const lib = {
|
|
|
3307
3528
|
accountChecks: {
|
|
3308
3529
|
active: 'Default account active',
|
|
3309
3530
|
inactive: "Default account isn't active",
|
|
3310
|
-
inactiveSecondary: (command) => `Run ${command} to remove inactive accounts from your CLI config`,
|
|
3531
|
+
inactiveSecondary: (command) => `Run ${uiCommandReference(command)} to remove inactive accounts from your CLI config`,
|
|
3311
3532
|
unableToDetermine: 'Unable to determine if the portal is active',
|
|
3312
3533
|
pak: {
|
|
3313
3534
|
incomplete: 'Personal access key is valid, but there are more scopes available to your user that are not included in your key.',
|
|
3314
|
-
incompleteSecondary: (
|
|
3535
|
+
incompleteSecondary: (link) => `To add the available scopes, run ${uiAuthCommandReference()} and re-authenticate your account with a new key that has those scopes. Visit HubSpot to view selected and available scopes for your personal access key. ${link}`,
|
|
3315
3536
|
invalid: 'Personal access key is invalid',
|
|
3316
|
-
invalidSecondary:
|
|
3537
|
+
invalidSecondary: `To get a new key, run ${uiAuthCommandReference()}, deactivate your access key, and generate a new one. Then use that new key to authenticate your account.`,
|
|
3317
3538
|
valid: (link) => `Personal Access Key is valid. ${link}`,
|
|
3318
3539
|
viewScopes: 'View selected scopes',
|
|
3319
3540
|
},
|
|
@@ -3330,25 +3551,24 @@ export const lib = {
|
|
|
3330
3551
|
},
|
|
3331
3552
|
hsChecks: {
|
|
3332
3553
|
notLatest: (hsVersion) => `Version ${hsVersion} outdated`,
|
|
3333
|
-
notLatestSecondary: (command, hsVersion) => `Run ${command} to upgrade to the latest version ${hsVersion}`,
|
|
3554
|
+
notLatestSecondary: (command, hsVersion) => `Run ${uiCommandReference(command)} to upgrade to the latest version ${hsVersion}`,
|
|
3334
3555
|
latest: (hsVersion) => `HubSpot CLI v${hsVersion} up to date`,
|
|
3335
3556
|
unableToDetermine: 'Unable to determine if HubSpot CLI is up to date.',
|
|
3336
|
-
unableToDetermineSecondary: (command, link) => `Run ${command} to check your installed version; then visit the ${link} to validate whether you have the latest version`,
|
|
3337
|
-
unableToDetermineSecondaryLink: 'npm HubSpot CLI version history',
|
|
3557
|
+
unableToDetermineSecondary: (command, link) => `Run ${uiCommandReference(command)} to check your installed version; then visit the ${uiLink('npm HubSpot CLI version history', link)} to validate whether you have the latest version`,
|
|
3338
3558
|
},
|
|
3339
3559
|
projectDependenciesChecks: {
|
|
3340
3560
|
missingDependencies: (dir) => `missing dependencies in ${chalk.bold(dir)}`,
|
|
3341
|
-
missingDependenciesSecondary: (command) => `Run ${command} to install all project dependencies locally`,
|
|
3561
|
+
missingDependenciesSecondary: (command) => `Run ${uiCommandReference(command)} to install all project dependencies locally`,
|
|
3342
3562
|
unableToDetermine: (dir) => `Unable to determine if dependencies are installed ${dir}`,
|
|
3343
3563
|
success: 'App dependencies are installed and up to date',
|
|
3344
3564
|
},
|
|
3345
3565
|
files: {
|
|
3346
|
-
invalidJson: (filename) => `
|
|
3566
|
+
invalidJson: (filename) => `Invalid JSON in ${chalk.bold(filename)}`,
|
|
3347
3567
|
validJson: 'JSON files valid',
|
|
3348
3568
|
},
|
|
3349
3569
|
port: {
|
|
3350
3570
|
inUse: (port) => `Port ${port} is in use`,
|
|
3351
|
-
inUseSecondary: (command) => `Make sure it is available before running ${command}`,
|
|
3571
|
+
inUseSecondary: (command) => `Make sure it is available before running ${uiCommandReference(command)}`,
|
|
3352
3572
|
available: (port) => `Port ${port} available for local development`,
|
|
3353
3573
|
},
|
|
3354
3574
|
diagnosis: {
|
|
@@ -3360,28 +3580,59 @@ export const lib = {
|
|
|
3360
3580
|
configFileSubHeader: (filename) => `Config File: ${chalk.bold(filename)}`,
|
|
3361
3581
|
defaultAccountSubHeader: (accountDetails) => `Default Account: ${accountDetails}`,
|
|
3362
3582
|
noConfigFile: 'CLI configuration not found',
|
|
3363
|
-
noConfigFileSecondary: (command) => `Run ${command} and follow the prompts to create your CLI configuration file and connect it to your HubSpot account`,
|
|
3583
|
+
noConfigFileSecondary: (command) => `Run ${uiCommandReference(command)} and follow the prompts to create your CLI configuration file and connect it to your HubSpot account`,
|
|
3584
|
+
settings: {
|
|
3585
|
+
httpUseLocalhost: `The setting ${chalk.bold('httpUseLocalhost')} is enabled`,
|
|
3586
|
+
httpUseLocalhostSecondary: 'This setting causes all CLI requests to route to localhost',
|
|
3587
|
+
},
|
|
3364
3588
|
},
|
|
3365
3589
|
projectConfig: {
|
|
3366
3590
|
header: 'Project configuration',
|
|
3367
3591
|
projectDirSubHeader: (projectDir) => `Project dir: ${chalk.bold(projectDir)}`,
|
|
3368
3592
|
projectNameSubHeader: (projectName) => `Project name: ${chalk.bold(projectName)}`,
|
|
3369
3593
|
},
|
|
3594
|
+
defaultAccountOverrideFile: {
|
|
3595
|
+
header: 'Default account override file path:',
|
|
3596
|
+
},
|
|
3370
3597
|
counts: {
|
|
3371
3598
|
errors: (count) => `${chalk.bold('Errors:')} ${count}`,
|
|
3372
3599
|
warnings: (count) => `${chalk.bold('Warning:')} ${count}`,
|
|
3373
3600
|
},
|
|
3374
3601
|
},
|
|
3602
|
+
defaultAccountOverrideFileChecks: {
|
|
3603
|
+
overrideActive: (defaultAccountOverrideFile) => `Default account override file is active: ${defaultAccountOverrideFile}`,
|
|
3604
|
+
overrideAccountId: (overrideAccountId) => `Active account ID: ${overrideAccountId}`,
|
|
3605
|
+
},
|
|
3375
3606
|
},
|
|
3376
3607
|
oauth: {
|
|
3377
3608
|
missingClientId: 'Error building oauth URL: missing client ID.',
|
|
3378
3609
|
},
|
|
3610
|
+
validation: {
|
|
3611
|
+
accountNotFoundInConfig: (userProvidedAccount) => `The account "${userProvidedAccount}" could not be found in the config`,
|
|
3612
|
+
accountRequired: 'An account needs to be supplied either via "--account" or through setting a "defaultPortal"',
|
|
3613
|
+
userProvidedAccount: 'Cannot specify an account when environment variables are supplied. Please unset the environment variables or do not use the "--account" flag.',
|
|
3614
|
+
accountNotConfigured: (accountId) => `The account ${uiAccountDescription(accountId)} has not been configured`,
|
|
3615
|
+
invalidAuthType: (authType, accountId, configPath, validValues) => `Invalid "authType" value "${authType}" for account "${uiAccountDescription(accountId)}" in config file: ${configPath}. Valid values are ${validValues}.`,
|
|
3616
|
+
oauth2ConfigMissing: (accountId) => `The OAuth2 auth configuration for account ${uiAccountDescription(accountId)} is missing`,
|
|
3617
|
+
oauth2ConfigIncorrect: (accountId) => `The OAuth2 configuration for account ${uiAccountDescription(accountId)} is incorrect \n Run ${uiCommandReference('hs auth --auth-type=oauth2')} to reauthenticate`,
|
|
3618
|
+
oauth2AccessTokenNotFound: (accountId) => `The OAuth2 access token could not be found for accountId ${uiAccountDescription(accountId)}`,
|
|
3619
|
+
personalAccessKeyMissing: (accountId) => `The account "${uiAccountDescription(accountId)}" is configured to use a access key for authentication and is missing a "personalAccessKey" in the configuration file`,
|
|
3620
|
+
personalAccessKeyTokenRetrievalFailed: (accountId) => `An OAuth2 access token for account "${uiAccountDescription(accountId)} could not be retrieved using the "personalAccessKey" provided`,
|
|
3621
|
+
authConfigurationMissing: (accountId) => `The accountId ${uiAccountDescription(accountId)} is missing authentication configuration`,
|
|
3622
|
+
availableCMSModes: (modes) => `Available CMS publish modes are: ${modes}`,
|
|
3623
|
+
invalidCmsPublishMode: (cmsPublishMode, modesMessage) => `The CMS publish mode "${cmsPublishMode}" is invalid. ${modesMessage}`,
|
|
3624
|
+
missingCmsPublishMode: (modesMessage) => `The CMS publish mode option is missing. ${modesMessage}`,
|
|
3625
|
+
pathNotFile: (path) => `The path "${path}" is not a path to a file`,
|
|
3626
|
+
fileNotJson: (path) => `The file "${path}" must be a valid JSON file`,
|
|
3627
|
+
fileInvalidJson: (path) => `The file "${path}" contains invalid JSON`,
|
|
3628
|
+
},
|
|
3379
3629
|
migrate: {
|
|
3380
3630
|
componentsToBeMigrated: (components) => `The following features will be migrated: ${components}`,
|
|
3381
3631
|
componentsThatWillNotBeMigrated: (components) => `[NOTE] These features are not yet supported for migration but will be available later: ${components}`,
|
|
3382
3632
|
sourceContentsMoved: (newLocation) => `The contents of your old source directory have been moved to ${newLocation}, move any required files to the new source directory.`,
|
|
3383
3633
|
projectMigrationWarningTitle: 'Important: Migrating to platformVersion 2025.2 is irreversible',
|
|
3384
3634
|
projectMigrationWarning: uiBetaTag(`Running the ${uiCommandReference('hs project migrate')} command will permanently upgrade your project to platformVersion 2025.2. This action cannot be undone. To ensure you have access to your original files, they will be copied to a new directory (archive) for safekeeping.\n\nThis command will guide you through the process, prompting you to enter the required fields and will download the new project source code into your project source directory.`, false),
|
|
3635
|
+
exitWithoutMigrating: 'Exiting without migrating',
|
|
3385
3636
|
success: {
|
|
3386
3637
|
downloadedProject: (projectName, projectDest) => `Saved ${projectName} to ${projectDest}`,
|
|
3387
3638
|
themesMigrationSuccess: (platformVersion) => `Successfully migrated project to platformVersion ${chalk.bold(platformVersion)}. Upload your project using ${uiCommandReference('hs project upload')}`,
|
|
@@ -3408,7 +3659,7 @@ export const lib = {
|
|
|
3408
3659
|
},
|
|
3409
3660
|
noAppsEligible: (accountId, reasons) => `No apps in account ${accountId} are currently migratable${reasons.length ? `\n - ${reasons.join('\n - ')}` : ''}`,
|
|
3410
3661
|
invalidAccountTypeTitle: `${chalk.bold('Developer account not targeted')}`,
|
|
3411
|
-
invalidAccountTypeDescription: (useCommand
|
|
3662
|
+
invalidAccountTypeDescription: (useCommand) => `Only public apps created in a developer account can be converted to a project component. Select a connected developer account with ${useCommand} or ${uiAuthCommandReference()} and try again.`,
|
|
3412
3663
|
appWithAppIdNotFound: (appId) => `Could not find an app with the id ${appId} `,
|
|
3413
3664
|
noAppsForProject: (projectName) => `No apps associated with project ${projectName}`,
|
|
3414
3665
|
migrationFailed: 'Migration Failed',
|