@hubspot/cli 8.2.0-beta.0 → 8.2.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/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 +23 -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 +10 -0
- package/commands/api.js +164 -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 +122 -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 +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 +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 +16 -8
- 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 +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 +6 -4
- 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 +16 -15
- package/commands/mcp/setup.js +5 -6
- package/commands/mcp/start.js +2 -3
- 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 +133 -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 +68 -0
- package/commands/project/installDeps.js +9 -6
- package/commands/project/lint.js +43 -12
- package/commands/project/list.d.ts +2 -2
- package/commands/project/list.js +15 -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/release/create.d.ts +7 -0
- package/commands/project/release/create.js +159 -0
- package/commands/project/release/info.d.ts +6 -0
- package/commands/project/release/info.js +147 -0
- package/commands/project/release/list.d.ts +6 -0
- package/commands/project/release/list.js +111 -0
- package/commands/project/release.d.ts +3 -0
- package/commands/project/release.js +20 -0
- package/commands/project/updateDeps.js +9 -6
- package/commands/project/upload.d.ts +3 -0
- package/commands/project/upload.js +107 -25
- package/commands/project/validate.js +12 -12
- package/commands/project/watch.js +22 -22
- package/commands/project.js +14 -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 +441 -9
- package/lang/en.js +456 -22
- 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/api/usageTracking.d.ts +30 -0
- package/lib/api/usageTracking.js +11 -0
- package/lib/app/logs.d.ts +38 -0
- package/lib/app/logs.js +225 -0
- package/lib/app/migrate.js +18 -5
- package/lib/app/urls.d.ts +2 -0
- package/lib/app/urls.js +7 -0
- package/lib/auth/awaitPersonalAccessKeyOverWebsocket.d.ts +4 -0
- package/lib/auth/awaitPersonalAccessKeyOverWebsocket.js +145 -0
- package/lib/buildAccount.d.ts +1 -6
- package/lib/buildAccount.js +10 -43
- package/lib/commonOpts.js +0 -1
- package/lib/constants.d.ts +10 -3
- package/lib/constants.js +12 -3
- 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/getStartedV2Actions.js +3 -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/middleware/autoUpdateMiddleware.js +6 -3
- package/lib/middleware/commandTargetingUtils.js +1 -0
- 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 +2 -2
- package/lib/projects/create/legacy.js +2 -2
- package/lib/projects/create/v2.js +4 -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/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/LocalDevWebsocketServer.js +1 -1
- package/lib/projects/localDev/UIExtensionsDevModeInterface.js +2 -0
- 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 +32 -16
- 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 +1 -2
- package/lib/projects/projectProfiles.js +5 -17
- package/lib/projects/uieLinting.d.ts +21 -3
- package/lib/projects/uieLinting.js +132 -28
- package/lib/projects/upload.d.ts +3 -1
- package/lib/projects/upload.js +46 -7
- 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 +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/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 +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/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 +9 -20
- package/lib/usageTracking.js +68 -30
- package/lib/yargs/makeWrappedYargsHandler.d.ts +3 -0
- package/lib/yargs/makeWrappedYargsHandler.js +121 -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 +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 +10 -8
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsCreateModuleTool.js +12 -11
- package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +10 -8
- package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +10 -9
- package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsListFunctionsTool.js +10 -9
- package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
- package/mcp-server/tools/cms/HsListTool.js +10 -8
- 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 +6 -3
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +9 -7
- package/mcp-server/tools/project/CreateProjectTool.d.ts +6 -3
- package/mcp-server/tools/project/CreateProjectTool.js +10 -7
- package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
- package/mcp-server/tools/project/CreateTestAccountTool.js +21 -9
- package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
- package/mcp-server/tools/project/DeployProjectTool.js +5 -7
- 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 +8 -6
- 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 +4 -2
- package/mcp-server/tools/project/GetBuildLogsTool.js +9 -7
- package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
- package/mcp-server/tools/project/GetBuildStatusTool.js +9 -7
- 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 +4 -2
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
- package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
- package/mcp-server/tools/project/UploadProjectTools.js +10 -8
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
- package/mcp-server/tools/project/ValidateProjectTool.js +9 -7
- package/mcp-server/tools/project/constants.d.ts +2 -1
- package/mcp-server/tools/project/constants.js +2 -1
- package/mcp-server/types.d.ts +0 -7
- package/mcp-server/types.js +1 -13
- package/mcp-server/utils/command.js +3 -1
- package/mcp-server/utils/config.js +1 -0
- package/mcp-server/utils/logger.d.ts +10 -0
- package/mcp-server/utils/logger.js +29 -0
- package/mcp-server/utils/toolUsageTracking.js +10 -8
- package/package.json +16 -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/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/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/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,8 @@ declare class LocalDevState {
|
|
|
21
21
|
private _devServerMessage;
|
|
22
22
|
private _uploadWarnings;
|
|
23
23
|
private _devServersStarted;
|
|
24
|
-
|
|
24
|
+
actions: LocalDevActions;
|
|
25
|
+
constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, actions, }: LocalDevStateConstructorOptions);
|
|
25
26
|
private runListeners;
|
|
26
27
|
get targetProjectAccountId(): number;
|
|
27
28
|
get targetTestingAccountId(): number;
|
|
@@ -16,7 +16,8 @@ class LocalDevState {
|
|
|
16
16
|
_devServerMessage;
|
|
17
17
|
_uploadWarnings;
|
|
18
18
|
_devServersStarted;
|
|
19
|
-
|
|
19
|
+
actions;
|
|
20
|
+
constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, actions, }) {
|
|
20
21
|
this._targetProjectAccountId = targetProjectAccountId;
|
|
21
22
|
this._targetTestingAccountId = targetTestingAccountId;
|
|
22
23
|
this._profile = profile;
|
|
@@ -32,6 +33,7 @@ class LocalDevState {
|
|
|
32
33
|
this._devServerMessage = LOCAL_DEV_SERVER_MESSAGE_TYPES.INITIAL;
|
|
33
34
|
this._uploadWarnings = new Set();
|
|
34
35
|
this._devServersStarted = false;
|
|
36
|
+
this.actions = actions;
|
|
35
37
|
this._listeners = {};
|
|
36
38
|
}
|
|
37
39
|
runListeners(key) {
|
|
@@ -150,7 +150,7 @@ class LocalDevWebsocketServer {
|
|
|
150
150
|
this.setupDevServersStartedListener(websocket);
|
|
151
151
|
}
|
|
152
152
|
async start() {
|
|
153
|
-
|
|
153
|
+
await this.cliWebSocketServer.start({
|
|
154
154
|
metadata: {
|
|
155
155
|
localDevWebsocketServerVersion: LOCAL_DEV_WEBSOCKET_SERVER_VERSION,
|
|
156
156
|
},
|
|
@@ -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) {
|
|
@@ -2,13 +2,14 @@ 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
4
|
import { ProjectDevTargetAccountPromptResponse } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
5
|
+
import { ExitFunction } from '../../../../types/Yargs.js';
|
|
6
|
+
export declare function confirmDefaultAccountIsTarget(accountConfig: HubSpotConfigAccount, exit: ExitFunction): Promise<void>;
|
|
7
|
+
export declare function checkIfDefaultAccountIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean, exit: ExitFunction): Promise<void>;
|
|
7
8
|
export declare function checkIfParentAccountIsAuthed(accountConfig: HubSpotConfigAccount): void;
|
|
8
9
|
export declare function checkIfAccountFlagIsSupported(accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): void;
|
|
9
10
|
export declare function suggestRecommendedNestedAccount(accounts: HubSpotConfigAccount[], accountConfig: HubSpotConfigAccount, hasPublicApps: boolean): Promise<ProjectDevTargetAccountPromptResponse>;
|
|
10
11
|
export declare function createSandboxForLocalDev(accountId: number, accountConfig: HubSpotConfigAccount, env: Environment): Promise<number>;
|
|
11
12
|
export declare function createDeveloperTestAccountForLocalDev(accountId: number, accountConfig: HubSpotConfigAccount, env: Environment, useV2?: boolean): Promise<number>;
|
|
12
|
-
export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<
|
|
13
|
+
export declare function useExistingDevTestAccount(env: Environment, account: DeveloperTestAccount): Promise<boolean>;
|
|
13
14
|
export declare function hasSandboxes(account: HubSpotConfigAccount): Promise<boolean>;
|
|
14
15
|
export declare function selectAccountTypePrompt(accountConfig: HubSpotConfigAccount): Promise<string | null>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HUBSPOT_ACCOUNT_TYPE_STRINGS } from '@hubspot/local-dev-lib/constants/config';
|
|
2
|
-
import {
|
|
2
|
+
import { getConfigAccountIfExists } from '@hubspot/local-dev-lib/config';
|
|
3
3
|
import { HUBSPOT_ACCOUNT_TYPES } from '@hubspot/local-dev-lib/constants/config';
|
|
4
4
|
import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
|
|
5
5
|
import { isMissingScopeError } from '@hubspot/local-dev-lib/errors/index';
|
|
@@ -18,65 +18,60 @@ import { selectDeveloperTestTargetAccountPrompt } from '../../../prompts/project
|
|
|
18
18
|
import { selectSandboxTargetAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
19
19
|
import { validateSandboxUsageLimits } from '../../../sandboxes.js';
|
|
20
20
|
import { logError } from '../../../errorHandlers/index.js';
|
|
21
|
-
import { syncSandbox } from '../../../sandboxSync.js';
|
|
22
|
-
import { getAvailableSyncTypes } from '../../../sandboxes.js';
|
|
23
21
|
import { hubspotAccountNamePrompt } from '../../../prompts/accountNamePrompt.js';
|
|
24
22
|
import { trackCommandMetadataUsage } from '../../../usageTracking.js';
|
|
25
23
|
import { validateDevTestAccountUsageLimits } from '../../../developerTestAccounts.js';
|
|
26
|
-
import {
|
|
24
|
+
import { buildDeveloperTestAccount, saveAccountToConfig, buildV2Sandbox, } from '../../../buildAccount.js';
|
|
27
25
|
import { debugError } from '../../../errorHandlers/index.js';
|
|
28
26
|
import { listPrompt } from '../../../prompts/promptUtils.js';
|
|
29
27
|
import { confirmUseExistingDeveloperTestAccountPrompt } from '../../../prompts/projectDevTargetAccountPrompt.js';
|
|
30
28
|
// If the user passed in the --account flag, confirm they want to use that account as
|
|
31
29
|
// their target account, otherwise exit
|
|
32
|
-
export async function confirmDefaultAccountIsTarget(accountConfig) {
|
|
30
|
+
export async function confirmDefaultAccountIsTarget(accountConfig, exit) {
|
|
33
31
|
if (!accountConfig.name || !accountConfig.accountType) {
|
|
34
32
|
uiLogger.error(lib.localDevHelpers.account.confirmDefaultAccountIsTarget.configError);
|
|
35
|
-
|
|
33
|
+
return exit(EXIT_CODES.ERROR);
|
|
36
34
|
}
|
|
37
35
|
uiLogger.log('');
|
|
38
36
|
const useDefaultAccount = await confirmDefaultAccountPrompt(accountConfig.name, HUBSPOT_ACCOUNT_TYPE_STRINGS[accountConfig.accountType]);
|
|
39
37
|
if (!useDefaultAccount) {
|
|
40
38
|
uiLogger.log(lib.localDevHelpers.account.confirmDefaultAccountIsTarget
|
|
41
39
|
.declineDefaultAccountExplanation);
|
|
42
|
-
|
|
40
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
// Confirm the default account is supported for the type of apps being developed
|
|
46
|
-
export async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps) {
|
|
44
|
+
export async function checkIfDefaultAccountIsSupported(accountConfig, hasPublicApps, exit) {
|
|
47
45
|
const defaultAccountIsUnified = await isUnifiedAccount(accountConfig);
|
|
48
46
|
if (hasPublicApps &&
|
|
49
47
|
!(isAppDeveloperAccount(accountConfig) ||
|
|
50
48
|
isDeveloperTestAccount(accountConfig) ||
|
|
51
49
|
defaultAccountIsUnified)) {
|
|
52
50
|
uiLogger.error(lib.localDevHelpers.account.checkIfDefaultAccountIsSupported.publicApp);
|
|
53
|
-
|
|
51
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
54
52
|
}
|
|
55
53
|
else if (!hasPublicApps && isAppDeveloperAccount(accountConfig)) {
|
|
56
54
|
uiLogger.error(lib.localDevHelpers.account.checkIfDefaultAccountIsSupported.privateApp);
|
|
57
|
-
|
|
55
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
58
|
export function checkIfParentAccountIsAuthed(accountConfig) {
|
|
61
59
|
if (!accountConfig.parentAccountId ||
|
|
62
60
|
!getConfigAccountIfExists(accountConfig.parentAccountId)?.accountId) {
|
|
63
|
-
|
|
64
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
61
|
+
throw new Error(lib.localDevHelpers.account.checkIfParentAccountIsAuthed.notAuthedError(accountConfig.parentAccountId || '', uiAccountDescription(accountConfig.accountId)));
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
64
|
// Confirm the default account is a developer account if developing public apps
|
|
68
65
|
export function checkIfAccountFlagIsSupported(accountConfig, hasPublicApps) {
|
|
69
66
|
if (hasPublicApps) {
|
|
70
67
|
if (!isDeveloperTestAccount(accountConfig)) {
|
|
71
|
-
|
|
68
|
+
throw new Error(lib.localDevHelpers.account.validateAccountOption
|
|
72
69
|
.invalidPublicAppAccount);
|
|
73
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
74
70
|
}
|
|
75
71
|
checkIfParentAccountIsAuthed(accountConfig);
|
|
76
72
|
}
|
|
77
73
|
else if (isAppDeveloperAccount(accountConfig)) {
|
|
78
|
-
|
|
79
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
74
|
+
throw new Error(lib.localDevHelpers.account.validateAccountOption.invalidPrivateAppAccount);
|
|
80
75
|
}
|
|
81
76
|
}
|
|
82
77
|
// If the user isn't using the recommended account type, prompt them to use or create one
|
|
@@ -112,24 +107,20 @@ export async function createSandboxForLocalDev(accountId, accountConfig, env) {
|
|
|
112
107
|
else {
|
|
113
108
|
logError(err);
|
|
114
109
|
}
|
|
115
|
-
|
|
110
|
+
throw err;
|
|
116
111
|
}
|
|
117
112
|
try {
|
|
118
113
|
const { name } = await hubspotAccountNamePrompt({
|
|
119
114
|
accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX,
|
|
120
115
|
});
|
|
121
116
|
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;
|
|
117
|
+
const result = await buildV2Sandbox(name, accountConfig, HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX, false, // syncObjectRecords
|
|
118
|
+
env);
|
|
119
|
+
return result.sandbox.sandboxHubId;
|
|
129
120
|
}
|
|
130
121
|
catch (err) {
|
|
131
122
|
logError(err);
|
|
132
|
-
|
|
123
|
+
throw err;
|
|
133
124
|
}
|
|
134
125
|
}
|
|
135
126
|
// Create a developer test account and return its accountId
|
|
@@ -155,7 +146,7 @@ export async function createDeveloperTestAccountForLocalDev(accountId, accountCo
|
|
|
155
146
|
else {
|
|
156
147
|
logError(err);
|
|
157
148
|
}
|
|
158
|
-
|
|
149
|
+
throw err;
|
|
159
150
|
}
|
|
160
151
|
try {
|
|
161
152
|
const { name } = await hubspotAccountNamePrompt({
|
|
@@ -163,12 +154,11 @@ export async function createDeveloperTestAccountForLocalDev(accountId, accountCo
|
|
|
163
154
|
accountType: HUBSPOT_ACCOUNT_TYPES.DEVELOPER_TEST,
|
|
164
155
|
});
|
|
165
156
|
trackCommandMetadataUsage('developer-test-account-create', { step: 'project-dev' }, accountId);
|
|
166
|
-
|
|
167
|
-
return result;
|
|
157
|
+
return await buildDeveloperTestAccount(name, accountConfig, env, maxTestPortals, useV2);
|
|
168
158
|
}
|
|
169
159
|
catch (err) {
|
|
170
160
|
logError(err);
|
|
171
|
-
|
|
161
|
+
throw err;
|
|
172
162
|
}
|
|
173
163
|
}
|
|
174
164
|
// Prompt user to confirm usage of an existing developer test account that is not currently in the config
|
|
@@ -179,10 +169,11 @@ export async function useExistingDevTestAccount(env, account) {
|
|
|
179
169
|
uiLogger.log(lib.localDevHelpers.account.confirmDefaultAccountIsTarget
|
|
180
170
|
.declineDefaultAccountExplanation);
|
|
181
171
|
uiLogger.log('');
|
|
182
|
-
|
|
172
|
+
return false;
|
|
183
173
|
}
|
|
184
174
|
const devTestAcctConfigName = await saveAccountToConfig(account.id, account.accountName, env);
|
|
185
175
|
uiLogger.success(lib.developerTestAccount.create.success.configFileUpdated(devTestAcctConfigName, PERSONAL_ACCESS_KEY_AUTH_METHOD.name));
|
|
176
|
+
return true;
|
|
186
177
|
}
|
|
187
178
|
export async function hasSandboxes(account) {
|
|
188
179
|
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
|
}
|
|
@@ -2,11 +2,12 @@ import { type IntermediateRepresentationNode, type IntermediateRepresentationNod
|
|
|
2
2
|
import { Build } from '@hubspot/local-dev-lib/types/Build';
|
|
3
3
|
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
4
4
|
import { ProjectConfig } from '../../../../types/Projects.js';
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
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
|
}>;
|
|
@@ -8,7 +8,7 @@ import { sanitizeFileName } from '@hubspot/local-dev-lib/path';
|
|
|
8
8
|
import { isDeepEqual } from '@hubspot/local-dev-lib/isDeepEqual';
|
|
9
9
|
import { translate, } from '@hubspot/project-parsing-lib/translate';
|
|
10
10
|
import { isSpecifiedError } from '@hubspot/local-dev-lib/errors/index';
|
|
11
|
-
import { PROJECT_ERROR_TYPES, PROJECT_BUILD_TEXT, PROJECT_DEPLOY_TEXT, } from '../../../constants.js';
|
|
11
|
+
import { PROJECT_ERROR_TYPES, PROJECT_BUILD_TEXT, PROJECT_DEPLOY_TEXT, PROJECT_CONFIG_FILE, } from '../../../constants.js';
|
|
12
12
|
import { lib } from '../../../../lang/en.js';
|
|
13
13
|
import { uiLogger } from '../../../ui/logger.js';
|
|
14
14
|
import { uiLine } from '../../../ui/index.js';
|
|
@@ -22,7 +22,7 @@ import { debugError, logError } from '../../../errorHandlers/index.js';
|
|
|
22
22
|
import { ApiErrorContext } from '../../../errorHandlers/index.js';
|
|
23
23
|
import { getProjectPackageJsonLocations, hasMissingPackages, installPackages, } from '../../../dependencyManagement.js';
|
|
24
24
|
// 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) {
|
|
25
|
+
export async function createNewProjectForLocalDev(projectConfig, targetAccountId, shouldCreateWithoutConfirmation, hasPublicApps, exit) {
|
|
26
26
|
// Create the project without prompting if this is a newly created sandbox
|
|
27
27
|
let shouldCreateProject = shouldCreateWithoutConfirmation;
|
|
28
28
|
if (!shouldCreateProject) {
|
|
@@ -54,7 +54,7 @@ export async function createNewProjectForLocalDev(projectConfig, targetAccountId
|
|
|
54
54
|
SpinniesManager.fail('createProject');
|
|
55
55
|
uiLogger.log(lib.localDevHelpers.project.createNewProjectForLocalDev
|
|
56
56
|
.failedToCreateProject);
|
|
57
|
-
|
|
57
|
+
return exit(EXIT_CODES.ERROR);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
@@ -62,24 +62,24 @@ export async function createNewProjectForLocalDev(projectConfig, targetAccountId
|
|
|
62
62
|
uiLogger.log('');
|
|
63
63
|
uiLogger.log(lib.localDevHelpers.project.createNewProjectForLocalDev
|
|
64
64
|
.choseNotToCreateProject);
|
|
65
|
-
|
|
65
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
function projectUploadCallback(accountId, projectConfig, tempFile, buildId) {
|
|
68
|
+
function projectUploadCallback(accountId, projectConfig, tempFile, exit, buildId) {
|
|
69
69
|
if (!buildId) {
|
|
70
70
|
uiLogger.error(lib.localDevHelpers.project.createInitialBuildForNewProject.genericError);
|
|
71
|
-
|
|
71
|
+
return exit(EXIT_CODES.ERROR);
|
|
72
72
|
}
|
|
73
|
-
return pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, true);
|
|
73
|
+
return pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, { silenceLogs: true });
|
|
74
74
|
}
|
|
75
75
|
// Create an initial build if the project was newly created in the account
|
|
76
76
|
// Return the newly deployed build
|
|
77
|
-
export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, sendIR, profile) {
|
|
77
|
+
export async function createInitialBuildForNewProject(projectConfig, projectDir, targetAccountId, exit, sendIR, profile) {
|
|
78
78
|
const { result: initialUploadResult, uploadError } = await handleProjectUpload({
|
|
79
79
|
accountId: targetAccountId,
|
|
80
80
|
projectConfig,
|
|
81
81
|
projectDir,
|
|
82
|
-
callbackFunc: projectUploadCallback,
|
|
82
|
+
callbackFunc: (accountId, config, tempFile, buildId) => projectUploadCallback(accountId, config, tempFile, exit, buildId),
|
|
83
83
|
uploadMessage: lib.localDevHelpers.project.createInitialBuildForNewProject
|
|
84
84
|
.initialUploadMessage,
|
|
85
85
|
forceCreate: true,
|
|
@@ -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,15 +120,15 @@ 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,
|
|
@@ -146,7 +146,7 @@ export async function compareLocalProjectToDeployed(projectConfig, accountId, de
|
|
|
146
146
|
});
|
|
147
147
|
uiLogger.log('');
|
|
148
148
|
uiLogger.log(lib.localDevHelpers.project.compareLocalProjectToDeployed.notUpToDateExplanation(profile));
|
|
149
|
-
|
|
149
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
export async function getDeployedProjectNodes(projectConfig, accountId, deployedBuildId, profile) {
|
|
@@ -155,7 +155,23 @@ export async function getDeployedProjectNodes(projectConfig, accountId, deployed
|
|
|
155
155
|
tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'hubspot-project-compare-'));
|
|
156
156
|
const { data: zippedProject } = await downloadProject(accountId, projectConfig.name, deployedBuildId);
|
|
157
157
|
await extractZipArchive(zippedProject, sanitizeFileName(projectConfig.name), tempDir, { hideLogs: true });
|
|
158
|
-
|
|
158
|
+
// Read the deployed project's hsproject.json to get its srcDir
|
|
159
|
+
// Deployed projects always use "src" as the srcDir
|
|
160
|
+
const possibleProjectPaths = [
|
|
161
|
+
path.join(tempDir, PROJECT_CONFIG_FILE),
|
|
162
|
+
path.join(tempDir, sanitizeFileName(projectConfig.name), PROJECT_CONFIG_FILE),
|
|
163
|
+
];
|
|
164
|
+
let deployedSrcDir = 'src';
|
|
165
|
+
for (const projectJsonPath of possibleProjectPaths) {
|
|
166
|
+
if (await fs.pathExists(projectJsonPath)) {
|
|
167
|
+
const deployedProjectConfig = await fs.readJson(projectJsonPath);
|
|
168
|
+
if (deployedProjectConfig.srcDir) {
|
|
169
|
+
deployedSrcDir = deployedProjectConfig.srcDir;
|
|
170
|
+
}
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const deployedProjectSourceDir = path.join(tempDir, deployedSrcDir);
|
|
159
175
|
const { intermediateNodesIndexedByUid } = await translate({
|
|
160
176
|
projectSourceDir: deployedProjectSourceDir,
|
|
161
177
|
platformVersion: projectConfig.platformVersion,
|
|
@@ -211,6 +227,6 @@ export async function checkAndInstallDependencies() {
|
|
|
211
227
|
text: lib.localDevHelpers.project.checkAndInstallDependencies
|
|
212
228
|
.dependenciesFailure,
|
|
213
229
|
});
|
|
214
|
-
|
|
230
|
+
throw e;
|
|
215
231
|
}
|
|
216
232
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ParsedPackageJson } from '@hubspot/project-parsing-lib/workspaces';
|
|
2
|
+
export declare function summarizeNpmAuditJson(source: string): string | null;
|
|
3
|
+
type RunNpmAuditsBeforeProjectUploadArgs = {
|
|
4
|
+
srcDir: string;
|
|
5
|
+
projectDir: string;
|
|
6
|
+
parsedPackageJsons: ParsedPackageJson[];
|
|
7
|
+
isLegacyPlatform: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function runNpmAuditsBeforeProjectUpload({ srcDir, projectDir, parsedPackageJsons, isLegacyPlatform, }: RunNpmAuditsBeforeProjectUploadArgs): Promise<void>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { runNpmAuditJson } from '@hubspot/ui-extensions-dev-server';
|
|
3
|
+
import { lib } from '../../lang/en.js';
|
|
4
|
+
import { uiLogger } from '../ui/logger.js';
|
|
5
|
+
export function summarizeNpmAuditJson(source) {
|
|
6
|
+
try {
|
|
7
|
+
const data = JSON.parse(source);
|
|
8
|
+
const errorMessage = data.error?.message ?? data.error?.summary;
|
|
9
|
+
if (errorMessage) {
|
|
10
|
+
return errorMessage;
|
|
11
|
+
}
|
|
12
|
+
const v = data.metadata?.vulnerabilities;
|
|
13
|
+
if (!v) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const total = v.total ?? 0;
|
|
17
|
+
if (total === 0) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const severityOrder = [
|
|
21
|
+
'critical',
|
|
22
|
+
'high',
|
|
23
|
+
'moderate',
|
|
24
|
+
'low',
|
|
25
|
+
'info',
|
|
26
|
+
];
|
|
27
|
+
const parts = severityOrder
|
|
28
|
+
.filter(severity => (v[severity] ?? 0) > 0)
|
|
29
|
+
.map(severity => `${v[severity]} ${severity}`);
|
|
30
|
+
return `${total} total (${parts.join(', ')})`;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export async function runNpmAuditsBeforeProjectUpload({ srcDir, projectDir, parsedPackageJsons, isLegacyPlatform, }) {
|
|
37
|
+
const auditRoots = new Set();
|
|
38
|
+
if (isLegacyPlatform) {
|
|
39
|
+
auditRoots.add(srcDir);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
for (const { dir } of parsedPackageJsons) {
|
|
43
|
+
auditRoots.add(dir);
|
|
44
|
+
}
|
|
45
|
+
if (auditRoots.size === 0) {
|
|
46
|
+
auditRoots.add(srcDir);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const auditRootArray = [...auditRoots];
|
|
50
|
+
const results = await Promise.all(auditRootArray.map(auditRoot => runNpmAuditJson(auditRoot)));
|
|
51
|
+
for (let i = 0; i < auditRootArray.length; i++) {
|
|
52
|
+
const auditRoot = auditRootArray[i];
|
|
53
|
+
const result = results[i];
|
|
54
|
+
if (result.skipped) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const relativeRoot = path.relative(projectDir, auditRoot) || '.';
|
|
58
|
+
const summary = summarizeNpmAuditJson(result.source);
|
|
59
|
+
if (result.exitCode === 127) {
|
|
60
|
+
uiLogger.warn(lib.projectUpload.handleProjectUpload.npmAuditNpmUnavailable(relativeRoot));
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (summary) {
|
|
64
|
+
uiLogger.warn(lib.projectUpload.handleProjectUpload.npmAuditIssues(relativeRoot, summary));
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (result.exitCode !== 0) {
|
|
68
|
+
uiLogger.warn(lib.projectUpload.handleProjectUpload.npmAuditNonZeroExit(relativeRoot, result.exitCode));
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
uiLogger.success(lib.projectUpload.handleProjectUpload.npmAuditClean(relativeRoot));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -6,5 +6,9 @@ type PollTaskStatusFunction<T extends ProjectTask> = (accountId: number, taskNam
|
|
|
6
6
|
export declare const pollBuildStatus: PollTaskStatusFunction<Build>;
|
|
7
7
|
export declare const pollDeployStatus: PollTaskStatusFunction<Deploy>;
|
|
8
8
|
export declare function displayWarnLogs(accountId: number, projectName: string, taskId: number, isDeploy?: boolean): Promise<void>;
|
|
9
|
-
|
|
9
|
+
type PollOptions = {
|
|
10
|
+
silenceLogs?: boolean;
|
|
11
|
+
skipDeploy?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function pollProjectBuildAndDeploy(accountId: number, projectConfig: ProjectConfig, tempFile: FileResult, buildId: number, options?: PollOptions): Promise<ProjectPollResult>;
|
|
10
14
|
export {};
|
|
@@ -291,7 +291,8 @@ export async function displayWarnLogs(accountId, projectName, taskId, isDeploy =
|
|
|
291
291
|
});
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
|
-
export async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId,
|
|
294
|
+
export async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFile, buildId, options = {}) {
|
|
295
|
+
const { silenceLogs = false, skipDeploy = false } = options;
|
|
295
296
|
let buildStatus = await pollBuildStatus(accountId, projectConfig.name, buildId, null, silenceLogs);
|
|
296
297
|
if (!silenceLogs) {
|
|
297
298
|
uiLine();
|
|
@@ -306,7 +307,7 @@ export async function pollProjectBuildAndDeploy(accountId, projectConfig, tempFi
|
|
|
306
307
|
result.succeeded = false;
|
|
307
308
|
return result;
|
|
308
309
|
}
|
|
309
|
-
else if (buildStatus.isAutoDeployEnabled) {
|
|
310
|
+
else if (buildStatus.isAutoDeployEnabled && !skipDeploy) {
|
|
310
311
|
if (!silenceLogs) {
|
|
311
312
|
uiLogger.log(lib.projectBuildAndDeploy.pollProjectBuildAndDeploy.buildSucceededAutomaticallyDeploying(buildId, uiAccountDescription(accountId)));
|
|
312
313
|
await displayWarnLogs(accountId, projectConfig.name, buildId);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { triggerAutoRelease, getAutoReleaseStatus, } from '../../api/releases.js';
|
|
2
|
+
import { PREVIEW_POLL_TIMEOUT } from '../constants.js';
|
|
3
|
+
import { poll } from '../polling.js';
|
|
4
|
+
import SpinniesManager from '../ui/SpinniesManager.js';
|
|
5
|
+
import { logError, ApiErrorContext } from '../errorHandlers/index.js';
|
|
6
|
+
import { lib } from '../../lang/en.js';
|
|
7
|
+
export async function triggerAndPollPreview(accountId, projectId, buildId, targetPortalId) {
|
|
8
|
+
let triggerResponse;
|
|
9
|
+
SpinniesManager.add('preview', {
|
|
10
|
+
text: lib.projectPreview.triggeringPreview(buildId, targetPortalId),
|
|
11
|
+
succeedColor: 'white',
|
|
12
|
+
});
|
|
13
|
+
try {
|
|
14
|
+
const { data } = await triggerAutoRelease(accountId, projectId, buildId, targetPortalId);
|
|
15
|
+
triggerResponse = data;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
SpinniesManager.fail('preview', {
|
|
19
|
+
text: lib.projectPreview.triggerFailed,
|
|
20
|
+
});
|
|
21
|
+
logError(e, new ApiErrorContext({
|
|
22
|
+
accountId,
|
|
23
|
+
request: 'preview trigger',
|
|
24
|
+
}));
|
|
25
|
+
return { succeeded: false };
|
|
26
|
+
}
|
|
27
|
+
const { releaseTag, appId } = triggerResponse;
|
|
28
|
+
SpinniesManager.update('preview', {
|
|
29
|
+
text: lib.projectPreview.pollingStatus(releaseTag, targetPortalId),
|
|
30
|
+
});
|
|
31
|
+
try {
|
|
32
|
+
await poll(() => getAutoReleaseStatus(accountId, projectId, targetPortalId, releaseTag, appId), { successStates: ['COMPLETE'], errorStates: [] }, PREVIEW_POLL_TIMEOUT);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
SpinniesManager.fail('preview', {
|
|
36
|
+
text: lib.projectPreview.pollFailed,
|
|
37
|
+
});
|
|
38
|
+
logError(e, new ApiErrorContext({
|
|
39
|
+
accountId,
|
|
40
|
+
request: 'preview status',
|
|
41
|
+
}));
|
|
42
|
+
return { succeeded: false, releaseTag, appId };
|
|
43
|
+
}
|
|
44
|
+
SpinniesManager.succeed('preview', {
|
|
45
|
+
text: lib.projectPreview.succeeded(releaseTag, targetPortalId),
|
|
46
|
+
});
|
|
47
|
+
return { succeeded: true, releaseTag, appId };
|
|
48
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
2
|
+
import { ProjectInfo } from '../../types/Projects.js';
|
|
3
|
+
export type { ProjectInfo };
|
|
4
|
+
export declare function getProjectInfo(project: Project, platformVersion: string, accountId: number): Promise<ProjectInfo>;
|
|
5
|
+
export declare function logProjectInfo(projectInfo: ProjectInfo): void;
|