@hubspot/cli 8.2.0 → 8.2.1-experimental.1
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/api/releases.d.ts +36 -0
- package/api/releases.js +41 -0
- package/bin/cli.js +12 -6
- package/commands/account/auth.d.ts +3 -1
- package/commands/account/auth.js +25 -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 +87 -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 +68 -0
- package/commands/account/use.js +75 -6
- package/commands/account.js +4 -0
- package/commands/api.d.ts +13 -0
- package/commands/api.js +161 -0
- package/commands/app/logDetails.d.ts +9 -0
- package/commands/app/logDetails.js +86 -0
- package/commands/app/logs.d.ts +13 -0
- package/commands/app/logs.js +126 -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/app.js +8 -1
- package/commands/auth.js +20 -16
- 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 -23
- package/commands/cms/function/server.js +16 -10
- 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 +15 -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 +24 -9
- package/commands/cms/upload.js +15 -12
- package/commands/cms/watch.js +5 -5
- 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 +29 -11
- package/commands/customObject/create.js +4 -5
- package/commands/customObject/createSchema.js +6 -8
- 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 +6 -8
- package/commands/doctor.js +8 -8
- package/commands/feedback.js +6 -4
- package/commands/filemanager/fetch.js +5 -6
- package/commands/filemanager/upload.js +5 -5
- package/commands/getStarted.js +34 -38
- 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.d.ts +1 -1
- package/commands/hubdb/list.js +23 -22
- package/commands/init.js +18 -15
- package/commands/mcp/setup.d.ts +2 -0
- package/commands/mcp/setup.js +35 -8
- package/commands/mcp/start.js +2 -3
- package/commands/open.js +4 -5
- package/commands/project/add.js +19 -13
- package/commands/project/appInstallStatus.d.ts +5 -0
- package/commands/project/appInstallStatus.js +139 -0
- package/commands/project/create.js +37 -22
- package/commands/project/delete.d.ts +7 -0
- package/commands/project/delete.js +74 -0
- package/commands/project/deploy.d.ts +2 -1
- package/commands/project/deploy.js +72 -50
- package/commands/project/dev/index.d.ts +3 -3
- package/commands/project/dev/index.js +40 -73
- package/commands/project/dev/unifiedFlow.js +81 -22
- package/commands/project/download.js +15 -12
- package/commands/project/info.d.ts +5 -0
- package/commands/project/info.js +73 -0
- package/commands/project/installApp.d.ts +8 -0
- package/commands/project/installApp.js +185 -0
- package/commands/project/installDeps.js +17 -11
- package/commands/project/lint.js +57 -19
- package/commands/project/list.d.ts +2 -2
- package/commands/project/list.js +15 -14
- package/commands/project/listBuilds.d.ts +3 -2
- package/commands/project/listBuilds.js +50 -19
- package/commands/project/logs.js +7 -10
- package/commands/project/migrate.js +30 -28
- package/commands/project/open.js +20 -13
- package/commands/project/profile/add.d.ts +2 -1
- package/commands/project/profile/add.js +42 -13
- package/commands/project/profile/delete.d.ts +1 -1
- package/commands/project/profile/delete.js +23 -15
- package/commands/project/release/create.d.ts +8 -0
- package/commands/project/release/create.js +156 -0
- package/commands/project/release/info.d.ts +7 -0
- package/commands/project/release/info.js +148 -0
- package/commands/project/release/list.d.ts +7 -0
- package/commands/project/release/list.js +119 -0
- package/commands/project/release.d.ts +3 -0
- package/commands/project/release.js +20 -0
- package/commands/project/updateDeps.js +15 -11
- package/commands/project/upload.d.ts +7 -1
- package/commands/project/upload.js +159 -35
- package/commands/project/validate.d.ts +1 -1
- package/commands/project/validate.js +23 -106
- package/commands/project/watch.js +27 -29
- package/commands/project.js +17 -4
- package/commands/sandbox/create.js +18 -45
- package/commands/sandbox/delete.js +15 -17
- 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 +3 -2
- package/commands/testAccount/create.js +30 -22
- package/commands/testAccount/createConfig.js +7 -8
- package/commands/testAccount/delete.js +27 -18
- package/commands/testAccount/importData.d.ts +1 -1
- package/commands/testAccount/importData.js +6 -7
- package/commands/upgrade.js +11 -10
- package/lang/en.d.ts +573 -54
- package/lang/en.js +614 -79
- package/lib/CLIWebSocketServer.d.ts +5 -3
- package/lib/CLIWebSocketServer.js +31 -4
- package/lib/accountAuth.d.ts +3 -1
- package/lib/accountAuth.js +47 -17
- package/lib/accountTargetDiscovery.d.ts +15 -0
- package/lib/accountTargetDiscovery.js +175 -0
- package/lib/api/usageTracking.d.ts +30 -0
- package/lib/api/usageTracking.js +11 -0
- package/lib/app/install.d.ts +22 -0
- package/lib/app/install.js +42 -0
- package/lib/app/logs.d.ts +38 -0
- package/lib/app/logs.js +225 -0
- package/lib/app/migrate.js +23 -12
- package/lib/app/urls.d.ts +2 -0
- package/lib/app/urls.js +7 -1
- package/lib/auth/awaitPersonalAccessKeyOverWebsocket.d.ts +4 -0
- package/lib/auth/awaitPersonalAccessKeyOverWebsocket.js +146 -0
- package/lib/buildAccount.d.ts +1 -6
- package/lib/buildAccount.js +10 -43
- package/lib/cms/serverlessDevRuntime.d.ts +1 -0
- package/lib/cms/serverlessDevRuntime.js +72 -0
- package/lib/commonOpts.js +6 -2
- package/lib/configOptions.d.ts +10 -10
- package/lib/configOptions.js +10 -11
- package/lib/constants.d.ts +14 -3
- package/lib/constants.js +16 -3
- package/lib/dependencyManagement.js +10 -17
- package/lib/doctor/Diagnosis.js +5 -5
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -2
- package/lib/doctor/DiagnosticInfoBuilder.js +8 -8
- package/lib/doctor/Doctor.d.ts +1 -0
- package/lib/doctor/Doctor.js +40 -16
- package/lib/errorHandlers/index.js +4 -3
- package/lib/errorHandlers/suppressError.js +4 -0
- package/lib/errors/ProjectErrors.d.ts +0 -6
- package/lib/errors/ProjectErrors.js +0 -12
- package/lib/errors/ProjectValidationError.d.ts +2 -1
- package/lib/errors/ProjectValidationError.js +3 -1
- package/lib/errors/PromptExitError.d.ts +6 -0
- package/lib/errors/PromptExitError.js +11 -0
- package/lib/getStartedV2Actions.js +19 -22
- package/lib/hasFeature.js +1 -2
- package/lib/importData.js +3 -4
- package/lib/jsonOutput.d.ts +195 -0
- package/lib/jsonOutput.js +171 -0
- 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/links.js +6 -5
- package/lib/mcp/clients.d.ts +13 -0
- package/lib/mcp/clients.js +62 -0
- package/lib/mcp/promotion.d.ts +3 -0
- package/lib/mcp/promotion.js +109 -0
- package/lib/mcp/setup.d.ts +8 -2
- package/lib/mcp/setup.js +123 -38
- package/lib/middleware/autoUpdateMiddleware.js +6 -3
- package/lib/middleware/commandTargetingUtils.js +1 -0
- package/lib/npm/npmCli.d.ts +1 -0
- package/lib/npm/npmCli.js +13 -0
- package/lib/npm/packageJson.js +1 -1
- package/lib/process.d.ts +1 -1
- package/lib/process.js +10 -3
- package/lib/projects/ProjectLogsManager.js +7 -7
- package/lib/projects/builds.d.ts +2 -0
- package/lib/projects/builds.js +22 -0
- package/lib/projects/components.js +15 -4
- package/lib/projects/config.d.ts +6 -5
- package/lib/projects/config.js +7 -38
- package/lib/projects/create/index.js +2 -2
- package/lib/projects/create/legacy.js +2 -2
- package/lib/projects/create/v2.js +5 -5
- 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/installApp.d.ts +58 -0
- package/lib/projects/installApp.js +283 -0
- package/lib/projects/localDev/AppDevModeInterface.d.ts +0 -3
- package/lib/projects/localDev/AppDevModeInterface.js +35 -53
- package/lib/projects/localDev/DevSessionManager.d.ts +8 -5
- package/lib/projects/localDev/DevSessionManager.js +35 -49
- package/lib/projects/localDev/LocalDevLogger.d.ts +4 -0
- package/lib/projects/localDev/LocalDevLogger.js +18 -0
- package/lib/projects/localDev/LocalDevProcess.d.ts +11 -1
- package/lib/projects/localDev/LocalDevProcess.js +104 -19
- package/lib/projects/localDev/LocalDevState.d.ts +9 -2
- package/lib/projects/localDev/LocalDevState.js +21 -1
- package/lib/projects/localDev/LocalDevWatcher.js +1 -1
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.js +24 -2
- package/lib/projects/localDev/UIExtensionsDevModeInterface.js +2 -0
- package/lib/projects/localDev/helpers/account.d.ts +1 -7
- package/lib/projects/localDev/helpers/account.js +12 -100
- 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 +8 -6
- package/lib/projects/localDev/helpers/project.js +80 -29
- package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +2 -1
- package/lib/projects/localDev/localDevWebsocketServerUtils.js +3 -0
- package/lib/projects/npmAuditOnUpload.d.ts +10 -0
- package/lib/projects/npmAuditOnUpload.js +73 -0
- package/lib/projects/pollProjectBuildAndDeploy.d.ts +5 -1
- package/lib/projects/pollProjectBuildAndDeploy.js +3 -2
- package/lib/projects/preview.d.ts +7 -0
- package/lib/projects/preview.js +48 -0
- package/lib/projects/projectInfo.d.ts +5 -0
- package/lib/projects/projectInfo.js +82 -0
- package/lib/projects/projectProfiles.d.ts +2 -3
- package/lib/projects/projectProfiles.js +5 -20
- package/lib/projects/release.d.ts +4 -0
- package/lib/projects/release.js +90 -0
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +14 -0
- package/lib/projects/uieLinting.d.ts +21 -3
- package/lib/projects/uieLinting.js +129 -28
- package/lib/projects/upload.d.ts +12 -2
- package/lib/projects/upload.js +59 -13
- package/lib/projects/urls.d.ts +0 -1
- package/lib/projects/urls.js +6 -13
- package/lib/projects/validate.d.ts +9 -0
- package/lib/projects/validate.js +96 -0
- package/lib/projects/validateLintConfigOnUpload.d.ts +9 -0
- package/lib/projects/validateLintConfigOnUpload.js +45 -0
- package/lib/projects/workspaces.d.ts +60 -0
- package/lib/projects/workspaces.js +411 -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.d.ts +2 -5
- package/lib/prompts/personalAccessKeyPrompt.js +10 -7
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
- package/lib/prompts/projectDevTargetAccountPrompt.js +26 -18
- 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/selectAppPrompt.js +1 -0
- package/lib/prompts/selectHubDBTablePrompt.js +8 -4
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
- package/lib/prompts/setAsDefaultAccountPrompt.js +2 -1
- package/lib/sandboxes.d.ts +1 -9
- package/lib/sandboxes.js +0 -21
- package/lib/serverlessLogs.js +2 -2
- package/lib/theme/cmsDevServerProcess.d.ts +2 -0
- package/lib/theme/cmsDevServerProcess.js +8 -7
- package/lib/theme/migrate.d.ts +1 -1
- package/lib/theme/migrate.js +2 -9
- 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/appLogs.d.ts +32 -0
- package/lib/ui/appLogs.js +175 -0
- package/lib/ui/spinniesUtils.d.ts +0 -1
- package/lib/ui/spinniesUtils.js +6 -16
- package/lib/usageTracking.d.ts +10 -20
- package/lib/usageTracking.js +77 -30
- package/lib/yargs/makeWrappedYargsHandler.d.ts +7 -0
- package/lib/yargs/makeWrappedYargsHandler.js +179 -0
- package/lib/yargs/makeYargsBuilder.d.ts +13 -0
- package/lib/yargs/makeYargsBuilder.js +33 -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 +20 -0
- package/mcp-server/Tool.js +79 -0
- package/mcp-server/server.js +47 -3
- package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +18 -23
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsCreateModuleTool.js +21 -26
- package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +16 -16
- package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +16 -15
- package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsListFunctionsTool.js +14 -13
- package/mcp-server/tools/cms/HsListTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsListTool.js +14 -16
- package/mcp-server/tools/index.d.ts +3 -2
- package/mcp-server/tools/index.js +26 -22
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +8 -4
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +16 -15
- package/mcp-server/tools/project/AuthAccountTool.d.ts +18 -0
- package/mcp-server/tools/project/AuthAccountTool.js +78 -0
- package/mcp-server/tools/project/CreateProjectTool.d.ts +8 -4
- package/mcp-server/tools/project/CreateProjectTool.js +21 -17
- package/mcp-server/tools/project/CreateTestAccountTool.d.ts +5 -3
- package/mcp-server/tools/project/CreateTestAccountTool.js +35 -24
- package/mcp-server/tools/project/DeployProjectTool.d.ts +5 -3
- package/mcp-server/tools/project/DeployProjectTool.js +14 -16
- 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 +39 -15
- 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 +6 -3
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +16 -13
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +6 -3
- package/mcp-server/tools/project/GetApplicationInfoTool.js +19 -14
- package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
- package/mcp-server/tools/project/GetBuildLogsTool.js +19 -14
- package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
- package/mcp-server/tools/project/GetBuildStatusTool.js +19 -14
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +6 -3
- package/mcp-server/tools/project/GetConfigValuesTool.js +20 -13
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
- package/mcp-server/tools/project/UploadProjectTools.d.ts +5 -3
- package/mcp-server/tools/project/UploadProjectTools.js +21 -20
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +5 -3
- package/mcp-server/tools/project/ValidateProjectTool.js +13 -10
- package/mcp-server/tools/project/constants.d.ts +3 -1
- package/mcp-server/tools/project/constants.js +3 -1
- package/mcp-server/types.d.ts +0 -7
- package/mcp-server/types.js +1 -13
- package/mcp-server/utils/command.d.ts +25 -2
- package/mcp-server/utils/command.js +68 -16
- package/mcp-server/utils/config.js +6 -0
- package/mcp-server/utils/logger.d.ts +13 -0
- package/mcp-server/utils/logger.js +59 -0
- package/mcp-server/utils/toolUsageTracking.js +28 -11
- package/package.json +25 -17
- package/types/AccountTargets.d.ts +37 -0
- package/types/AccountTargets.js +12 -0
- package/types/Link.d.ts +32 -0
- package/types/Link.js +5 -0
- package/types/LocalDev.d.ts +15 -2
- package/types/PackageJson.d.ts +1 -0
- package/types/ProjectComponents.d.ts +2 -1
- package/types/Projects.d.ts +25 -5
- package/types/Prompts.d.ts +1 -0
- package/types/Yargs.d.ts +23 -2
- package/ui/components/ActionSection.d.ts +1 -1
- package/ui/components/InputField.d.ts +1 -1
- package/ui/components/SelectInput.d.ts +1 -1
- package/ui/components/StatusIcon.d.ts +1 -1
- package/ui/components/Table.d.ts +5 -5
- package/ui/components/getStarted/GetStartedFlow.d.ts +1 -1
- package/ui/components/getStarted/screens/InstallationScreen.d.ts +1 -1
- package/ui/components/getStarted/screens/ProjectSetupScreen.d.ts +1 -1
- package/ui/components/getStarted/screens/UploadScreen.d.ts +1 -1
- 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 -204
- 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 -144
- 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/project/dev/deprecatedFlow.d.ts +0 -11
- package/commands/project/dev/deprecatedFlow.js +0 -135
- 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 -121
- 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 -163
- 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 -523
- 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 -72
- package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
- package/lib/projects/create/__tests__/v2.test.js +0 -257
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +0 -40
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +0 -128
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +0 -59
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +0 -383
- 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 -254
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
- package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -132
- package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
- 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 -146
- 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 -187
- 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 -275
- 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 -69
|
@@ -3,7 +3,7 @@ import type { HSProfileVariables } from '@hubspot/project-parsing-lib/profiles';
|
|
|
3
3
|
import { Environment } from '@hubspot/local-dev-lib/types/Accounts';
|
|
4
4
|
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
5
5
|
import { ProjectConfig } from '../../../types/Projects.js';
|
|
6
|
-
import { LocalDevStateConstructorOptions, LocalDevStateListener, AppLocalDevData, LocalDevServerMessage } from '../../../types/LocalDev.js';
|
|
6
|
+
import { LocalDevStateConstructorOptions, LocalDevStateListener, LocalDevActions, AppLocalDevData, LocalDevServerMessage } from '../../../types/LocalDev.js';
|
|
7
7
|
declare class LocalDevState {
|
|
8
8
|
private _targetProjectAccountId;
|
|
9
9
|
private _targetTestingAccountId;
|
|
@@ -21,7 +21,10 @@ declare class LocalDevState {
|
|
|
21
21
|
private _devServerMessage;
|
|
22
22
|
private _uploadWarnings;
|
|
23
23
|
private _devServersStarted;
|
|
24
|
-
|
|
24
|
+
private _autoUploadEnabled;
|
|
25
|
+
private _uploadInProgress;
|
|
26
|
+
actions: LocalDevActions;
|
|
27
|
+
constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, actions, autoUploadEnabled, }: LocalDevStateConstructorOptions);
|
|
25
28
|
private runListeners;
|
|
26
29
|
get targetProjectAccountId(): number;
|
|
27
30
|
get targetTestingAccountId(): number;
|
|
@@ -55,6 +58,10 @@ declare class LocalDevState {
|
|
|
55
58
|
get uploadWarnings(): Set<string>;
|
|
56
59
|
get devServersStarted(): boolean;
|
|
57
60
|
set devServersStarted(started: boolean);
|
|
61
|
+
get autoUploadEnabled(): boolean;
|
|
62
|
+
set autoUploadEnabled(autoUploadEnabled: boolean);
|
|
63
|
+
get uploadInProgress(): boolean;
|
|
64
|
+
set uploadInProgress(inProgress: boolean);
|
|
58
65
|
addUploadWarning(warning: string): void;
|
|
59
66
|
clearUploadWarnings(): void;
|
|
60
67
|
addListener<K extends keyof LocalDevState>(key: K, listener: LocalDevStateListener<K>): void;
|
|
@@ -16,7 +16,10 @@ class LocalDevState {
|
|
|
16
16
|
_devServerMessage;
|
|
17
17
|
_uploadWarnings;
|
|
18
18
|
_devServersStarted;
|
|
19
|
-
|
|
19
|
+
_autoUploadEnabled;
|
|
20
|
+
_uploadInProgress;
|
|
21
|
+
actions;
|
|
22
|
+
constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, actions, autoUploadEnabled, }) {
|
|
20
23
|
this._targetProjectAccountId = targetProjectAccountId;
|
|
21
24
|
this._targetTestingAccountId = targetTestingAccountId;
|
|
22
25
|
this._profile = profile;
|
|
@@ -32,6 +35,9 @@ class LocalDevState {
|
|
|
32
35
|
this._devServerMessage = LOCAL_DEV_SERVER_MESSAGE_TYPES.INITIAL;
|
|
33
36
|
this._uploadWarnings = new Set();
|
|
34
37
|
this._devServersStarted = false;
|
|
38
|
+
this._autoUploadEnabled = autoUploadEnabled || false;
|
|
39
|
+
this._uploadInProgress = false;
|
|
40
|
+
this.actions = actions;
|
|
35
41
|
this._listeners = {};
|
|
36
42
|
}
|
|
37
43
|
runListeners(key) {
|
|
@@ -115,6 +121,20 @@ class LocalDevState {
|
|
|
115
121
|
this._devServersStarted = started;
|
|
116
122
|
this.runListeners('devServersStarted');
|
|
117
123
|
}
|
|
124
|
+
get autoUploadEnabled() {
|
|
125
|
+
return this._autoUploadEnabled;
|
|
126
|
+
}
|
|
127
|
+
set autoUploadEnabled(autoUploadEnabled) {
|
|
128
|
+
this._autoUploadEnabled = autoUploadEnabled;
|
|
129
|
+
this.runListeners('autoUploadEnabled');
|
|
130
|
+
}
|
|
131
|
+
get uploadInProgress() {
|
|
132
|
+
return this._uploadInProgress;
|
|
133
|
+
}
|
|
134
|
+
set uploadInProgress(inProgress) {
|
|
135
|
+
this._uploadInProgress = inProgress;
|
|
136
|
+
this.runListeners('uploadInProgress');
|
|
137
|
+
}
|
|
118
138
|
addUploadWarning(warning) {
|
|
119
139
|
this.uploadWarnings.add(warning);
|
|
120
140
|
this.runListeners('uploadWarnings');
|
|
@@ -16,7 +16,7 @@ class LocalDevWatcher {
|
|
|
16
16
|
}
|
|
17
17
|
handleWatchEvent(filePath, event, configPaths) {
|
|
18
18
|
if (configPaths.includes(filePath)) {
|
|
19
|
-
return this.localDevProcess.handleConfigFileChange();
|
|
19
|
+
return this.localDevProcess.handleConfigFileChange(filePath);
|
|
20
20
|
}
|
|
21
21
|
return this.localDevProcess.handleFileChange(filePath, event);
|
|
22
22
|
}
|
|
@@ -14,6 +14,7 @@ declare class LocalDevWebsocketServer {
|
|
|
14
14
|
private setupAppDataListener;
|
|
15
15
|
private setupUploadWarningsListener;
|
|
16
16
|
private setupDevServersStartedListener;
|
|
17
|
+
private setupUploadInProgressListener;
|
|
17
18
|
private setupStateListeners;
|
|
18
19
|
start(): Promise<void>;
|
|
19
20
|
shutdown(): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { addLocalStateFlag } from '@hubspot/local-dev-lib/config';
|
|
2
2
|
import { LOCAL_DEV_UI_MESSAGE_SEND_TYPES, LOCAL_DEV_SERVER_MESSAGE_TYPES, CONFIG_LOCAL_STATE_FLAGS, LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID, } from '../../constants.js';
|
|
3
3
|
import { removeAnsiCodes } from '../../ui/removeAnsiCodes.js';
|
|
4
|
-
import { isDeployWebsocketMessage, isViewedWelcomeScreenWebsocketMessage, isUploadWebsocketMessage, isAppInstallFailureWebsocketMessage, isAppInstallSuccessWebsocketMessage, isAppInstallInitiatedWebsocketMessage, } from './localDevWebsocketServerUtils.js';
|
|
4
|
+
import { isDeployWebsocketMessage, isViewedWelcomeScreenWebsocketMessage, isUploadWebsocketMessage, isAppInstallFailureWebsocketMessage, isAppInstallSuccessWebsocketMessage, isAppInstallInitiatedWebsocketMessage, isSetAutoUploadWebsocketMessage, } from './localDevWebsocketServerUtils.js';
|
|
5
5
|
import CLIWebSocketServer from '../../CLIWebSocketServer.js';
|
|
6
6
|
const LOCAL_DEV_WEBSOCKET_SERVER_VERSION = 2;
|
|
7
7
|
const LOG_PREFIX = '[LocalDevWebsocketServer]';
|
|
@@ -78,6 +78,12 @@ class LocalDevWebsocketServer {
|
|
|
78
78
|
this.handleAppInstallInitiated();
|
|
79
79
|
return true;
|
|
80
80
|
}
|
|
81
|
+
else if (isSetAutoUploadWebsocketMessage(message)) {
|
|
82
|
+
if (this.localDevProcess.autoUploadAvailable) {
|
|
83
|
+
this.localDevProcess.setAutoUploadEnabled(message.data.enabled);
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
81
87
|
return false;
|
|
82
88
|
}
|
|
83
89
|
sendProjectData(websocket) {
|
|
@@ -90,6 +96,9 @@ class LocalDevWebsocketServer {
|
|
|
90
96
|
deployedBuild: this.localDevProcess.projectData.deployedBuild,
|
|
91
97
|
targetProjectAccountId: this.localDevProcess.targetProjectAccountId,
|
|
92
98
|
targetTestingAccountId: this.localDevProcess.targetTestingAccountId,
|
|
99
|
+
autoUploadEnabled: this.localDevProcess.autoUploadAvailable
|
|
100
|
+
? this.localDevProcess.autoUploadEnabled
|
|
101
|
+
: undefined,
|
|
93
102
|
},
|
|
94
103
|
});
|
|
95
104
|
}
|
|
@@ -143,14 +152,27 @@ class LocalDevWebsocketServer {
|
|
|
143
152
|
this.localDevProcess.removeStateListener('devServersStarted', listener);
|
|
144
153
|
});
|
|
145
154
|
}
|
|
155
|
+
setupUploadInProgressListener(websocket) {
|
|
156
|
+
const listener = (uploadInProgress) => {
|
|
157
|
+
this.cliWebSocketServer.sendMessage(websocket, {
|
|
158
|
+
type: LOCAL_DEV_UI_MESSAGE_SEND_TYPES.UPLOAD_IN_PROGRESS,
|
|
159
|
+
data: { uploadInProgress },
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
this.localDevProcess.addStateListener('uploadInProgress', listener);
|
|
163
|
+
websocket.on('close', () => {
|
|
164
|
+
this.localDevProcess.removeStateListener('uploadInProgress', listener);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
146
167
|
setupStateListeners(websocket) {
|
|
147
168
|
this.setupProjectNodesListener(websocket);
|
|
148
169
|
this.setupAppDataListener(websocket);
|
|
149
170
|
this.setupUploadWarningsListener(websocket);
|
|
150
171
|
this.setupDevServersStartedListener(websocket);
|
|
172
|
+
this.setupUploadInProgressListener(websocket);
|
|
151
173
|
}
|
|
152
174
|
async start() {
|
|
153
|
-
|
|
175
|
+
await this.cliWebSocketServer.start({
|
|
154
176
|
metadata: {
|
|
155
177
|
localDevWebsocketServerVersion: LOCAL_DEV_WEBSOCKET_SERVER_VERSION,
|
|
156
178
|
},
|
|
@@ -20,11 +20,13 @@ class UIExtensionsDevModeInterface {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
async start() {
|
|
23
|
+
const appId = Object.values(this.localDevState.appData)[0]?.id;
|
|
23
24
|
return UIEDevModeInterface.start({
|
|
24
25
|
accountId: this.localDevState.targetTestingAccountId,
|
|
25
26
|
// @ts-expect-error TODO: reconcile types between CLI and UIE Dev Server
|
|
26
27
|
projectConfig: this.localDevState.projectConfig,
|
|
27
28
|
requestPorts,
|
|
29
|
+
appId,
|
|
28
30
|
});
|
|
29
31
|
}
|
|
30
32
|
async fileChange(filePath, event) {
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { HubSpotConfigAccount } from '@hubspot/local-dev-lib/types/Accounts';
|
|
2
2
|
import { Environment } from '@hubspot/local-dev-lib/types/Accounts';
|
|
3
3
|
import { DeveloperTestAccount } from '@hubspot/local-dev-lib/types/developerTestAccounts.js';
|
|
4
|
-
import { ProjectDevTargetAccountPromptResponse } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
5
|
-
export declare function confirmDefaultAccountIsTarget(accountConfig: HubSpotConfigAccount): Promise<void>;
|
|
6
|
-
export declare function checkIfDefaultAccountIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): Promise<void>;
|
|
7
|
-
export declare function checkIfParentAccountIsAuthed(accountConfig: HubSpotConfigAccount): void;
|
|
8
|
-
export declare function checkIfAccountFlagIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): void;
|
|
9
|
-
export declare function suggestRecommendedNestedAccount(accounts: HubSpotConfigAccount[], accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): Promise<ProjectDevTargetAccountPromptResponse>;
|
|
10
4
|
export declare function createSandboxForLocalDev(accountId: number, accountConfig: HubSpotConfigAccount, env: Environment): Promise<number>;
|
|
11
5
|
export declare function createDeveloperTestAccountForLocalDev(accountId: number, accountConfig: HubSpotConfigAccount, env: Environment, useV2?: boolean): Promise<number>;
|
|
12
|
-
export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<
|
|
6
|
+
export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<boolean>;
|
|
13
7
|
export declare function hasSandboxes(account: HubSpotConfigAccount): Promise<boolean>;
|
|
14
8
|
export declare function selectAccountTypePrompt(accountConfig: HubSpotConfigAccount): Promise<string | null>;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { HUBSPOT_ACCOUNT_TYPE_STRINGS } from '@hubspot/local-dev-lib/constants/config';
|
|
2
|
-
import { getConfigAccountById, getConfigAccountIfExists, } from '@hubspot/local-dev-lib/config';
|
|
3
1
|
import { HUBSPOT_ACCOUNT_TYPES } from '@hubspot/local-dev-lib/constants/config';
|
|
4
2
|
import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
|
|
5
3
|
import { isMissingScopeError } from '@hubspot/local-dev-lib/errors/index';
|
|
@@ -7,96 +5,15 @@ import { PERSONAL_ACCESS_KEY_AUTH_METHOD } from '@hubspot/local-dev-lib/constant
|
|
|
7
5
|
import { getSandboxUsageLimits } from '@hubspot/local-dev-lib/api/sandboxHubs';
|
|
8
6
|
import { uiLogger } from '../../../ui/logger.js';
|
|
9
7
|
import { lib } from '../../../../lang/en.js';
|
|
10
|
-
import { EXIT_CODES } from '../../../enums/exitCodes.js';
|
|
11
|
-
import { confirmDefaultAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
12
|
-
import { isUnifiedAccount } from '../../../accountTypes.js';
|
|
13
|
-
import { isAppDeveloperAccount } from '../../../accountTypes.js';
|
|
14
|
-
import { isDeveloperTestAccount } from '../../../accountTypes.js';
|
|
15
|
-
import { uiAccountDescription } from '../../../ui/index.js';
|
|
16
|
-
import { uiLine } from '../../../ui/index.js';
|
|
17
|
-
import { selectDeveloperTestTargetAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
18
|
-
import { selectSandboxTargetAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
19
8
|
import { validateSandboxUsageLimits } from '../../../sandboxes.js';
|
|
20
9
|
import { logError } from '../../../errorHandlers/index.js';
|
|
21
|
-
import { syncSandbox } from '../../../sandboxSync.js';
|
|
22
|
-
import { getAvailableSyncTypes } from '../../../sandboxes.js';
|
|
23
10
|
import { hubspotAccountNamePrompt } from '../../../prompts/accountNamePrompt.js';
|
|
24
11
|
import { trackCommandMetadataUsage } from '../../../usageTracking.js';
|
|
25
12
|
import { validateDevTestAccountUsageLimits } from '../../../developerTestAccounts.js';
|
|
26
|
-
import {
|
|
13
|
+
import { buildDeveloperTestAccount, saveAccountToConfig, buildV2Sandbox, } from '../../../buildAccount.js';
|
|
27
14
|
import { debugError } from '../../../errorHandlers/index.js';
|
|
28
15
|
import { listPrompt } from '../../../prompts/promptUtils.js';
|
|
29
16
|
import { confirmUseExistingDeveloperTestAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
30
|
-
// If the user passed in the --account flag, confirm they want to use that account as
|
|
31
|
-
// their target account, otherwise exit
|
|
32
|
-
export async function confirmDefaultAccountIsTarget(accountConfig) {
|
|
33
|
-
if (!accountConfig.name || !accountConfig.accountType) {
|
|
34
|
-
uiLogger.error(lib.localDevHelpers.account.confirmDefaultAccountIsTarget.configError);
|
|
35
|
-
process.exit(EXIT_CODES.ERROR);
|
|
36
|
-
}
|
|
37
|
-
uiLogger.log('');
|
|
38
|
-
const useDefaultAccount = await confirmDefaultAccountPrompt(accountConfig.name, HUBSPOT_ACCOUNT_TYPE_STRINGS[accountConfig.accountType]);
|
|
39
|
-
if (!useDefaultAccount) {
|
|
40
|
-
uiLogger.log(lib.localDevHelpers.account.confirmDefaultAccountIsTarget
|
|
41
|
-
.declineDefaultAccountExplanation);
|
|
42
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// Confirm the default account is supported for the type of apps being developed
|
|
46
|
-
export async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps) {
|
|
47
|
-
const defaultAccountIsUnified = await isUnifiedAccount(accountConfig);
|
|
48
|
-
if (hasPublicApps &&
|
|
49
|
-
!(isAppDeveloperAccount(accountConfig) ||
|
|
50
|
-
isDeveloperTestAccount(accountConfig) ||
|
|
51
|
-
defaultAccountIsUnified)) {
|
|
52
|
-
uiLogger.error(lib.localDevHelpers.account.checkIfDefaultAccountIsSupported.publicApp);
|
|
53
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
54
|
-
}
|
|
55
|
-
else if (!hasPublicApps && isAppDeveloperAccount(accountConfig)) {
|
|
56
|
-
uiLogger.error(lib.localDevHelpers.account.checkIfDefaultAccountIsSupported.privateApp);
|
|
57
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export function checkIfParentAccountIsAuthed(accountConfig) {
|
|
61
|
-
if (!accountConfig.parentAccountId ||
|
|
62
|
-
!getConfigAccountIfExists(accountConfig.parentAccountId)?.accountId) {
|
|
63
|
-
uiLogger.error(lib.localDevHelpers.account.checkIfParentAccountIsAuthed.notAuthedError(accountConfig.parentAccountId || '', uiAccountDescription(accountConfig.accountId)));
|
|
64
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// Confirm the default account is a developer account if developing public apps
|
|
68
|
-
export function checkIfAccountFlagIsSupported(accountConfig, hasPublicApps) {
|
|
69
|
-
if (hasPublicApps) {
|
|
70
|
-
if (!isDeveloperTestAccount(accountConfig)) {
|
|
71
|
-
uiLogger.error(lib.localDevHelpers.account.validateAccountOption
|
|
72
|
-
.invalidPublicAppAccount);
|
|
73
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
74
|
-
}
|
|
75
|
-
checkIfParentAccountIsAuthed(accountConfig);
|
|
76
|
-
}
|
|
77
|
-
else if (isAppDeveloperAccount(accountConfig)) {
|
|
78
|
-
uiLogger.error(lib.localDevHelpers.account.validateAccountOption.invalidPrivateAppAccount);
|
|
79
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// If the user isn't using the recommended account type, prompt them to use or create one
|
|
83
|
-
export async function suggestRecommendedNestedAccount(accounts, accountConfig, hasPublicApps) {
|
|
84
|
-
uiLogger.log('');
|
|
85
|
-
uiLine();
|
|
86
|
-
if (hasPublicApps) {
|
|
87
|
-
uiLogger.log(lib.localDevHelpers.account.validateAccountOption
|
|
88
|
-
.publicAppNonDeveloperTestAccountWarning);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
uiLogger.log(lib.localDevHelpers.account.validateAccountOption.nonSandboxWarning);
|
|
92
|
-
}
|
|
93
|
-
uiLine();
|
|
94
|
-
uiLogger.log('');
|
|
95
|
-
const targetAccountPrompt = hasPublicApps
|
|
96
|
-
? selectDeveloperTestTargetAccountPrompt
|
|
97
|
-
: selectSandboxTargetAccountPrompt;
|
|
98
|
-
return targetAccountPrompt(accounts, accountConfig);
|
|
99
|
-
}
|
|
100
17
|
// Create a new sandbox and return its accountId
|
|
101
18
|
export async function createSandboxForLocalDev(accountId, accountConfig, env) {
|
|
102
19
|
try {
|
|
@@ -112,24 +29,20 @@ export async function createSandboxForLocalDev(accountId, accountConfig, env) {
|
|
|
112
29
|
else {
|
|
113
30
|
logError(err);
|
|
114
31
|
}
|
|
115
|
-
|
|
32
|
+
throw err;
|
|
116
33
|
}
|
|
117
34
|
try {
|
|
118
35
|
const { name } = await hubspotAccountNamePrompt({
|
|
119
36
|
accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
|
|
120
37
|
});
|
|
121
38
|
trackCommandMetadataUsage('sandbox-create', { step: 'project-dev' }, accountId);
|
|
122
|
-
const result = await
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const syncTasks = await getAvailableSyncTypes(accountConfig, sandboxAccountConfig);
|
|
126
|
-
// For v1 sandboxes, keep sync here. Once we migrate to v2, this will be handled by BE automatically
|
|
127
|
-
await syncSandbox(sandboxAccountConfig, accountConfig, env, syncTasks, true);
|
|
128
|
-
return targetAccountId;
|
|
39
|
+
const result = await buildV2Sandbox(name, accountConfig, HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX, false, // syncObjectRecords
|
|
40
|
+
env);
|
|
41
|
+
return result.sandbox.sandboxHubId;
|
|
129
42
|
}
|
|
130
43
|
catch (err) {
|
|
131
44
|
logError(err);
|
|
132
|
-
|
|
45
|
+
throw err;
|
|
133
46
|
}
|
|
134
47
|
}
|
|
135
48
|
// Create a developer test account and return its accountId
|
|
@@ -155,7 +68,7 @@ export async function createDeveloperTestAccountForLocalDev(accountId, accountCo
|
|
|
155
68
|
else {
|
|
156
69
|
logError(err);
|
|
157
70
|
}
|
|
158
|
-
|
|
71
|
+
throw err;
|
|
159
72
|
}
|
|
160
73
|
try {
|
|
161
74
|
const { name } = await hubspotAccountNamePrompt({
|
|
@@ -163,12 +76,11 @@ export async function createDeveloperTestAccountForLocalDev(accountId, accountCo
|
|
|
163
76
|
accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
|
|
164
77
|
});
|
|
165
78
|
trackCommandMetadataUsage('developer-test-account-create', { step: 'project-dev' }, accountId);
|
|
166
|
-
|
|
167
|
-
return result;
|
|
79
|
+
return await buildDeveloperTestAccount(name, accountConfig, env, maxTestPortals, useV2);
|
|
168
80
|
}
|
|
169
81
|
catch (err) {
|
|
170
82
|
logError(err);
|
|
171
|
-
|
|
83
|
+
throw err;
|
|
172
84
|
}
|
|
173
85
|
}
|
|
174
86
|
// Prompt user to confirm usage of an existing developer test account that is not currently in the config
|
|
@@ -176,13 +88,13 @@ export async function useExistingDevTestAccount(env, account) {
|
|
|
176
88
|
const useExistingDevTestAcct = await confirmUseExistingDeveloperTestAccountPrompt(account);
|
|
177
89
|
if (!useExistingDevTestAcct) {
|
|
178
90
|
uiLogger.log('');
|
|
179
|
-
uiLogger.log(lib.localDevHelpers.account.
|
|
180
|
-
.declineDefaultAccountExplanation);
|
|
91
|
+
uiLogger.log(lib.localDevHelpers.account.declineDefaultAccountExplanation);
|
|
181
92
|
uiLogger.log('');
|
|
182
|
-
|
|
93
|
+
return false;
|
|
183
94
|
}
|
|
184
95
|
const devTestAcctConfigName = await saveAccountToConfig(account.id, account.accountName, env);
|
|
185
96
|
uiLogger.success(lib.developerTestAccount.create.success.configFileUpdated(devTestAcctConfigName, PERSONAL_ACCESS_KEY_AUTH_METHOD.name));
|
|
97
|
+
return true;
|
|
186
98
|
}
|
|
187
99
|
export async function hasSandboxes(account) {
|
|
188
100
|
const accountId = account.accountId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function isLocalDevRunning(): Promise<boolean>;
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID } from '../../../constants.js';
|
|
2
|
-
import { EXIT_CODES } from '../../../enums/exitCodes.js';
|
|
3
2
|
import { getServerPortByInstanceId } from '@hubspot/local-dev-lib/portManager';
|
|
4
|
-
|
|
5
|
-
import { commands } from '../../../../lang/en.js';
|
|
6
|
-
export async function confirmLocalDevIsNotRunning() {
|
|
3
|
+
export async function isLocalDevRunning() {
|
|
7
4
|
try {
|
|
8
5
|
const existingPortInUse = await getServerPortByInstanceId(LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID);
|
|
9
|
-
|
|
10
|
-
uiLogger.error(commands.project.dev.errors.localDevAlreadyRunning);
|
|
11
|
-
process.exit(EXIT_CODES.ERROR);
|
|
12
|
-
}
|
|
6
|
+
return Boolean(existingPortInUse);
|
|
13
7
|
}
|
|
14
|
-
catch
|
|
15
|
-
return;
|
|
8
|
+
catch {
|
|
9
|
+
return false;
|
|
16
10
|
}
|
|
17
11
|
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { type IntermediateRepresentationNode, type IntermediateRepresentationNodeLocalDev } from '@hubspot/project-parsing-lib/translate';
|
|
2
2
|
import { Build } from '@hubspot/local-dev-lib/types/Build';
|
|
3
3
|
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
4
|
-
import { ProjectConfig } from '../../../../types/Projects.js';
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
4
|
+
import { LocallyChangedComponents, ProjectConfig } from '../../../../types/Projects.js';
|
|
5
|
+
import { ExitFunction } from '../../../../types/Yargs.js';
|
|
6
|
+
export declare function createNewProjectForLocalDev(projectConfig: ProjectConfig, targetAccountId: number, shouldCreateWithoutConfirmation: boolean, hasPublicApps: boolean, exit: ExitFunction): Promise<Project>;
|
|
7
|
+
export declare function createInitialBuildForNewProject(projectConfig: ProjectConfig, projectDir: string, targetAccountId: number, exit: ExitFunction, sendIR?: boolean, profile?: string): Promise<Build>;
|
|
7
8
|
export declare function compareLocalProjectToDeployed(projectConfig: ProjectConfig, accountId: number, deployedBuildId: number | undefined, localProjectNodes: {
|
|
8
9
|
[key: string]: IntermediateRepresentationNodeLocalDev;
|
|
9
|
-
}, profile?: string): Promise<void>;
|
|
10
|
+
}, exit: ExitFunction, profile?: string): Promise<void>;
|
|
10
11
|
export declare function getDeployedProjectNodes(projectConfig: ProjectConfig, accountId: number, deployedBuildId: number, profile?: string): Promise<{
|
|
11
12
|
[key: string]: IntermediateRepresentationNode;
|
|
12
13
|
}>;
|
|
13
|
-
export declare function
|
|
14
|
+
export declare function hasLocalComponentChanges(changed: LocallyChangedComponents): boolean;
|
|
15
|
+
export declare function getLocallyChangedComponents(projectConfig: ProjectConfig, accountId: number, deployedBuildId: number, localProjectNodes: {
|
|
14
16
|
[key: string]: IntermediateRepresentationNodeLocalDev;
|
|
15
|
-
}, profile?: string): Promise<
|
|
17
|
+
}, profile?: string): Promise<LocallyChangedComponents>;
|
|
16
18
|
export declare function checkAndInstallDependencies(): Promise<void>;
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import os from 'os';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import { createProject } from '@hubspot/local-dev-lib/api/projects';
|
|
5
|
-
import { downloadProject } from '@hubspot/local-dev-lib/api/projects';
|
|
4
|
+
import { createProject, downloadProject, } from '@hubspot/local-dev-lib/api/projects';
|
|
6
5
|
import { extractZipArchive } from '@hubspot/local-dev-lib/archive';
|
|
7
6
|
import { sanitizeFileName } from '@hubspot/local-dev-lib/path';
|
|
8
7
|
import { isDeepEqual } from '@hubspot/local-dev-lib/isDeepEqual';
|
|
9
8
|
import { translate, } from '@hubspot/project-parsing-lib/translate';
|
|
9
|
+
import { AUTO_GENERATED_COMPONENT_TYPES } from '@hubspot/project-parsing-lib/constants';
|
|
10
|
+
import { mapToUserFacingType } from '@hubspot/project-parsing-lib/transform';
|
|
10
11
|
import { isSpecifiedError } from '@hubspot/local-dev-lib/errors/index';
|
|
11
|
-
import {
|
|
12
|
+
import { PROJECT_BUILD_TEXT, PROJECT_CONFIG_FILE, PROJECT_DEPLOY_TEXT, PROJECT_ERROR_TYPES, } from '../../../constants.js';
|
|
12
13
|
import { lib } from '../../../../lang/en.js';
|
|
13
14
|
import { uiLogger } from '../../../ui/logger.js';
|
|
14
|
-
import { uiLine } from '../../../ui/index.js';
|
|
15
|
+
import { uiAccountDescription, uiLine } from '../../../ui/index.js';
|
|
15
16
|
import { confirmPrompt } from '../../../prompts/promptUtils.js';
|
|
16
|
-
import { uiAccountDescription } from '../../../ui/index.js';
|
|
17
17
|
import SpinniesManager from '../../../ui/SpinniesManager.js';
|
|
18
18
|
import { EXIT_CODES } from '../../../enums/exitCodes.js';
|
|
19
19
|
import { handleProjectUpload } from '../../upload.js';
|
|
20
20
|
import { pollProjectBuildAndDeploy } from '../../pollProjectBuildAndDeploy.js';
|
|
21
|
-
import { debugError, logError } from '../../../errorHandlers/index.js';
|
|
22
|
-
import { ApiErrorContext } from '../../../errorHandlers/index.js';
|
|
21
|
+
import { ApiErrorContext, debugError, logError, } from '../../../errorHandlers/index.js';
|
|
23
22
|
import { getProjectPackageJsonLocations, hasMissingPackages, installPackages, } from '../../../dependencyManagement.js';
|
|
24
23
|
// Prompt the user to create a new project if one doesn't exist on their target account
|
|
25
|
-
export async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps) {
|
|
24
|
+
export async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps, exit) {
|
|
26
25
|
// Create the project without prompting if this is a newly created sandbox
|
|
27
26
|
let shouldCreateProject = shouldCreateWithoutConfirmation;
|
|
28
27
|
if (!shouldCreateProject) {
|
|
@@ -54,7 +53,7 @@ export async function createNewProjectForLocalDev(projectConfig, targetAccountId
|
|
|
54
53
|
SpinniesManager.fail('createProject');
|
|
55
54
|
uiLogger.log(lib.localDevHelpers.project.createNewProjectForLocalDev
|
|
56
55
|
.failedToCreateProject);
|
|
57
|
-
|
|
56
|
+
return exit(EXIT_CODES.ERROR);
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
else {
|
|
@@ -62,30 +61,31 @@ export async function createNewProjectForLocalDev(projectConfig, targetAccountId
|
|
|
62
61
|
uiLogger.log('');
|
|
63
62
|
uiLogger.log(lib.localDevHelpers.project.createNewProjectForLocalDev
|
|
64
63
|
.choseNotToCreateProject);
|
|
65
|
-
|
|
64
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
66
65
|
}
|
|
67
66
|
}
|
|
68
|
-
function projectUploadCallback(accountId, projectConfig, tempFile, buildId) {
|
|
67
|
+
function projectUploadCallback(accountId, projectConfig, tempFile, exit, buildId) {
|
|
69
68
|
if (!buildId) {
|
|
70
69
|
uiLogger.error(lib.localDevHelpers.project.createInitialBuildForNewProject.genericError);
|
|
71
|
-
|
|
70
|
+
return exit(EXIT_CODES.ERROR);
|
|
72
71
|
}
|
|
73
|
-
return pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, true);
|
|
72
|
+
return pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, { silenceLogs: true });
|
|
74
73
|
}
|
|
75
74
|
// Create an initial build if the project was newly created in the account
|
|
76
75
|
// Return the newly deployed build
|
|
77
|
-
export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR, profile) {
|
|
76
|
+
export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, exit, sendIR, profile) {
|
|
78
77
|
const { result: initialUploadResult, uploadError } = await handleProjectUpload({
|
|
79
78
|
accountId: targetAccountId,
|
|
80
79
|
projectConfig,
|
|
81
80
|
projectDir,
|
|
82
|
-
callbackFunc: projectUploadCallback,
|
|
81
|
+
callbackFunc: (accountId, config, tempFile, buildId) => projectUploadCallback(accountId, config, tempFile, exit, buildId),
|
|
83
82
|
uploadMessage: lib.localDevHelpers.project.createInitialBuildForNewProject
|
|
84
83
|
.initialUploadMessage,
|
|
85
84
|
forceCreate: true,
|
|
86
85
|
skipValidation: true,
|
|
87
86
|
sendIR,
|
|
88
87
|
profile,
|
|
88
|
+
force: true,
|
|
89
89
|
});
|
|
90
90
|
if (uploadError) {
|
|
91
91
|
if (isSpecifiedError(uploadError, {
|
|
@@ -102,7 +102,7 @@ export async function createInitialBuildForNewProject(projectConfig, projectDir,
|
|
|
102
102
|
projectName: projectConfig.name,
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
return exit(EXIT_CODES.ERROR);
|
|
106
106
|
}
|
|
107
107
|
if (!initialUploadResult?.succeeded) {
|
|
108
108
|
let subTasks = [];
|
|
@@ -120,21 +120,21 @@ export async function createInitialBuildForNewProject(projectConfig, projectDir,
|
|
|
120
120
|
uiLogger.error(failedSubTask.errorMessage);
|
|
121
121
|
});
|
|
122
122
|
uiLogger.log('');
|
|
123
|
-
|
|
123
|
+
return exit(EXIT_CODES.ERROR);
|
|
124
124
|
}
|
|
125
125
|
return initialUploadResult.buildResult;
|
|
126
126
|
}
|
|
127
|
-
export async function compareLocalProjectToDeployed(projectConfig, accountId, deployedBuildId, localProjectNodes, profile) {
|
|
127
|
+
export async function compareLocalProjectToDeployed(projectConfig, accountId, deployedBuildId, localProjectNodes, exit, profile) {
|
|
128
128
|
uiLogger.log('');
|
|
129
129
|
if (!deployedBuildId) {
|
|
130
130
|
uiLogger.error(lib.localDevHelpers.project.compareLocalProjectToDeployed.noDeployedBuild(projectConfig.name, uiAccountDescription(accountId)));
|
|
131
|
-
|
|
131
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
132
132
|
}
|
|
133
133
|
SpinniesManager.add('compareLocalProjectToDeployed', {
|
|
134
134
|
text: lib.localDevHelpers.project.compareLocalProjectToDeployed.checking,
|
|
135
135
|
});
|
|
136
|
-
const
|
|
137
|
-
if (
|
|
136
|
+
const changedComponents = await getLocallyChangedComponents(projectConfig, accountId, deployedBuildId, localProjectNodes, profile);
|
|
137
|
+
if (!hasLocalComponentChanges(changedComponents)) {
|
|
138
138
|
SpinniesManager.succeed('compareLocalProjectToDeployed', {
|
|
139
139
|
text: lib.localDevHelpers.project.compareLocalProjectToDeployed.upToDate,
|
|
140
140
|
});
|
|
@@ -145,8 +145,10 @@ export async function compareLocalProjectToDeployed(projectConfig, accountId, de
|
|
|
145
145
|
.notUpToDate,
|
|
146
146
|
});
|
|
147
147
|
uiLogger.log('');
|
|
148
|
+
uiLogger.log(lib.localDevHelpers.project.compareLocalProjectToDeployed.changedFiles(changedComponents));
|
|
149
|
+
uiLogger.log('');
|
|
148
150
|
uiLogger.log(lib.localDevHelpers.project.compareLocalProjectToDeployed.notUpToDateExplanation(profile));
|
|
149
|
-
|
|
151
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
export async function getDeployedProjectNodes(projectConfig, accountId, deployedBuildId, profile) {
|
|
@@ -155,13 +157,29 @@ export async function getDeployedProjectNodes(projectConfig, accountId, deployed
|
|
|
155
157
|
tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'hubspot-project-compare-'));
|
|
156
158
|
const { data: zippedProject } = await downloadProject(accountId, projectConfig.name, deployedBuildId);
|
|
157
159
|
await extractZipArchive(zippedProject, sanitizeFileName(projectConfig.name), tempDir, { hideLogs: true });
|
|
158
|
-
|
|
159
|
-
|
|
160
|
+
// Read the deployed project's hsproject.json to get its srcDir
|
|
161
|
+
// Deployed projects always use "src" as the srcDir
|
|
162
|
+
const possibleProjectPaths = [
|
|
163
|
+
path.join(tempDir, PROJECT_CONFIG_FILE),
|
|
164
|
+
path.join(tempDir, sanitizeFileName(projectConfig.name), PROJECT_CONFIG_FILE),
|
|
165
|
+
];
|
|
166
|
+
let deployedSrcDir = 'src';
|
|
167
|
+
for (const projectJsonPath of possibleProjectPaths) {
|
|
168
|
+
if (await fs.pathExists(projectJsonPath)) {
|
|
169
|
+
const deployedProjectConfig = await fs.readJson(projectJsonPath);
|
|
170
|
+
if (deployedProjectConfig.srcDir) {
|
|
171
|
+
deployedSrcDir = deployedProjectConfig.srcDir;
|
|
172
|
+
}
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const deployedProjectSourceDir = path.join(tempDir, deployedSrcDir);
|
|
177
|
+
const { intermediateRepresentation } = await translate({
|
|
160
178
|
projectSourceDir: deployedProjectSourceDir,
|
|
161
179
|
platformVersion: projectConfig.platformVersion,
|
|
162
180
|
accountId: accountId,
|
|
163
181
|
}, { profile });
|
|
164
|
-
return intermediateNodesIndexedByUid;
|
|
182
|
+
return intermediateRepresentation.intermediateNodesIndexedByUid;
|
|
165
183
|
}
|
|
166
184
|
finally {
|
|
167
185
|
if (tempDir && (await fs.pathExists(tempDir))) {
|
|
@@ -169,14 +187,47 @@ export async function getDeployedProjectNodes(projectConfig, accountId, deployed
|
|
|
169
187
|
}
|
|
170
188
|
}
|
|
171
189
|
}
|
|
172
|
-
|
|
190
|
+
function filterAutoGeneratedNodes(nodes) {
|
|
191
|
+
return Object.fromEntries(Object.entries(nodes).filter(([, node]) => !AUTO_GENERATED_COMPONENT_TYPES.includes(mapToUserFacingType(node.componentType))));
|
|
192
|
+
}
|
|
193
|
+
export function hasLocalComponentChanges(changed) {
|
|
194
|
+
return (changed.added.length > 0 ||
|
|
195
|
+
changed.updated.length > 0 ||
|
|
196
|
+
changed.removed.length > 0);
|
|
197
|
+
}
|
|
198
|
+
export async function getLocallyChangedComponents(projectConfig, accountId, deployedBuildId, localProjectNodes, profile) {
|
|
199
|
+
const result = {
|
|
200
|
+
added: [],
|
|
201
|
+
updated: [],
|
|
202
|
+
removed: [],
|
|
203
|
+
};
|
|
173
204
|
try {
|
|
174
205
|
const deployedProjectNodes = await getDeployedProjectNodes(projectConfig, accountId, deployedBuildId, profile);
|
|
175
|
-
|
|
206
|
+
const filteredLocal = filterAutoGeneratedNodes(localProjectNodes);
|
|
207
|
+
const filteredDeployed = filterAutoGeneratedNodes(deployedProjectNodes);
|
|
208
|
+
const allUids = new Set([
|
|
209
|
+
...Object.keys(filteredLocal),
|
|
210
|
+
...Object.keys(filteredDeployed),
|
|
211
|
+
]);
|
|
212
|
+
for (const uid of allUids) {
|
|
213
|
+
const local = filteredLocal[uid];
|
|
214
|
+
const deployed = filteredDeployed[uid];
|
|
215
|
+
if (!local) {
|
|
216
|
+
result.removed.push(path.join(projectConfig.srcDir, deployed.metaFilePath));
|
|
217
|
+
}
|
|
218
|
+
else if (!deployed) {
|
|
219
|
+
result.added.push(path.join(projectConfig.srcDir, local.metaFilePath));
|
|
220
|
+
}
|
|
221
|
+
else if (!isDeepEqual(local, deployed, ['localDev', 'componentDeps'])) {
|
|
222
|
+
result.updated.push(path.join(projectConfig.srcDir, local.metaFilePath));
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return result;
|
|
176
226
|
}
|
|
177
227
|
catch (err) {
|
|
178
228
|
debugError(err);
|
|
179
|
-
|
|
229
|
+
uiLogger.warn(lib.localDevHelpers.project.compareLocalProjectToDeployed.unableToCompare);
|
|
230
|
+
return result;
|
|
180
231
|
}
|
|
181
232
|
}
|
|
182
233
|
export async function checkAndInstallDependencies() {
|
|
@@ -211,6 +262,6 @@ export async function checkAndInstallDependencies() {
|
|
|
211
262
|
text: lib.localDevHelpers.project.checkAndInstallDependencies
|
|
212
263
|
.dependenciesFailure,
|
|
213
264
|
});
|
|
214
|
-
|
|
265
|
+
throw e;
|
|
215
266
|
}
|
|
216
267
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { LocalDevDeployWebsocketMessage } from '../../../types/LocalDev.js';
|
|
1
|
+
import { LocalDevDeployWebsocketMessage, LocalDevSetAutoUploadWebsocketMessage } from '../../../types/LocalDev.js';
|
|
2
2
|
import { CLIWebSocketMessage } from '../../CLIWebSocketServer.js';
|
|
3
3
|
export declare function isUploadWebsocketMessage(message: CLIWebSocketMessage): boolean;
|
|
4
4
|
export declare function isDeployWebsocketMessage(message: CLIWebSocketMessage): message is LocalDevDeployWebsocketMessage;
|
|
5
|
+
export declare function isSetAutoUploadWebsocketMessage(message: CLIWebSocketMessage): message is LocalDevSetAutoUploadWebsocketMessage;
|
|
5
6
|
export declare function isViewedWelcomeScreenWebsocketMessage(message: CLIWebSocketMessage): boolean;
|
|
6
7
|
export declare function isAppInstallSuccessWebsocketMessage(message: CLIWebSocketMessage): boolean;
|
|
7
8
|
export declare function isAppInstallInitiatedWebsocketMessage(message: CLIWebSocketMessage): boolean;
|