@hubspot/cli 8.1.0-beta.0 → 8.1.0-experimental.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/migrate.js +8 -4
- package/bin/cli.js +12 -6
- package/commands/account/auth.js +7 -7
- package/commands/account/clean.js +7 -6
- package/commands/account/createOverride.js +10 -7
- package/commands/account/info.js +36 -17
- package/commands/account/link.d.ts +4 -0
- package/commands/account/link.js +89 -0
- package/commands/account/list.js +32 -76
- package/commands/account/remove.js +4 -3
- package/commands/account/removeOverride.js +11 -10
- package/commands/account/rename.js +5 -6
- package/commands/account/unlink.d.ts +4 -0
- package/commands/account/unlink.js +70 -0
- package/commands/account/use.js +75 -6
- package/commands/account.js +4 -0
- package/commands/api.d.ts +10 -0
- package/commands/api.js +164 -0
- package/commands/app/migrate.js +13 -13
- package/commands/app/secret/add.js +6 -7
- package/commands/app/secret/delete.js +9 -10
- package/commands/app/secret/list.js +6 -7
- package/commands/app/secret/update.js +8 -9
- package/commands/auth.js +19 -15
- package/commands/cms/app/create.js +9 -5
- package/commands/cms/convertFields.js +8 -8
- package/commands/cms/delete.js +2 -3
- package/commands/cms/fetch.js +7 -7
- package/commands/cms/function/create.js +9 -5
- package/commands/cms/function/deploy.js +2 -3
- package/commands/cms/function/list.js +11 -7
- package/commands/cms/function/logs.js +17 -22
- package/commands/cms/function/server.js +2 -3
- package/commands/cms/getReactModule.js +7 -8
- package/commands/cms/lighthouseScore.js +25 -24
- package/commands/cms/lint.js +4 -5
- package/commands/cms/list.js +5 -6
- package/commands/cms/module/create.js +9 -5
- package/commands/cms/module/marketplace-validate.js +7 -8
- package/commands/cms/mv.js +2 -3
- package/commands/cms/template/create.js +10 -6
- package/commands/cms/theme/create.js +5 -5
- package/commands/cms/theme/generate-selectors.js +5 -4
- package/commands/cms/theme/marketplace-validate.js +8 -9
- package/commands/cms/theme/preview.js +23 -70
- package/commands/cms/upload.js +15 -12
- package/commands/cms/watch.d.ts +0 -1
- package/commands/cms/watch.js +6 -12
- package/commands/cms/webpack/create.js +5 -5
- package/commands/completion.js +3 -5
- package/commands/config/migrate.js +6 -7
- package/commands/config/set.js +5 -6
- package/commands/customObject/create.js +4 -5
- package/commands/customObject/createSchema.js +4 -5
- package/commands/customObject/deleteSchema.js +4 -5
- package/commands/customObject/fetchAllSchemas.js +2 -3
- package/commands/customObject/fetchSchema.js +2 -3
- package/commands/customObject/listSchemas.js +2 -3
- package/commands/customObject/updateSchema.js +4 -5
- package/commands/doctor.js +8 -8
- package/commands/feedback.js +7 -5
- package/commands/filemanager/fetch.js +5 -6
- package/commands/filemanager/upload.js +5 -5
- package/commands/getStarted.js +17 -19
- package/commands/hubdb/clear.js +6 -3
- package/commands/hubdb/create.js +4 -5
- package/commands/hubdb/delete.js +9 -6
- package/commands/hubdb/fetch.js +6 -3
- package/commands/hubdb/list.js +16 -14
- package/commands/init.js +15 -14
- package/commands/mcp/setup.js +5 -14
- package/commands/mcp/start.js +2 -4
- package/commands/open.js +4 -5
- package/commands/project/add.js +13 -8
- package/commands/project/appInstallStatus.d.ts +4 -0
- package/commands/project/appInstallStatus.js +132 -0
- package/commands/project/create.js +28 -17
- package/commands/project/delete.d.ts +7 -0
- package/commands/project/delete.js +74 -0
- package/commands/project/deploy.js +39 -36
- package/commands/project/dev/deprecatedFlow.js +62 -17
- package/commands/project/dev/index.d.ts +3 -3
- package/commands/project/dev/index.js +59 -48
- package/commands/project/dev/unifiedFlow.js +70 -21
- package/commands/project/download.js +12 -9
- package/commands/project/info.d.ts +4 -0
- package/commands/project/info.js +67 -0
- package/commands/project/installDeps.js +9 -6
- package/commands/project/lint.js +31 -10
- package/commands/project/list.js +14 -14
- package/commands/project/listBuilds.js +8 -6
- package/commands/project/logs.js +5 -6
- package/commands/project/migrate.js +18 -18
- package/commands/project/open.js +5 -6
- package/commands/project/profile/add.js +12 -8
- package/commands/project/profile/delete.js +15 -11
- package/commands/project/updateDeps.js +9 -6
- package/commands/project/upload.js +33 -19
- package/commands/project/validate.js +12 -12
- package/commands/project/watch.js +32 -19
- package/commands/project.js +12 -3
- package/commands/sandbox/create.js +18 -45
- package/commands/sandbox/delete.js +13 -14
- package/commands/secret/addSecret.js +6 -7
- package/commands/secret/deleteSecret.js +5 -6
- package/commands/secret/listSecret.js +2 -3
- package/commands/secret/updateSecret.js +4 -5
- package/commands/testAccount/create.d.ts +1 -1
- package/commands/testAccount/create.js +25 -17
- package/commands/testAccount/createConfig.js +7 -8
- package/commands/testAccount/delete.js +27 -18
- package/commands/testAccount/importData.js +6 -7
- package/commands/upgrade.js +9 -10
- package/lang/en.d.ts +248 -14
- package/lang/en.js +265 -28
- package/lib/accountAuth.js +4 -0
- package/lib/app/migrate.js +18 -5
- package/lib/buildAccount.d.ts +1 -6
- package/lib/buildAccount.js +9 -42
- package/lib/commandSuggestion.js +1 -7
- package/lib/constants.d.ts +2 -4
- package/lib/constants.js +4 -4
- package/lib/doctor/Diagnosis.js +5 -5
- package/lib/doctor/Doctor.js +7 -7
- package/lib/errorHandlers/index.js +4 -3
- package/lib/errorHandlers/suppressError.js +4 -0
- package/lib/errors/PromptExitError.d.ts +6 -0
- package/lib/errors/PromptExitError.js +11 -0
- package/lib/generateSelectors.js +1 -2
- package/lib/getStartedV2Actions.d.ts +13 -0
- package/lib/getStartedV2Actions.js +56 -3
- package/lib/hasFeature.js +1 -2
- package/lib/link/accountTableUtils.d.ts +10 -0
- package/lib/link/accountTableUtils.js +39 -0
- package/lib/link/index.d.ts +18 -0
- package/lib/link/index.js +185 -0
- package/lib/link/linkUtils.d.ts +5 -0
- package/lib/link/linkUtils.js +49 -0
- package/lib/link/prompts.d.ts +7 -0
- package/lib/link/prompts.js +126 -0
- package/lib/link/renderLinkedAccountsTable.d.ts +2 -0
- package/lib/link/renderLinkedAccountsTable.js +14 -0
- package/lib/link/warnIfLinkedDirectory.d.ts +1 -0
- package/lib/link/warnIfLinkedDirectory.js +9 -0
- package/lib/mcp/setup.d.ts +1 -0
- package/lib/mcp/setup.js +77 -30
- package/lib/middleware/autoUpdateMiddleware.js +6 -3
- package/lib/process.d.ts +1 -1
- package/lib/process.js +10 -3
- package/lib/projects/ProjectLogsManager.js +6 -3
- package/lib/projects/components.js +15 -4
- package/lib/projects/create/index.js +3 -6
- package/lib/projects/create/legacy.js +5 -10
- package/lib/projects/create/v2.js +5 -14
- package/lib/projects/delete.d.ts +13 -0
- package/lib/projects/delete.js +193 -0
- package/lib/projects/deploy.d.ts +1 -1
- package/lib/projects/deploy.js +2 -2
- package/lib/projects/ensureProjectExists.js +1 -2
- package/lib/projects/localDev/AppDevModeInterface.js +13 -9
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +4 -1
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +3 -3
- package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
- package/lib/projects/localDev/DevSessionManager.js +31 -19
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +5 -0
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +21 -10
- package/lib/projects/localDev/LocalDevProcess.js +6 -5
- package/lib/projects/localDev/LocalDevState.d.ts +3 -2
- package/lib/projects/localDev/LocalDevState.js +3 -1
- package/lib/projects/localDev/helpers/account.d.ts +4 -3
- package/lib/projects/localDev/helpers/account.js +21 -30
- package/lib/projects/localDev/helpers/process.d.ts +1 -1
- package/lib/projects/localDev/helpers/process.js +4 -10
- package/lib/projects/localDev/helpers/project.d.ts +4 -3
- package/lib/projects/localDev/helpers/project.js +31 -15
- package/lib/projects/pollProjectBuildAndDeploy.js +90 -85
- package/lib/projects/projectInfo.d.ts +5 -0
- package/lib/projects/projectInfo.js +82 -0
- package/lib/projects/projectProfiles.d.ts +1 -2
- package/lib/projects/projectProfiles.js +5 -17
- package/lib/projects/uieLinting.d.ts +17 -3
- package/lib/projects/uieLinting.js +93 -28
- package/lib/projects/upload.d.ts +1 -0
- package/lib/projects/upload.js +59 -49
- package/lib/projects/watch.d.ts +2 -1
- package/lib/projects/watch.js +32 -24
- package/lib/projects/workspaces.d.ts +52 -0
- package/lib/projects/workspaces.js +365 -0
- package/lib/prompts/createApiSamplePrompt.js +4 -0
- package/lib/prompts/downloadProjectPrompt.js +11 -10
- package/lib/prompts/installAppPrompt.js +3 -2
- package/lib/prompts/personalAccessKeyPrompt.js +3 -2
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
- package/lib/prompts/projectDevTargetAccountPrompt.js +23 -16
- package/lib/prompts/projectProfilePrompt.d.ts +2 -0
- package/lib/prompts/projectProfilePrompt.js +46 -0
- package/lib/prompts/projectsLogsPrompt.js +3 -0
- package/lib/prompts/promptUtils.js +4 -2
- package/lib/prompts/selectHubDBTablePrompt.js +8 -4
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
- package/lib/sandboxes.d.ts +1 -9
- package/lib/sandboxes.js +0 -21
- package/lib/serverlessLogs.js +50 -44
- package/lib/theme/cmsDevServerProcess.d.ts +14 -0
- package/lib/theme/cmsDevServerProcess.js +149 -0
- package/lib/theme/cmsDevServerRunner.d.ts +14 -0
- package/lib/theme/cmsDevServerRunner.js +90 -0
- package/lib/theme/migrate.d.ts +1 -1
- package/lib/theme/migrate.js +1 -5
- package/lib/ui/SpinniesManager.d.ts +1 -0
- package/lib/ui/SpinniesManager.js +22 -6
- package/lib/ui/accountTable.d.ts +8 -0
- package/lib/ui/accountTable.js +67 -0
- package/lib/ui/spinniesUtils.d.ts +0 -1
- package/lib/ui/spinniesUtils.js +6 -16
- package/lib/usageTracking.d.ts +3 -4
- package/lib/usageTracking.js +9 -6
- package/lib/yargs/makeYargsBuilder.d.ts +13 -0
- package/lib/yargs/makeYargsBuilder.js +33 -0
- package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
- package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
- package/lib/yargs/parseYargsOrExit.d.ts +4 -0
- package/lib/yargs/parseYargsOrExit.js +25 -0
- package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
- package/lib/yargs/strictEnforceBoolean.js +13 -0
- package/lib/yargsUtils.d.ts +3 -16
- package/lib/yargsUtils.js +3 -48
- package/mcp-server/Tool.d.ts +15 -0
- package/mcp-server/Tool.js +53 -0
- package/mcp-server/server.js +43 -3
- package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +9 -7
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsCreateModuleTool.js +9 -7
- package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +9 -7
- package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +9 -7
- package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsListFunctionsTool.js +9 -7
- package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsListTool.js +9 -7
- package/mcp-server/tools/index.d.ts +3 -2
- package/mcp-server/tools/index.js +24 -22
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +25 -5
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +16 -18
- package/mcp-server/tools/project/CreateProjectTool.d.ts +29 -6
- package/mcp-server/tools/project/CreateProjectTool.js +16 -18
- package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
- package/mcp-server/tools/project/CreateTestAccountTool.js +22 -10
- package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
- package/mcp-server/tools/project/DeployProjectTool.js +6 -8
- package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
- package/mcp-server/tools/project/DocFetchTool.js +8 -6
- package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
- package/mcp-server/tools/project/DocsSearchTool.js +32 -9
- package/mcp-server/tools/project/FindProjectsTool.d.ts +15 -0
- package/mcp-server/tools/project/FindProjectsTool.js +60 -0
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +13 -14
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
- package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
- package/mcp-server/tools/project/GetBuildLogsTool.d.ts +6 -4
- package/mcp-server/tools/project/GetBuildLogsTool.js +15 -14
- package/mcp-server/tools/project/GetBuildStatusTool.d.ts +5 -3
- package/mcp-server/tools/project/GetBuildStatusTool.js +12 -11
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
- package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +10 -3
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +5 -12
- package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
- package/mcp-server/tools/project/UploadProjectTools.js +11 -9
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
- package/mcp-server/tools/project/ValidateProjectTool.js +10 -8
- package/mcp-server/tools/project/constants.d.ts +13 -1
- package/mcp-server/tools/project/constants.js +13 -16
- package/mcp-server/types.d.ts +0 -7
- package/mcp-server/types.js +1 -13
- package/mcp-server/utils/command.d.ts +5 -0
- package/mcp-server/utils/command.js +24 -0
- package/mcp-server/utils/feedbackTracking.js +2 -17
- package/mcp-server/utils/logger.d.ts +10 -0
- package/mcp-server/utils/logger.js +29 -0
- package/mcp-server/utils/toolUsageTracking.js +0 -2
- package/package.json +15 -11
- package/types/Link.d.ts +32 -0
- package/types/Link.js +5 -0
- package/types/LocalDev.d.ts +5 -0
- package/types/PackageJson.d.ts +1 -0
- package/types/Projects.d.ts +19 -0
- package/types/Prompts.d.ts +1 -0
- package/types/Yargs.d.ts +19 -1
- package/ui/components/getStarted/GetStartedFlow.js +79 -2
- package/ui/components/getStarted/reducer.d.ts +20 -0
- package/ui/components/getStarted/reducer.js +36 -0
- package/ui/components/getStarted/screens/InstallationScreen.d.ts +7 -0
- package/ui/components/getStarted/screens/InstallationScreen.js +16 -0
- package/ui/components/getStarted/screens/ProjectSetupScreen.js +2 -1
- package/ui/lib/constants.d.ts +1 -0
- package/ui/lib/constants.js +1 -0
- package/api/__tests__/migrate.test.d.ts +0 -1
- package/api/__tests__/migrate.test.js +0 -199
- package/commands/__tests__/account.test.d.ts +0 -1
- package/commands/__tests__/account.test.js +0 -69
- package/commands/__tests__/auth.test.d.ts +0 -1
- package/commands/__tests__/auth.test.js +0 -43
- package/commands/__tests__/cms.test.d.ts +0 -1
- package/commands/__tests__/cms.test.js +0 -87
- package/commands/__tests__/config.test.d.ts +0 -1
- package/commands/__tests__/config.test.js +0 -44
- package/commands/__tests__/customObject.test.d.ts +0 -1
- package/commands/__tests__/customObject.test.js +0 -68
- package/commands/__tests__/doctor.test.d.ts +0 -1
- package/commands/__tests__/doctor.test.js +0 -132
- package/commands/__tests__/feedback.test.d.ts +0 -1
- package/commands/__tests__/feedback.test.js +0 -24
- package/commands/__tests__/filemanager.test.d.ts +0 -1
- package/commands/__tests__/filemanager.test.js +0 -45
- package/commands/__tests__/getStarted.test.d.ts +0 -1
- package/commands/__tests__/getStarted.test.js +0 -173
- package/commands/__tests__/hubdb.test.d.ts +0 -1
- package/commands/__tests__/hubdb.test.js +0 -50
- package/commands/__tests__/init.test.d.ts +0 -1
- package/commands/__tests__/init.test.js +0 -42
- package/commands/__tests__/mcp.test.d.ts +0 -1
- package/commands/__tests__/mcp.test.js +0 -46
- package/commands/__tests__/open.test.d.ts +0 -1
- package/commands/__tests__/open.test.js +0 -58
- package/commands/__tests__/project.test.d.ts +0 -1
- package/commands/__tests__/project.test.js +0 -125
- package/commands/__tests__/sandbox.test.d.ts +0 -1
- package/commands/__tests__/sandbox.test.js +0 -44
- package/commands/__tests__/secret.test.d.ts +0 -1
- package/commands/__tests__/secret.test.js +0 -49
- package/commands/__tests__/testAccount.test.d.ts +0 -1
- package/commands/__tests__/testAccount.test.js +0 -57
- package/commands/__tests__/upgrade.test.d.ts +0 -1
- package/commands/__tests__/upgrade.test.js +0 -309
- package/commands/account/__tests__/auth.test.d.ts +0 -1
- package/commands/account/__tests__/auth.test.js +0 -206
- package/commands/account/__tests__/clean.test.d.ts +0 -1
- package/commands/account/__tests__/clean.test.js +0 -28
- package/commands/account/__tests__/createOverride.test.d.ts +0 -1
- package/commands/account/__tests__/createOverride.test.js +0 -32
- package/commands/account/__tests__/info.test.d.ts +0 -1
- package/commands/account/__tests__/info.test.js +0 -28
- package/commands/account/__tests__/list.test.d.ts +0 -1
- package/commands/account/__tests__/list.test.js +0 -153
- package/commands/account/__tests__/remove.test.d.ts +0 -1
- package/commands/account/__tests__/remove.test.js +0 -36
- package/commands/account/__tests__/removeOverride.d.ts +0 -1
- package/commands/account/__tests__/removeOverride.js +0 -25
- package/commands/account/__tests__/rename.test.d.ts +0 -1
- package/commands/account/__tests__/rename.test.js +0 -82
- package/commands/account/__tests__/use.test.d.ts +0 -1
- package/commands/account/__tests__/use.test.js +0 -170
- package/commands/app/__tests__/migrate.test.d.ts +0 -1
- package/commands/app/__tests__/migrate.test.js +0 -111
- package/commands/app/secret/__tests__/add.test.d.ts +0 -1
- package/commands/app/secret/__tests__/add.test.js +0 -140
- package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
- package/commands/app/secret/__tests__/delete.test.js +0 -28
- package/commands/app/secret/__tests__/list.test.d.ts +0 -1
- package/commands/app/secret/__tests__/list.test.js +0 -25
- package/commands/app/secret/__tests__/update.test.d.ts +0 -1
- package/commands/app/secret/__tests__/update.test.js +0 -28
- package/commands/cms/__tests__/delete.test.d.ts +0 -1
- package/commands/cms/__tests__/delete.test.js +0 -39
- package/commands/cms/__tests__/fetch.test.d.ts +0 -1
- package/commands/cms/__tests__/fetch.test.js +0 -156
- package/commands/cms/__tests__/function.test.d.ts +0 -1
- package/commands/cms/__tests__/function.test.js +0 -50
- package/commands/cms/__tests__/lint.test.d.ts +0 -1
- package/commands/cms/__tests__/lint.test.js +0 -33
- package/commands/cms/__tests__/list.test.d.ts +0 -1
- package/commands/cms/__tests__/list.test.js +0 -42
- package/commands/cms/__tests__/module.test.d.ts +0 -1
- package/commands/cms/__tests__/module.test.js +0 -45
- package/commands/cms/__tests__/mv.test.d.ts +0 -1
- package/commands/cms/__tests__/mv.test.js +0 -46
- package/commands/cms/__tests__/theme.test.d.ts +0 -1
- package/commands/cms/__tests__/theme.test.js +0 -54
- package/commands/cms/__tests__/upload.test.d.ts +0 -1
- package/commands/cms/__tests__/upload.test.js +0 -308
- package/commands/cms/__tests__/watch.test.d.ts +0 -1
- package/commands/cms/__tests__/watch.test.js +0 -212
- package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
- package/commands/cms/function/__tests__/logs.test.js +0 -70
- package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
- package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
- package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
- package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
- package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
- package/commands/cms/theme/__tests__/preview.test.js +0 -54
- package/commands/customObject/__tests__/create.test.d.ts +0 -1
- package/commands/customObject/__tests__/create.test.js +0 -40
- package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/createSchema.test.js +0 -28
- package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
- package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
- package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
- package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
- package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
- package/commands/customObject/__tests__/listSchemas.test.js +0 -29
- package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/updateSchema.test.js +0 -40
- package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
- package/commands/filemanager/__tests__/fetch.test.js +0 -32
- package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
- package/commands/filemanager/__tests__/upload.test.js +0 -191
- package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
- package/commands/hubdb/__tests__/clear.test.js +0 -28
- package/commands/hubdb/__tests__/create.test.d.ts +0 -1
- package/commands/hubdb/__tests__/create.test.js +0 -28
- package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
- package/commands/hubdb/__tests__/delete.test.js +0 -28
- package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
- package/commands/hubdb/__tests__/fetch.test.js +0 -28
- package/commands/hubdb/__tests__/list.test.d.ts +0 -1
- package/commands/hubdb/__tests__/list.test.js +0 -88
- package/commands/mcp/__tests__/setup.test.d.ts +0 -1
- package/commands/mcp/__tests__/setup.test.js +0 -26
- package/commands/mcp/__tests__/start.test.d.ts +0 -1
- package/commands/mcp/__tests__/start.test.js +0 -137
- package/commands/project/__tests__/add.test.d.ts +0 -1
- package/commands/project/__tests__/add.test.js +0 -107
- package/commands/project/__tests__/create.test.d.ts +0 -1
- package/commands/project/__tests__/create.test.js +0 -97
- package/commands/project/__tests__/deploy.test.d.ts +0 -1
- package/commands/project/__tests__/deploy.test.js +0 -307
- package/commands/project/__tests__/dev.test.d.ts +0 -1
- package/commands/project/__tests__/dev.test.js +0 -273
- package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
- package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
- package/commands/project/__tests__/download.test.d.ts +0 -1
- package/commands/project/__tests__/download.test.js +0 -39
- package/commands/project/__tests__/installDeps.test.d.ts +0 -1
- package/commands/project/__tests__/installDeps.test.js +0 -140
- package/commands/project/__tests__/lint.test.d.ts +0 -1
- package/commands/project/__tests__/lint.test.js +0 -704
- package/commands/project/__tests__/list.test.d.ts +0 -1
- package/commands/project/__tests__/list.test.js +0 -31
- package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
- package/commands/project/__tests__/listBuilds.test.js +0 -38
- package/commands/project/__tests__/logs.test.d.ts +0 -1
- package/commands/project/__tests__/logs.test.js +0 -202
- package/commands/project/__tests__/migrate.test.d.ts +0 -1
- package/commands/project/__tests__/migrate.test.js +0 -106
- package/commands/project/__tests__/open.test.d.ts +0 -1
- package/commands/project/__tests__/open.test.js +0 -39
- package/commands/project/__tests__/profile.test.d.ts +0 -1
- package/commands/project/__tests__/profile.test.js +0 -42
- package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
- package/commands/project/__tests__/updateDeps.test.js +0 -140
- package/commands/project/__tests__/upload.test.d.ts +0 -1
- package/commands/project/__tests__/upload.test.js +0 -234
- package/commands/project/__tests__/validate.test.d.ts +0 -1
- package/commands/project/__tests__/validate.test.js +0 -381
- package/commands/project/__tests__/watch.test.d.ts +0 -1
- package/commands/project/__tests__/watch.test.js +0 -35
- package/commands/sandbox/__tests__/create.test.d.ts +0 -1
- package/commands/sandbox/__tests__/create.test.js +0 -245
- package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
- package/commands/sandbox/__tests__/delete.test.js +0 -31
- package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/addSecret.test.js +0 -162
- package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/deleteSecret.test.js +0 -41
- package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/listSecret.test.js +0 -29
- package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/updateSecret.test.js +0 -29
- package/commands/testAccount/__tests__/create.test.d.ts +0 -1
- package/commands/testAccount/__tests__/create.test.js +0 -106
- package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
- package/commands/testAccount/__tests__/createConfig.test.js +0 -32
- package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
- package/commands/testAccount/__tests__/delete.test.js +0 -29
- package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
- package/commands/testAccount/__tests__/importData.test.js +0 -92
- package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
- package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
- package/lib/__tests__/accountAuth.test.d.ts +0 -1
- package/lib/__tests__/accountAuth.test.js +0 -258
- package/lib/__tests__/accountTypes.test.d.ts +0 -1
- package/lib/__tests__/accountTypes.test.js +0 -98
- package/lib/__tests__/buildAccount.test.d.ts +0 -1
- package/lib/__tests__/buildAccount.test.js +0 -262
- package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
- package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
- package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
- package/lib/__tests__/commandSuggestion.test.js +0 -119
- package/lib/__tests__/commonOpts.test.d.ts +0 -1
- package/lib/__tests__/commonOpts.test.js +0 -80
- package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
- package/lib/__tests__/dependencyManagement.test.js +0 -1067
- package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
- package/lib/__tests__/developerTestAccounts.test.js +0 -156
- package/lib/__tests__/hasFeature.test.d.ts +0 -1
- package/lib/__tests__/hasFeature.test.js +0 -167
- package/lib/__tests__/http.test.d.ts +0 -1
- package/lib/__tests__/http.test.js +0 -40
- package/lib/__tests__/importData.test.d.ts +0 -1
- package/lib/__tests__/importData.test.js +0 -98
- package/lib/__tests__/npmCli.test.d.ts +0 -1
- package/lib/__tests__/npmCli.test.js +0 -84
- package/lib/__tests__/oauth.test.d.ts +0 -1
- package/lib/__tests__/oauth.test.js +0 -109
- package/lib/__tests__/parsing.test.d.ts +0 -1
- package/lib/__tests__/parsing.test.js +0 -34
- package/lib/__tests__/polling.test.d.ts +0 -1
- package/lib/__tests__/polling.test.js +0 -76
- package/lib/__tests__/process.test.d.ts +0 -1
- package/lib/__tests__/process.test.js +0 -89
- package/lib/__tests__/sandboxSync.test.d.ts +0 -1
- package/lib/__tests__/sandboxSync.test.js +0 -147
- package/lib/__tests__/sandboxes.test.d.ts +0 -1
- package/lib/__tests__/sandboxes.test.js +0 -156
- package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
- package/lib/__tests__/serverlessLogs.test.js +0 -148
- package/lib/__tests__/usageTracking.test.d.ts +0 -1
- package/lib/__tests__/usageTracking.test.js +0 -197
- package/lib/__tests__/validation.test.d.ts +0 -1
- package/lib/__tests__/validation.test.js +0 -143
- package/lib/__tests__/yargsUtils.test.d.ts +0 -1
- package/lib/__tests__/yargsUtils.test.js +0 -124
- package/lib/app/__tests__/migrate.test.d.ts +0 -1
- package/lib/app/__tests__/migrate.test.js +0 -638
- package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
- package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
- package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
- package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
- package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
- package/lib/doctor/__tests__/Doctor.test.js +0 -560
- package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
- package/lib/errorHandlers/__tests__/index.test.js +0 -278
- package/lib/mcp/__tests__/setup.test.d.ts +0 -1
- package/lib/mcp/__tests__/setup.test.js +0 -194
- package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
- package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
- package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
- package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
- package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
- package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
- package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
- package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
- package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
- package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
- package/lib/projects/__tests__/DevServerManager.test.js +0 -185
- package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
- package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
- package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
- package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
- package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
- package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
- package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
- package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
- package/lib/projects/__tests__/components.test.d.ts +0 -1
- package/lib/projects/__tests__/components.test.js +0 -426
- package/lib/projects/__tests__/deploy.test.d.ts +0 -1
- package/lib/projects/__tests__/deploy.test.js +0 -231
- package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
- package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
- package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
- package/lib/projects/__tests__/platformVersion.test.js +0 -63
- package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
- package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
- package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
- package/lib/projects/__tests__/projectProfiles.test.js +0 -441
- package/lib/projects/__tests__/projects.test.d.ts +0 -1
- package/lib/projects/__tests__/projects.test.js +0 -58
- package/lib/projects/__tests__/structure.test.d.ts +0 -1
- package/lib/projects/__tests__/structure.test.js +0 -210
- package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
- package/lib/projects/__tests__/uieLinting.test.js +0 -631
- package/lib/projects/__tests__/upload.test.d.ts +0 -1
- package/lib/projects/__tests__/upload.test.js +0 -183
- package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
- package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
- package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
- package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
- package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
- package/lib/projects/create/__tests__/legacy.test.js +0 -90
- package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
- package/lib/projects/create/__tests__/v2.test.js +0 -257
- package/lib/projects/platformVersion.d.ts +0 -9
- package/lib/projects/platformVersion.js +0 -39
- package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
- package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
- package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
- package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
- package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
- package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
- package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
- package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
- package/lib/sandboxSync.d.ts +0 -4
- package/lib/sandboxSync.js +0 -102
- package/lib/theme/__tests__/migrate.test.d.ts +0 -1
- package/lib/theme/__tests__/migrate.test.js +0 -256
- package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
- package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
- package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
- package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
- package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -255
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -228
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -209
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -187
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -125
- package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -125
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -158
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -133
- package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -462
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -126
- package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
- package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -178
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
- package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
- package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -179
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
- package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/command.test.js +0 -45
- package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/content.test.js +0 -164
- package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -124
- package/mcp-server/utils/__tests__/project.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/project.test.js +0 -140
- package/mcp-server/utils/project.d.ts +0 -5
- package/mcp-server/utils/project.js +0 -18
package/lang/en.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { mapToUserFriendlyName } from '@hubspot/project-parsing-lib/transform';
|
|
3
|
-
import { PLATFORM_VERSIONS } from '@hubspot/
|
|
3
|
+
import { PLATFORM_VERSIONS } from '@hubspot/project-parsing-lib/constants';
|
|
4
4
|
import { PERSONAL_ACCESS_KEY_AUTH_METHOD } from '@hubspot/local-dev-lib/constants/auth';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { LOCAL_DEV_DEFAULT_PORT } from '../lib/constants.js';
|
|
6
|
+
import { ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME, DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME, GLOBAL_CONFIG_PATH, } from '@hubspot/local-dev-lib/constants/config';
|
|
7
|
+
import { indent, UI_COLORS, uiAccountDescription, uiAuthCommandReference, uiBetaTag, uiCommandReference, uiLink, } from '../lib/ui/index.js';
|
|
8
|
+
import { getLocalDevUiUrl, getProjectDetailUrl, getProjectSettingsUrl, } from '../lib/projects/urls.js';
|
|
8
9
|
import { getProductUpdatesUrl } from '../lib/links.js';
|
|
9
|
-
import { APP_DISTRIBUTION_TYPES,
|
|
10
|
+
import { APP_AUTH_TYPES, APP_DISTRIBUTION_TYPES, LEGACY_PUBLIC_APP_FILE, PROJECT_CONFIG_FILE, PROJECT_WITH_APP, } from '../lib/constants.js';
|
|
10
11
|
export const commands = {
|
|
11
12
|
generalErrors: {
|
|
12
13
|
srcIsProject: (src, command) => `"${src}" is in a project folder. Did you mean "hs project ${command}"?`,
|
|
@@ -51,6 +52,11 @@ export const commands = {
|
|
|
51
52
|
checkOutConfig: (configPath) => `Check out ${chalk.cyan(configPath)} for the full configuration.`,
|
|
52
53
|
pressEnterToInstall: (accountName) => `? Press ${chalk.bold('<enter>')} to continue installing and previewing this app in ${chalk.bold(accountName)}`,
|
|
53
54
|
pressKeyToExit: `Press any key to exit...`,
|
|
55
|
+
installingApp: (appName, accountName) => `Installing ${chalk.bold(appName)} in ${chalk.bold(accountName)}...`,
|
|
56
|
+
installInstructions: `We'll take you to your HubSpot account and walk you through installing your app.`,
|
|
57
|
+
browserFailedToOpen: (url) => `⚠️ Failed to open browser automatically. Please open this URL manually:\n${chalk.cyan(url)}`,
|
|
58
|
+
pollingTimeout: (minutes) => `⚠️ Installation polling timed out after ${minutes} minutes. The app may still be installing in the background.`,
|
|
59
|
+
pressEnterToContinueSetup: `Press ${chalk.bold('<enter>')} to continue with card setup...`,
|
|
54
60
|
prompts: {
|
|
55
61
|
selectOptionV2: 'Choose a component type to get started',
|
|
56
62
|
options: {
|
|
@@ -132,8 +138,12 @@ export const commands = {
|
|
|
132
138
|
},
|
|
133
139
|
list: {
|
|
134
140
|
accounts: `${chalk.bold('Accounts')}:`,
|
|
141
|
+
allAccounts: `${chalk.bold('All Accounts')}:`,
|
|
142
|
+
linkedAccounts: `${chalk.bold('Linked Accounts')}:`,
|
|
135
143
|
defaultAccountTitle: `${chalk.bold('Default Account')}`,
|
|
144
|
+
linkedDefaultTitle: `${chalk.bold('Linked Default Account')}`,
|
|
136
145
|
currentResolvedDefaultAccount: (accountId) => `Account: ${uiAccountDescription(accountId)}`,
|
|
146
|
+
directory: (dir) => `Directory: ${dir}`,
|
|
137
147
|
describe: 'List names of accounts defined in config.',
|
|
138
148
|
configPath: (configPath) => `Source: ${configPath}`,
|
|
139
149
|
overrideFilePathTitle: `${chalk.bold('Default Account Override')}`,
|
|
@@ -180,6 +190,70 @@ export const commands = {
|
|
|
180
190
|
success: {
|
|
181
191
|
defaultAccountUpdated: (accountName) => `Default account updated to "${accountName}"`,
|
|
182
192
|
},
|
|
193
|
+
linked: {
|
|
194
|
+
editingLinkedDefault: (dir) => `Editing the default linked account for this directory (not the global default):\n${indent(1)}${dir}`,
|
|
195
|
+
alreadyDefault: (accountId) => `${uiAccountDescription(accountId)} is the only linked account and is already the default.`,
|
|
196
|
+
setLinkedDefault: (account) => `Linked default set to ${chalk.cyan(account)}`,
|
|
197
|
+
accountNotLinked: (account) => `${account} is not linked to this directory.`,
|
|
198
|
+
promptToLink: (account) => `Would you like to link ${account} to this directory?`,
|
|
199
|
+
settingGlobalDefault: 'Setting global default instead.',
|
|
200
|
+
nonInteractiveNotLinked: (account) => `${account} is not linked to this directory. Setting global default instead.`,
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
link: {
|
|
204
|
+
describe: 'Link authenticated HubSpot accounts to the current directory',
|
|
205
|
+
verboseDescribe: `Link one or more authenticated HubSpot accounts to the current directory. Linked accounts are saved in a local ${chalk.bold('.hs/settings.json')} file (added to .gitignore automatically).\n\nThis lets the CLI know which account to use when you run commands from this directory, without changing the global default. Run ${uiCommandReference('hs account current')} to see the active configuration.`,
|
|
206
|
+
shared: {
|
|
207
|
+
noLinkedAccounts: 'No HubSpot accounts are linked in this directory.',
|
|
208
|
+
globalAccountsAvailable: (count) => `You have ${chalk.cyan(count.toString())} ${count === 1 ? 'account' : 'accounts'} in your global config.`,
|
|
209
|
+
configurePrompt: `To configure this directory, run:\n${indent(1)}${uiCommandReference('hs account link')}`,
|
|
210
|
+
deprecatedConfigNotSupported: (command) => `${uiCommandReference(command)} does not support deprecated config. Run ${uiCommandReference('hs config migrate')} to migrate to global config. Then re-run ${uiCommandReference(command)}`,
|
|
211
|
+
writeSettingsFailed: (path, err) => `Failed to write to ${path}: ${err}`,
|
|
212
|
+
savedToSettings: (path) => `Saved to ${path}`,
|
|
213
|
+
usingLinkedAccounts: (settingsPath) => `This directory has linked accounts via ${settingsPath}. Only linked accounts will be available for this command. To manage linked accounts, run ${uiCommandReference('hs account link')}.`,
|
|
214
|
+
accountAutoLinked: (accountId) => `Automatically linked ${uiAccountDescription(accountId)} to this directory.`,
|
|
215
|
+
accountAutoLinkFailed: (accountId) => `Could not automatically link ${uiAccountDescription(accountId)} to this directory. Run ${uiCommandReference('hs account link')} to link it manually.`,
|
|
216
|
+
},
|
|
217
|
+
linkingDirectory: (dir) => `Linking HubSpot account(s) for directory:\n${indent(1)}${dir}`,
|
|
218
|
+
managingLinkedAccounts: (dir) => `Managing linked accounts for:\n${indent(1)}${dir}`,
|
|
219
|
+
settingsInfo: (path) => `\u2139 Accounts linked here are saved in ${path}`,
|
|
220
|
+
success: {
|
|
221
|
+
created: (path) => `Linked to ${path} (created .hs and added to .gitignore).\n${indent(1)}Now when you work within this directory, the CLI will use the linked account(s).`,
|
|
222
|
+
},
|
|
223
|
+
errors: {
|
|
224
|
+
authFailed: `Authentication failed to complete`,
|
|
225
|
+
},
|
|
226
|
+
events: {
|
|
227
|
+
accountsLinked: (count) => `Linked ${count} account${count !== 1 ? 's' : ''}`,
|
|
228
|
+
accountsUnlinked: (count) => `Unlinked ${count} account${count !== 1 ? 's' : ''}`,
|
|
229
|
+
overrideAccountDetected: (accountId) => `\nCurrent default account (from .hsaccount):\n${indent(1)}${uiAccountDescription(accountId)}`,
|
|
230
|
+
defaultAccountSet: (accountId) => `Linked default account set to ${chalk.cyan(uiAccountDescription(accountId))}`,
|
|
231
|
+
defaultAccountRemoved: (isSelectionRequired) => `The linked default account was removed. ${isSelectionRequired ? 'A linked default account is required.\n' : ''}`,
|
|
232
|
+
defaultAccountRemains: (accountId) => `Linked default account remains ${chalk.cyan(uiAccountDescription(accountId))}`,
|
|
233
|
+
updatedLinkedAccounts: 'Updated linked accounts',
|
|
234
|
+
noAccountsLinked: `All accounts have been unlinked. Your global config accounts will be used.\n${indent(1)}The ${chalk.bold('.hs')} directory is no longer needed and can be safely deleted.`,
|
|
235
|
+
overrideFileRemoved: '.hsaccount file removed',
|
|
236
|
+
invalidDefaultAccount: (accountId) => `Default account ${uiAccountDescription(accountId)} is not in the linked accounts list and has been reset. Please select a new default.`,
|
|
237
|
+
},
|
|
238
|
+
prompts: {
|
|
239
|
+
howToProceed: 'How would you like to link an account?',
|
|
240
|
+
whatToDo: 'Which action would you like to perform?',
|
|
241
|
+
linkExisting: 'Link existing authenticated account(s)',
|
|
242
|
+
authenticateNew: 'Authenticate and link a new account',
|
|
243
|
+
cancel: 'Cancel',
|
|
244
|
+
selectDefault: 'Select a linked default account',
|
|
245
|
+
selectToLink: 'Select authenticated account(s) to link:',
|
|
246
|
+
selectToUnlink: 'Select account(s) to unlink',
|
|
247
|
+
alreadyLinked: '- Already linked',
|
|
248
|
+
fromHsAccount: '(from .hsaccount)',
|
|
249
|
+
newlyAuthenticated: '(just authenticated)',
|
|
250
|
+
mustSelectOne: 'You must select at least one account to link',
|
|
251
|
+
keepAsDefault: 'Keep this as the default?',
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
unlink: {
|
|
255
|
+
describe: 'Unlink HubSpot account(s) from the current directory',
|
|
256
|
+
verboseDescribe: `Remove one or more linked accounts from this directory's ${chalk.bold('.hs/settings.json')}. If the default account is removed, you will be prompted to select a new one.\n\nThis does not delete the account from the global config - it only removes the local association.`,
|
|
183
257
|
},
|
|
184
258
|
remove: {
|
|
185
259
|
describe: 'Remove an account from the config.',
|
|
@@ -248,6 +322,9 @@ export const commands = {
|
|
|
248
322
|
},
|
|
249
323
|
name: (name) => `${chalk.bold('Account name')}: ${name}`,
|
|
250
324
|
scopeGroups: `${chalk.bold('Scopes available')}:`,
|
|
325
|
+
linkedDefaultTitle: `${chalk.bold('Linked Default Account')}`,
|
|
326
|
+
settingsPath: (path) => `Source: ${path}`,
|
|
327
|
+
linkedDefault: (account) => `Account: ${account}`,
|
|
251
328
|
},
|
|
252
329
|
clean: {
|
|
253
330
|
describe: 'Check for inactive accounts and removes them from the CLI config.',
|
|
@@ -604,11 +681,6 @@ export const commands = {
|
|
|
604
681
|
src: 'Path to the local directory your files are in, relative to your current working directory',
|
|
605
682
|
dest: 'Path in HubSpot Design Tools. Can be a net new path',
|
|
606
683
|
},
|
|
607
|
-
warnings: {
|
|
608
|
-
disableInitial: `Passing the "${chalk.bold('--disable-initial')}" option is no longer necessary. Running "${uiCommandReference('hs watch')}" no longer uploads the watched directory by default.`,
|
|
609
|
-
initialUpload: `To upload the directory run "${uiCommandReference('hs upload')}" beforehand or add the "${chalk.bold('--initial-upload')}" option when running "${uiCommandReference('hs watch')}".`,
|
|
610
|
-
notUploaded: (path) => `The "${uiCommandReference('hs watch')}" command no longer uploads the watched directory when started. The directory "${path}" was not uploaded.`,
|
|
611
|
-
},
|
|
612
684
|
},
|
|
613
685
|
fetch: {
|
|
614
686
|
describe: 'Fetch a file, directory or module from HubSpot and write to a path on your computer.',
|
|
@@ -1266,7 +1338,6 @@ export const commands = {
|
|
|
1266
1338
|
},
|
|
1267
1339
|
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')}.`,
|
|
1268
1340
|
errors: {
|
|
1269
|
-
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))}`,
|
|
1270
1341
|
errorParsingJsonFIle: (filename, errorMessage) => `Unable to update ${chalk.bold(filename)} due to invalid JSON: ${errorMessage}`,
|
|
1271
1342
|
},
|
|
1272
1343
|
spinners: {
|
|
@@ -1306,6 +1377,8 @@ export const commands = {
|
|
|
1306
1377
|
prompts: {
|
|
1307
1378
|
targets: '[--client] Which tools would you like to add the HubSpot CLI MCP server to?',
|
|
1308
1379
|
targetsRequired: 'Must choose at least one app to configure.',
|
|
1380
|
+
standaloneMode: 'Do you want to run in standalone mode? (This will use npx @hubspot/cli instead of the installed hs command)',
|
|
1381
|
+
cliVersion: 'Specify a CLI version to pin (leave blank for latest):',
|
|
1309
1382
|
},
|
|
1310
1383
|
},
|
|
1311
1384
|
start: {
|
|
@@ -1319,6 +1392,30 @@ export const commands = {
|
|
|
1319
1392
|
shuttingDown: 'Shutting down MCP server...',
|
|
1320
1393
|
},
|
|
1321
1394
|
},
|
|
1395
|
+
api: {
|
|
1396
|
+
describe: 'Make an authenticated HTTP request to any HubSpot API endpoint that supports PAKs.',
|
|
1397
|
+
verboseDescribe: `Make an authenticated HTTP request to any HubSpot API that supports PAKs using your CLI authentication.\n\nThis command is intended for testing and exploration of HubSpot APIs. It uses the authentication credentials configured in the CLI to make requests on your behalf.\n\nThe endpoint should be the API path, e.g. ${chalk.bold('/crm/v3/objects/contacts')}. The request will be authenticated using the account specified by ${uiCommandReference('--account')} or the default account.\n\nNote: The available endpoints depend on the scopes granted to your personal access key. If you receive a 403 error, check that your key includes the required scopes for the endpoint you are trying to reach. ${uiLink('Learn more about the HubSpot API', 'https://developers.hubspot.com/docs/api-reference/latest/overview')}`,
|
|
1398
|
+
positionals: {
|
|
1399
|
+
endpoint: {
|
|
1400
|
+
describe: 'API endpoint path (e.g. /crm/v3/objects/contacts)',
|
|
1401
|
+
},
|
|
1402
|
+
},
|
|
1403
|
+
options: {
|
|
1404
|
+
method: {
|
|
1405
|
+
describe: 'HTTP method to use. Defaults to GET, or POST if --data is provided',
|
|
1406
|
+
},
|
|
1407
|
+
data: {
|
|
1408
|
+
describe: 'JSON-formatted request body for POST, PUT, and PATCH requests',
|
|
1409
|
+
},
|
|
1410
|
+
},
|
|
1411
|
+
requestLog: (method, url) => `${chalk.bold(method)} ${url}`,
|
|
1412
|
+
requestBodyLog: (body) => `Request body: ${body}`,
|
|
1413
|
+
responseLog: 'Response:',
|
|
1414
|
+
errors: {
|
|
1415
|
+
invalidJson: 'The value passed to --data is not valid JSON. Please provide a valid JSON string.',
|
|
1416
|
+
statusLine: (status, statusText) => `${chalk.red(`${status} ${statusText}`)}`,
|
|
1417
|
+
},
|
|
1418
|
+
},
|
|
1322
1419
|
open: {
|
|
1323
1420
|
describe: 'Open a HubSpot page in your browser.',
|
|
1324
1421
|
options: {
|
|
@@ -1360,6 +1457,7 @@ export const commands = {
|
|
|
1360
1457
|
},
|
|
1361
1458
|
errors: {
|
|
1362
1459
|
noProjectConfig: 'No project config found. Please run this command from a project directory.',
|
|
1460
|
+
unsupportedPlatformVersion: 'This command is only available for projects 2025.2 and later.',
|
|
1363
1461
|
profileExists: (profileName) => `Profile ${chalk.bold(profileName)} already exists. Please choose a different name.`,
|
|
1364
1462
|
invalidTargetAccount: 'Target account is not configured in the CLI',
|
|
1365
1463
|
noAccountsConfigured: 'No accounts configured in the CLI',
|
|
@@ -1390,6 +1488,7 @@ export const commands = {
|
|
|
1390
1488
|
},
|
|
1391
1489
|
errors: {
|
|
1392
1490
|
noProjectConfig: 'No project config found. Please run this command from a project directory.',
|
|
1491
|
+
unsupportedPlatformVersion: 'This command is only available for projects 2025.2 and later.',
|
|
1393
1492
|
noProfileFound: (profileName) => `No profile with filename ${chalk.bold(profileName)} found in your project.`,
|
|
1394
1493
|
noProfilesFound: 'No profiles found in your project.',
|
|
1395
1494
|
failedToDeleteProfile: (profileName) => `Unable to delete profile ${chalk.bold(profileName)}. Please try again.`,
|
|
@@ -1423,7 +1522,7 @@ export const commands = {
|
|
|
1423
1522
|
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.`,
|
|
1424
1523
|
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')}.`,
|
|
1425
1524
|
unsupportedAccountFlagLegacy: 'The --project-account and --testing-account flags are not supported for projects with platform versions earlier than 2025.2.',
|
|
1426
|
-
unsupportedAccountFlagV2: 'The --account flag is
|
|
1525
|
+
unsupportedAccountFlagV2: 'The --account flag is not 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',
|
|
1427
1526
|
localDevAlreadyRunning: `Another ${uiCommandReference('hs project dev')} process is already running. To proceed with local development of this project, stop the existing process and re-run ${uiCommandReference('hs project dev')}.`,
|
|
1428
1527
|
},
|
|
1429
1528
|
examples: {
|
|
@@ -1437,6 +1536,7 @@ export const commands = {
|
|
|
1437
1536
|
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.',
|
|
1438
1537
|
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.',
|
|
1439
1538
|
account: 'The id of the account to upload your project to. Unsupported on platform versions 2025.2 and newer.',
|
|
1539
|
+
port: `The port for the local dev server. Defaults to ${LOCAL_DEV_DEFAULT_PORT}.`,
|
|
1440
1540
|
},
|
|
1441
1541
|
},
|
|
1442
1542
|
create: {
|
|
@@ -1447,6 +1547,9 @@ export const commands = {
|
|
|
1447
1547
|
failedToFetchProjectList: 'Failed to fetch the list of available project templates. Please try again later.',
|
|
1448
1548
|
cannotNestProjects: (projectDir) => `A project already exists at ${projectDir}. Projects cannot be nested within other projects. Please choose a different destination and try again.`,
|
|
1449
1549
|
},
|
|
1550
|
+
warnings: {
|
|
1551
|
+
betaPlatformVersion: (platformVersion) => `Your portal must be enrolled in the beta to use platform version ${platformVersion}. If you are not enrolled in the beta, your upload will fail. ${uiLink('Enroll in the beta', getProductUpdatesUrl('286886'))}`,
|
|
1552
|
+
},
|
|
1450
1553
|
logs: {
|
|
1451
1554
|
success: (projectName, projectDest) => `Project ${chalk.bold(projectName)} was successfully created in ${projectDest}`,
|
|
1452
1555
|
},
|
|
@@ -1509,7 +1612,6 @@ export const commands = {
|
|
|
1509
1612
|
},
|
|
1510
1613
|
},
|
|
1511
1614
|
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')}`,
|
|
1512
|
-
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.`,
|
|
1513
1615
|
migrationStatus: {
|
|
1514
1616
|
inProgress: () => `Converting app configuration to ${chalk.bold(LEGACY_PUBLIC_APP_FILE)} component definition ...`,
|
|
1515
1617
|
success: () => `${chalk.bold('Your app was converted and build #1 is deployed')}`,
|
|
@@ -1614,6 +1716,7 @@ export const commands = {
|
|
|
1614
1716
|
deploy: {
|
|
1615
1717
|
describe: 'Deploy a project build.',
|
|
1616
1718
|
deployBuildIdPrompt: '[--build] Deploy which build?',
|
|
1719
|
+
profileMessage: (profileName, accountId) => `Deploying with ${chalk.bold(profileName)} profile: ${uiAccountDescription(accountId)}`,
|
|
1617
1720
|
debug: {
|
|
1618
1721
|
deploying: (path) => `Deploying project at path: ${path}`,
|
|
1619
1722
|
},
|
|
@@ -1673,6 +1776,7 @@ export const commands = {
|
|
|
1673
1776
|
noFunctionsLinkText: 'Visit developer docs',
|
|
1674
1777
|
noFunctionsInProject: `There aren't any functions in this project\n\t- Run ${uiCommandReference('hs project logs --help')} to learn more about logs\n\t- ${uiLink('Visit developer docs', 'https://developers.hubspot.com/docs/platform/serverless-functions')} to learn more about serverless functions`,
|
|
1675
1778
|
noFunctionWithName: (name) => `No function with name "${name}"`,
|
|
1779
|
+
functionNameRequired: `A function name is required. Pass ${uiCommandReference('--function=<name>')} or run without it to select one interactively.`,
|
|
1676
1780
|
functionNotDeployed: (name) => `The function with name "${name}" is not deployed`,
|
|
1677
1781
|
projectLogsManagerNotInitialized: 'Function called on ProjectLogsManager before initialization',
|
|
1678
1782
|
noDeployedBuild: 'This project has not been deployed yet. Deploy the project first, then try again.',
|
|
@@ -1726,6 +1830,7 @@ export const commands = {
|
|
|
1726
1830
|
autoDeployDisabled: (deployCommand) => `Automatic deploys are disabled for this project. Run ${uiCommandReference(deployCommand)} to deploy this build.`,
|
|
1727
1831
|
},
|
|
1728
1832
|
errors: {
|
|
1833
|
+
noProjectConfig: 'No project detected. Run this command from a project directory.',
|
|
1729
1834
|
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.`,
|
|
1730
1835
|
},
|
|
1731
1836
|
options: {
|
|
@@ -1852,6 +1957,7 @@ export const commands = {
|
|
|
1852
1957
|
loading: {
|
|
1853
1958
|
checking: 'Checking lint packages and configuration…',
|
|
1854
1959
|
creatingConfig: 'Creating ESLint configuration files…',
|
|
1960
|
+
addingLintScripts: 'Adding lint scripts to package.json files…',
|
|
1855
1961
|
linting: 'Linting…',
|
|
1856
1962
|
},
|
|
1857
1963
|
noProjectConfig: 'No project detected. Run this command from a project directory.',
|
|
@@ -1871,8 +1977,17 @@ export const commands = {
|
|
|
1871
1977
|
},
|
|
1872
1978
|
createEslintConfigPrompt: (directories) => `ESLint configuration file not found in the following ${directories.length === 1 ? 'directory' : 'directories'}:\n${directories.map(d => ` - ${d}`).join('\n')}\n\nWould you like to set up the required ESLint configuration?`,
|
|
1873
1979
|
eslintConfigCreated: (configPath) => `ESLint configuration created at ${configPath}`,
|
|
1980
|
+
createEslintConfigRequiresV2Platform: (platformVersion) => {
|
|
1981
|
+
if (!platformVersion) {
|
|
1982
|
+
return 'Automatic ESLint configuration requires a Developer Platform project (2025.2 or later) with platformVersion set in hsproject.json. Add an eslint.config.js file manually, or set platformVersion and try again.';
|
|
1983
|
+
}
|
|
1984
|
+
return `Automatic ESLint configuration is not available for platform version ${platformVersion}. Use Developer Platform 2025.2 or later, or add eslint.config.js manually.`;
|
|
1985
|
+
},
|
|
1986
|
+
failedToFetchRemoteEslintConfig: (platformVersion) => `Could not download the ESLint config from HubSpot project components for platform version ${platformVersion}. Check your network connection and try again, or add eslint.config.js manually.`,
|
|
1874
1987
|
failedToCreateEslintConfig: (configPath) => `Failed to create ESLint configuration at ${configPath}`,
|
|
1875
1988
|
eslintConfigRequired: 'ESLint configuration is required to run the lint command. Run the command again to create the configuration.',
|
|
1989
|
+
lintScriptsAdded: (scriptNames, packageJsonPath) => `Added ${scriptNames.map(s => `"${s}"`).join(' and ')} to ${packageJsonPath}`,
|
|
1990
|
+
failedToAddLintScripts: (packageJsonPath) => `Failed to add lint scripts to ${packageJsonPath}`,
|
|
1876
1991
|
},
|
|
1877
1992
|
updateDeps: {
|
|
1878
1993
|
help: {
|
|
@@ -1927,6 +2042,99 @@ export const commands = {
|
|
|
1927
2042
|
noProjectsFound: (accountId) => `No projects found for account ${uiAccountDescription(accountId)}`,
|
|
1928
2043
|
},
|
|
1929
2044
|
},
|
|
2045
|
+
info: {
|
|
2046
|
+
describe: 'Display information about a project, its app, and its components',
|
|
2047
|
+
verboseDescribe: `Display information about a project, its app, and its components\n\nShows the project's platform version, deployed build ID, auto-deploy status, app metadata, and a list of components.\n\nRun ${uiCommandReference('hs project info --json')} to output the result as JSON for scripting.`,
|
|
2048
|
+
project: {
|
|
2049
|
+
title: (name) => `Project: ${name}`,
|
|
2050
|
+
platformVersion: (version) => `Platform Version: ${version}`,
|
|
2051
|
+
id: (id) => `Project ID: ${id}`,
|
|
2052
|
+
deployedBuild: (buildId) => `Deployed Build: #${buildId}`,
|
|
2053
|
+
autoDeploy: (enabled) => `Auto-deploy: ${enabled ? 'Enabled' : 'Disabled'}`,
|
|
2054
|
+
},
|
|
2055
|
+
app: {
|
|
2056
|
+
title: 'App',
|
|
2057
|
+
name: (name) => `Name: ${name}`,
|
|
2058
|
+
id: (id) => `App ID: ${id}`,
|
|
2059
|
+
uid: (uid) => `UID: ${uid}`,
|
|
2060
|
+
authType: (authType) => `Auth Type: ${authType}`,
|
|
2061
|
+
distributionType: (distributionType) => `Distribution: ${distributionType}`,
|
|
2062
|
+
},
|
|
2063
|
+
examples: {
|
|
2064
|
+
default: 'Display project information',
|
|
2065
|
+
json: 'Output as JSON for scripting',
|
|
2066
|
+
},
|
|
2067
|
+
viewProjectLink: 'View project in HubSpot',
|
|
2068
|
+
componentsHeader: 'Components',
|
|
2069
|
+
labels: {
|
|
2070
|
+
type: 'Type',
|
|
2071
|
+
uid: 'UID',
|
|
2072
|
+
},
|
|
2073
|
+
errors: {
|
|
2074
|
+
noProjectConfig: `No project found in this directory.\n\nRun ${uiCommandReference('hs project create')} to start a new project, or change to a directory containing hsproject.json.`,
|
|
2075
|
+
projectNotFound: (projectName, accountId) => `Project "${projectName}" was not found in account ${uiAccountDescription(accountId)}. Make sure the project has been uploaded at least once.`,
|
|
2076
|
+
noDeployedBuild: `This project has not been deployed yet.\n\nRun ${uiCommandReference('hs project deploy')} to deploy your project.`,
|
|
2077
|
+
unsupportedPlatformVersion: (platformVersion) => `This command is not supported for platform version ${chalk.bold(platformVersion)}. Please upgrade to 2025.2 or later.`,
|
|
2078
|
+
},
|
|
2079
|
+
},
|
|
2080
|
+
delete: {
|
|
2081
|
+
describe: 'Delete a project from the current target account',
|
|
2082
|
+
verboseDescribe: `Delete a project from the current target account\n\nThis will permanently delete the project, all deployed components, and any app installations associated with it. Your local project files will not be affected.`,
|
|
2083
|
+
warnings: {
|
|
2084
|
+
irreversibleTitle: 'Warning: This will permanently delete your project',
|
|
2085
|
+
irreversible: 'Deleting this project will also delete all deployed components and app installations. This action cannot be undone. Your local project files will not be affected.',
|
|
2086
|
+
},
|
|
2087
|
+
prompts: {
|
|
2088
|
+
selectProject: (accountId) => `Select a project to delete in ${uiAccountDescription(accountId)}`,
|
|
2089
|
+
confirmDelete: (projectName, accountId) => `[--force] Delete ${chalk.bold(projectName)} from ${uiAccountDescription(accountId)}? This cannot be undone.`,
|
|
2090
|
+
validation: {
|
|
2091
|
+
projectRequired: 'Please select a project to delete',
|
|
2092
|
+
},
|
|
2093
|
+
},
|
|
2094
|
+
logs: {
|
|
2095
|
+
deleting: (projectName) => `Deleting project ${chalk.bold(projectName)}...`,
|
|
2096
|
+
deleted: (projectName, accountId) => `Deleted project ${chalk.bold(projectName)} from ${uiAccountDescription(accountId)}`,
|
|
2097
|
+
cancelled: 'Deletion cancelled',
|
|
2098
|
+
componentsToDeleteUnified: (components) => `The following deployed components will be deleted:\n${components.map(c => ` - ${chalk.bold(c.componentId)} (${mapToUserFriendlyName(c.componentType)})`).join('\n')}`,
|
|
2099
|
+
componentsToDeleteLegacy: (components) => `The following deployed components will be deleted:\n${components.map(c => ` - ${chalk.bold(c)}`).join('\n')}`,
|
|
2100
|
+
deletingComponents: (projectName) => `Deleting deployed components from ${chalk.bold(projectName)}...`,
|
|
2101
|
+
componentsDeleted: (projectName) => `Deleted deployed components from ${chalk.bold(projectName)}`,
|
|
2102
|
+
unableToDetermineIfComponentsWereDeleted: (projectName) => `Unable to determine if components were successfully deleted from ${chalk.bold(projectName)}. Please try again.`,
|
|
2103
|
+
installWarning: (installCount) => `This project has ${chalk.bold(String(installCount))} active app ${installCount === 1 ? 'installation' : 'installations'} that will be deleted.`,
|
|
2104
|
+
installCountUnknown: 'Unable to determine the number of active app installations for this project.',
|
|
2105
|
+
},
|
|
2106
|
+
errors: {
|
|
2107
|
+
noProjectsFound: (accountId) => `No projects found for account ${uiAccountDescription(accountId)}`,
|
|
2108
|
+
projectNotFound: (projectName, accountId) => `Project ${chalk.bold(projectName)} not found in ${uiAccountDescription(accountId)}`,
|
|
2109
|
+
deleteFailed: (projectName) => `Failed to delete project ${chalk.bold(projectName)}. Run with --debug for details or try again.`,
|
|
2110
|
+
cannotDelete: (projectName, reason) => `Cannot delete project ${chalk.bold(projectName)}: ${reason}`,
|
|
2111
|
+
noPlatformVersion: 'Unable to determine platform version for project',
|
|
2112
|
+
componentDeletionFailed: (projectName) => `Failed to delete deployed components from ${chalk.bold(projectName)}. The project was not deleted.`,
|
|
2113
|
+
},
|
|
2114
|
+
options: {
|
|
2115
|
+
project: 'name of the project to delete',
|
|
2116
|
+
force: 'skip confirmation prompt',
|
|
2117
|
+
},
|
|
2118
|
+
},
|
|
2119
|
+
installStatus: {
|
|
2120
|
+
describe: 'Check whether a static auth app in the current project is installed in the target account. This command must be run from within a HubSpot project directory.',
|
|
2121
|
+
examples: {
|
|
2122
|
+
default: 'Check install status for the static auth app in the current project',
|
|
2123
|
+
json: 'Output install status as JSON',
|
|
2124
|
+
},
|
|
2125
|
+
errors: {
|
|
2126
|
+
noProjectConfig: `No project config found. Run this command from within a HubSpot project directory, or use ${uiCommandReference('hs project create')} to create a new one.`,
|
|
2127
|
+
unsupportedPlatformVersion: (platformVersion) => `This command is only supported for projects on platform version 2025.2 or later (detected: ${platformVersion}).`,
|
|
2128
|
+
failedToParseProject: 'Failed to parse the project. Check your project configuration is valid and try again.',
|
|
2129
|
+
noAppInProject: 'No app was found in the local project. Install status is only available for projects that contain an app.',
|
|
2130
|
+
unsupportedAuthType: (authType) => `This command only supports static auth apps. Detected auth type: ${authType}.`,
|
|
2131
|
+
},
|
|
2132
|
+
success: {
|
|
2133
|
+
installed: (appName, accountId) => `${chalk.bold(appName)} is installed in ${uiAccountDescription(accountId)}.`,
|
|
2134
|
+
installedWithOutdatedScopes: (appName, accountId) => `${chalk.bold(appName)} is installed in ${uiAccountDescription(accountId)} with outdated scopes. Reinstall the app to grant the latest scopes.`,
|
|
2135
|
+
},
|
|
2136
|
+
notInstalled: (appName, accountId) => `${chalk.bold(appName)} is not installed in ${uiAccountDescription(accountId)}.`,
|
|
2137
|
+
},
|
|
1930
2138
|
},
|
|
1931
2139
|
sandbox: {
|
|
1932
2140
|
describe: 'Commands for managing sandboxes.',
|
|
@@ -2222,7 +2430,7 @@ export const commands = {
|
|
|
2222
2430
|
configPathPrompt: '[--config-path] Enter the path to the test account config: ',
|
|
2223
2431
|
createTestAccountFromConfigPrompt: 'How would you like to create your test account?',
|
|
2224
2432
|
createFromConfigOption: 'Create test account from config file',
|
|
2225
|
-
createFromScratchOption: '
|
|
2433
|
+
createFromScratchOption: 'Select hub tiers manually',
|
|
2226
2434
|
errors: {
|
|
2227
2435
|
configFileNotFound: (configPath) => `No test account config file exists at ${configPath}. Create a test account config file with the ${uiCommandReference('hs test-account create-config')} command.`,
|
|
2228
2436
|
configFileParseFailed: (configPath) => `Failed to parse test account config file at ${configPath}`,
|
|
@@ -2242,7 +2450,7 @@ export const commands = {
|
|
|
2242
2450
|
opsLevel: 'Operations Hub tier. Options: FREE, STARTER, PROFESSIONAL, ENTERPRISE',
|
|
2243
2451
|
serviceLevel: 'Service Hub tier. Options: FREE, STARTER, PROFESSIONAL, ENTERPRISE',
|
|
2244
2452
|
salesLevel: 'Sales Hub tier. Options: FREE, STARTER, PROFESSIONAL, ENTERPRISE',
|
|
2245
|
-
contentLevel: '
|
|
2453
|
+
contentLevel: 'Content Hub tier. Options: FREE, STARTER, PROFESSIONAL, ENTERPRISE',
|
|
2246
2454
|
commerceLevel: 'Commerce Hub tier. Options: FREE, PROFESSIONAL, ENTERPRISE',
|
|
2247
2455
|
},
|
|
2248
2456
|
example: (configPath) => `Create a test account from the config file at ${configPath}`,
|
|
@@ -2895,6 +3103,9 @@ export const commands = {
|
|
|
2895
3103
|
},
|
|
2896
3104
|
};
|
|
2897
3105
|
export const lib = {
|
|
3106
|
+
linkedDirectory: {
|
|
3107
|
+
warning: (action, settingsPath) => `This directory has linked accounts via ${settingsPath}. ${uiCommandReference(action)} modifies your global config, not the linked directory settings. Use ${uiCommandReference('hs account link')} to manage linked accounts.\n`,
|
|
3108
|
+
},
|
|
2898
3109
|
parsing: {
|
|
2899
3110
|
unableToParseStringToNumber: 'Unable to parse string to number',
|
|
2900
3111
|
},
|
|
@@ -3076,7 +3287,7 @@ export const lib = {
|
|
|
3076
3287
|
updateSucceeded: (latestVersion) => `Successfully updated HubSpot CLI to version ${chalk.bold(latestVersion)}`,
|
|
3077
3288
|
notInstalledGlobally: 'Cannot auto-update the HubSpot CLI because NPM is not installed globally',
|
|
3078
3289
|
updateFailed: (latestVersion) => `Failed to update HubSpot CLI to version ${chalk.bold(latestVersion)}`,
|
|
3079
|
-
enableAutoUpdatesMessage: `The HubSpot CLI can automatically keep itself up to date.\n\nThis helps ensure compatibility with the HubSpot platform. You can change this later at any time.\n\nRun${uiCommandReference('hs config set --allow-auto-updates=true')}`,
|
|
3290
|
+
enableAutoUpdatesMessage: `The HubSpot CLI can automatically keep itself up to date.\n\nThis helps ensure compatibility with the HubSpot platform. You can change this later at any time.\n\nRun ${uiCommandReference('hs config set --allow-auto-updates=true')}`,
|
|
3080
3291
|
},
|
|
3081
3292
|
},
|
|
3082
3293
|
projectProfiles: {
|
|
@@ -3085,11 +3296,6 @@ export const lib = {
|
|
|
3085
3296
|
profileTargetAccount: (accountId) => `Targeting ${uiAccountDescription(accountId)}`,
|
|
3086
3297
|
profileVariables: 'Profile variables',
|
|
3087
3298
|
},
|
|
3088
|
-
exitIfUsingProfiles: {
|
|
3089
|
-
errors: {
|
|
3090
|
-
noProfileSpecified: `This project is configured to use profiles, but no profile was specified. Target a profile using the ${uiCommandReference('--profile')} flag.`,
|
|
3091
|
-
},
|
|
3092
|
-
},
|
|
3093
3299
|
loadProfile: {
|
|
3094
3300
|
errors: {
|
|
3095
3301
|
noProjectConfig: 'No project config found. Please run this command from a project directory.',
|
|
@@ -3202,6 +3408,15 @@ export const lib = {
|
|
|
3202
3408
|
fileFiltered: (filename) => `Ignore rule triggered for "${filename}"`,
|
|
3203
3409
|
legacyFileDetected: (filename, platformVersion) => `The ${chalk.bold(filename)} file is not supported on platform version ${chalk.bold(platformVersion)} and will be ignored.`,
|
|
3204
3410
|
projectDoesNotExist: (accountId) => `Upload cancelled. Run ${uiCommandReference('hs project upload')} again to create the project in ${uiAccountDescription(accountId)}.`,
|
|
3411
|
+
workspaceIncluded: (workspaceDir, archivePath) => `Including workspace: ${workspaceDir} → ${archivePath}`,
|
|
3412
|
+
fileDependencyIncluded: (packageName, localPath, archivePath) => `Including file: dependency ${packageName}: ${localPath} → ${archivePath}`,
|
|
3413
|
+
malformedPackageJson: (packageJsonPath, error) => `Skipping malformed package.json at ${packageJsonPath}: ${error}`,
|
|
3414
|
+
workspaceCollision: (archivePath, workspaceDir, existingWorkspace) => `Workspace collision: ${archivePath} from ${workspaceDir} and ${existingWorkspace}`,
|
|
3415
|
+
fileDependencyAlreadyIncluded: (packageName, archivePath) => `file: dependency ${packageName} already included as workspace: ${archivePath}`,
|
|
3416
|
+
updatingLockfile: (lockfilePath) => `Updating package-lock.json in archive: ${lockfilePath}`,
|
|
3417
|
+
updatingPackageJsonWorkspaces: (packageJsonPath) => `Updating package.json workspaces in archive: ${packageJsonPath}`,
|
|
3418
|
+
updatedWorkspaces: (workspaces) => ` Updated workspaces: ${workspaces}`,
|
|
3419
|
+
updatedFileDependency: (packageName, relativePath) => ` Updated dependencies.${packageName}: file:${relativePath}`,
|
|
3205
3420
|
},
|
|
3206
3421
|
},
|
|
3207
3422
|
importData: {
|
|
@@ -3312,6 +3527,9 @@ export const lib = {
|
|
|
3312
3527
|
pakFailure: 'Failed to generate personal access key for developer test account',
|
|
3313
3528
|
},
|
|
3314
3529
|
},
|
|
3530
|
+
usageTracking: {
|
|
3531
|
+
transparencyMessage: `HubSpot CLI collects anonymous usage data to improve the product. Run ${uiCommandReference('hs config set --enable-usage-tracking=false', false)} to opt out.\n`,
|
|
3532
|
+
},
|
|
3315
3533
|
configOptions: {
|
|
3316
3534
|
enableOrDisableBooleanFieldPrompt: {
|
|
3317
3535
|
message: (fieldName) => `Choose to enable or disable ${fieldName}`,
|
|
@@ -3400,8 +3618,14 @@ export const lib = {
|
|
|
3400
3618
|
promptUtils: {
|
|
3401
3619
|
errors: {
|
|
3402
3620
|
noSelectableChoices: 'Exiting prompt because no selectable choices are available',
|
|
3621
|
+
userCancelled: 'User cancelled prompt',
|
|
3403
3622
|
},
|
|
3404
3623
|
},
|
|
3624
|
+
projectProfilePrompt: {
|
|
3625
|
+
message: '[--profile] This project is configured to use profiles. Select a profile to use:',
|
|
3626
|
+
exitMessage: `This project is configured to use profiles, but no profile was specified. Try again using ${uiCommandReference('--profile')}`,
|
|
3627
|
+
noValidProfilesMessage: 'There are no valid profiles in this project. Ensure the accounts they are targeting are authenticated and try again.',
|
|
3628
|
+
},
|
|
3405
3629
|
importDataFilePathPrompt: {
|
|
3406
3630
|
promptContext: `To view the JSON schema for data imports, visit ${uiLink('the docs', 'https://developers.hubspot.com/docs/guides/api/crm/imports')}`,
|
|
3407
3631
|
promptMessage: '[--file-path] Select the JSON file that will be used to import your data.',
|
|
@@ -3425,6 +3649,7 @@ export const lib = {
|
|
|
3425
3649
|
developerTestAccountLimit: (limit) => `Your account reached the limit of ${limit} developer test accounts.`,
|
|
3426
3650
|
confirmDefaultAccount: (accountName, accountType) => `Continue testing on ${chalk.bold(`${accountName} (${accountType})`)}? (Y/n)`,
|
|
3427
3651
|
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.`,
|
|
3652
|
+
confirmLinkExistingDeveloperTestAccount: (accountName) => `${accountName} is not linked to this directory. Would you like to link it?`,
|
|
3428
3653
|
noAccountId: 'No account ID found for the selected account. Please try again.',
|
|
3429
3654
|
},
|
|
3430
3655
|
projectLogsPrompt: {
|
|
@@ -3496,6 +3721,7 @@ export const lib = {
|
|
|
3496
3721
|
invalidOauthClientSecretCopy: 'Please copy the actual OAuth2 client secret rather than the asterisks that mask it.',
|
|
3497
3722
|
invalidPersonalAccessKey: 'You did not enter a valid access key. Please try again.',
|
|
3498
3723
|
invalidPersonalAccessKeyCopy: 'Please copy the actual access key rather than the bullets that mask it.',
|
|
3724
|
+
authCancelled: 'Authentication cancelled.',
|
|
3499
3725
|
},
|
|
3500
3726
|
},
|
|
3501
3727
|
createTemplatePrompt: {
|
|
@@ -3847,9 +4073,9 @@ export const lib = {
|
|
|
3847
4073
|
validJson: 'JSON files valid',
|
|
3848
4074
|
},
|
|
3849
4075
|
port: {
|
|
3850
|
-
inUse: (port) => `
|
|
3851
|
-
inUseSecondary: `Make sure it is available before running ${uiCommandReference('hs project dev')}`,
|
|
3852
|
-
available: (port) => `
|
|
4076
|
+
inUse: (port) => `Default port ${port} is in use`,
|
|
4077
|
+
inUseSecondary: `Make sure it is available before running ${uiCommandReference('hs project dev')}, or use ${uiCommandReference('--port')} to specify a different port`,
|
|
4078
|
+
available: (port) => `Default port ${port} available for local development`,
|
|
3853
4079
|
},
|
|
3854
4080
|
projectValidation: {
|
|
3855
4081
|
valid: 'Project configuration and structure is valid',
|
|
@@ -3938,11 +4164,12 @@ export const lib = {
|
|
|
3938
4164
|
fileInvalidJson: (path) => `The file "${path}" contains invalid JSON`,
|
|
3939
4165
|
},
|
|
3940
4166
|
migrate: {
|
|
3941
|
-
componentsToBeMigrated: (components) =>
|
|
4167
|
+
componentsToBeMigrated: (components) => `${chalk.bold('The following features will be migrated:')} ${components}`,
|
|
3942
4168
|
componentsThatWillNotBeMigrated: (components) => `[NOTE] These features are not yet supported for migration but will be available later: ${components}`,
|
|
4169
|
+
legacyCrmCardMigrationDocs: () => `For more information on migrating legacy-crm-card components, follow ${uiLink('these docs', 'https://developers.hubspot.com/docs/apps/developer-platform/build-apps/migrate-an-app/migrate-legacy-crm-cards-to-app-cards')}`,
|
|
3943
4170
|
sourceContentsMoved: (newLocation) => `The contents of your old source directory have been moved to ${newLocation}, move any required files to the new source directory.`,
|
|
3944
|
-
projectMigrationWarningTitle:
|
|
3945
|
-
projectMigrationWarning: uiBetaTag(`Running the ${uiCommandReference('hs project migrate')} command will permanently upgrade your project to platformVersion
|
|
4171
|
+
projectMigrationWarningTitle: (platformVersion) => `Important: Migrating to platformVersion ${platformVersion} is irreversible`,
|
|
4172
|
+
projectMigrationWarning: (platformVersion) => uiBetaTag(`Running the ${uiCommandReference('hs project migrate')} command will permanently upgrade your project to platformVersion ${platformVersion}. 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),
|
|
3946
4173
|
exitWithoutMigrating: 'Exiting without migrating',
|
|
3947
4174
|
success: {
|
|
3948
4175
|
downloadedProject: (projectName, projectDest) => `Saved ${projectName} to ${projectDest}`,
|
|
@@ -3954,7 +4181,7 @@ export const lib = {
|
|
|
3954
4181
|
doesNotExist: (account) => `Project does not exist in ${uiAccountDescription(account)}. Migrations are only supported for existing projects.`,
|
|
3955
4182
|
themesAlreadyMigrated: 'This project has already been migrated to the latest platform version.',
|
|
3956
4183
|
noProjectForThemesMigration: 'Theme migrations are only supported for projects. Please try again from a project directory.',
|
|
3957
|
-
themesAndAppsNotAllowed: '
|
|
4184
|
+
themesAndAppsNotAllowed: 'Projects containing both themes and apps cannot be migrated together. To migrate, split the project into separate theme-only and app-only projects, then run migrate on each individually.',
|
|
3958
4185
|
multipleApps: 'Multiple apps found in project, this is not allowed in 2025.2',
|
|
3959
4186
|
alreadyExists: (projectName) => `A project with name ${projectName} already exists. Please choose another name.`,
|
|
3960
4187
|
failedToMigrateThemes: 'Failed to migrate project themes. Please verify that your themes are properly formatted before trying again.',
|
|
@@ -3999,4 +4226,14 @@ export const lib = {
|
|
|
3999
4226
|
copyingProjectFilesFailed: 'Unable to copy migrated project files',
|
|
4000
4227
|
},
|
|
4001
4228
|
},
|
|
4229
|
+
theme: {
|
|
4230
|
+
cmsDevServerProcess: {
|
|
4231
|
+
installStarted: (targetVersion) => `Installing cms-dev-server ${targetVersion}...`,
|
|
4232
|
+
installSucceeded: 'cms-dev-server setup complete',
|
|
4233
|
+
installFailed: 'Failed to install cms-dev-server',
|
|
4234
|
+
serverStartError: (error) => `Failed to start dev server: ${error}`,
|
|
4235
|
+
serverExit: (code) => `Dev server exited with code ${code}`,
|
|
4236
|
+
serverKill: (signal) => `Dev server killed with signal ${signal}`,
|
|
4237
|
+
},
|
|
4238
|
+
},
|
|
4002
4239
|
};
|
package/lib/accountAuth.js
CHANGED
|
@@ -3,6 +3,7 @@ import { getAccessToken, updateConfigWithAccessToken, } from '@hubspot/local-dev
|
|
|
3
3
|
import { toKebabCase } from '@hubspot/local-dev-lib/text';
|
|
4
4
|
import { handleMerge, handleMigration } from './configMigrate.js';
|
|
5
5
|
import { debugError, logError } from './errorHandlers/index.js';
|
|
6
|
+
import { isPromptExitError } from './errors/PromptExitError.js';
|
|
6
7
|
import { personalAccessKeyPrompt } from './prompts/personalAccessKeyPrompt.js';
|
|
7
8
|
import { cliAccountNamePrompt } from './prompts/accountNamePrompt.js';
|
|
8
9
|
import { setAsDefaultAccountPrompt } from './prompts/setAsDefaultAccountPrompt.js';
|
|
@@ -36,6 +37,9 @@ async function updateConfigWithNewAccount(env, configAlreadyExists, providedPers
|
|
|
36
37
|
return updatedConfig;
|
|
37
38
|
}
|
|
38
39
|
catch (e) {
|
|
40
|
+
if (isPromptExitError(e)) {
|
|
41
|
+
throw e;
|
|
42
|
+
}
|
|
39
43
|
debugError(e);
|
|
40
44
|
return null;
|
|
41
45
|
}
|
package/lib/app/migrate.js
CHANGED
|
@@ -5,6 +5,7 @@ import chalk from 'chalk';
|
|
|
5
5
|
import { validateUid } from '@hubspot/project-parsing-lib/uid';
|
|
6
6
|
import { UNMIGRATABLE_REASONS } from '@hubspot/local-dev-lib/constants/projects';
|
|
7
7
|
import { mapToUserFacingType } from '@hubspot/project-parsing-lib/transform';
|
|
8
|
+
import { AUTO_GENERATED_COMPONENT_TYPES } from '@hubspot/project-parsing-lib/constants';
|
|
8
9
|
import { MIGRATION_STATUS } from '@hubspot/local-dev-lib/types/Migration';
|
|
9
10
|
import { downloadProject, fetchProjectComponentsMetadata, } from '@hubspot/local-dev-lib/api/projects';
|
|
10
11
|
import { Separator } from '@inquirer/prompts';
|
|
@@ -123,12 +124,21 @@ export async function selectAppToMigrate(allApps, derivedAccountId, appId) {
|
|
|
123
124
|
const selectedApp = allApps.find(app => app.appId === appIdToMigrate);
|
|
124
125
|
const migratableComponents = new Set();
|
|
125
126
|
const unmigratableComponents = new Set();
|
|
127
|
+
let hasLegacyCrmCards = false;
|
|
126
128
|
selectedApp?.migrationComponents.forEach(component => {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
const userFacingComponentType = mapToUserFacingType(component.componentType);
|
|
130
|
+
if (component.componentType === 'LEGACY_CRM_CARD' &&
|
|
131
|
+
!component.isSupported) {
|
|
132
|
+
hasLegacyCrmCards = true;
|
|
129
133
|
}
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
const shouldDisplayComponent = !AUTO_GENERATED_COMPONENT_TYPES.includes(userFacingComponentType);
|
|
135
|
+
if (shouldDisplayComponent) {
|
|
136
|
+
if (component.isSupported) {
|
|
137
|
+
migratableComponents.add(userFacingComponentType);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
unmigratableComponents.add(userFacingComponentType);
|
|
141
|
+
}
|
|
132
142
|
}
|
|
133
143
|
});
|
|
134
144
|
if (migratableComponents.size !== 0) {
|
|
@@ -137,6 +147,9 @@ export async function selectAppToMigrate(allApps, derivedAccountId, appId) {
|
|
|
137
147
|
if (unmigratableComponents.size !== 0) {
|
|
138
148
|
uiLogger.log(lib.migrate.componentsThatWillNotBeMigrated(`\n - ${[...unmigratableComponents].join('\n - ')}`));
|
|
139
149
|
}
|
|
150
|
+
if (hasLegacyCrmCards) {
|
|
151
|
+
uiLogger.info(lib.migrate.legacyCrmCardMigrationDocs());
|
|
152
|
+
}
|
|
140
153
|
uiLogger.log('');
|
|
141
154
|
const proceed = await confirmPrompt(lib.migrate.prompt.proceed, {
|
|
142
155
|
defaultAnswer: false,
|
|
@@ -255,7 +268,7 @@ export async function pollMigrationStatus(derivedAccountId, migrationId, success
|
|
|
255
268
|
return poll(() => checkMigrationStatusV2(derivedAccountId, migrationId), {
|
|
256
269
|
successStates: [...successStates],
|
|
257
270
|
errorStates: [...DEFAULT_POLLING_STATUS_LOOKUP.errorStates],
|
|
258
|
-
});
|
|
271
|
+
}, 300_000);
|
|
259
272
|
}
|
|
260
273
|
export async function finalizeAppMigration(derivedAccountId, migrationId, uidMap, projectName) {
|
|
261
274
|
let pollResponse;
|