@hubspot/cli 7.8.0-experimental.0 → 7.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +31 -27
- package/commands/__tests__/auth.test.js +5 -0
- package/commands/__tests__/doctor.test.js +16 -16
- package/commands/__tests__/getStarted.test.js +2 -2
- package/commands/__tests__/mcp.test.js +1 -1
- package/commands/__tests__/project.test.js +2 -3
- package/commands/account/auth.js +1 -0
- package/commands/account/clean.js +18 -27
- package/commands/account/createOverride.js +13 -31
- package/commands/account/info.js +20 -31
- package/commands/account/list.js +16 -22
- package/commands/account/remove.js +12 -20
- package/commands/account/removeOverride.js +11 -21
- package/commands/account/rename.js +6 -9
- package/commands/account/use.js +12 -26
- package/commands/account.js +2 -2
- package/commands/app/__tests__/migrate.test.js +5 -6
- package/commands/app/migrate.js +13 -19
- package/commands/app/secret/add.js +2 -1
- package/commands/app/secret/delete.js +2 -1
- package/commands/app/secret/list.js +2 -1
- package/commands/app/secret/update.js +2 -1
- package/commands/app/secret.js +2 -1
- package/commands/app.js +2 -2
- package/commands/auth.d.ts +1 -0
- package/commands/auth.js +17 -7
- package/commands/cms/convertFields.js +7 -9
- package/commands/cms/getReactModule.js +9 -14
- package/commands/cms/lighthouseScore.js +33 -36
- package/commands/cms.js +2 -2
- package/commands/completion.js +3 -3
- package/commands/config/set.d.ts +1 -1
- package/commands/config/set.js +64 -37
- package/commands/config.js +2 -2
- package/commands/create.js +2 -2
- package/commands/customObject/create.js +10 -12
- package/commands/customObject/schema/create.js +9 -11
- package/commands/customObject/schema/delete.js +16 -16
- package/commands/customObject/schema/fetch-all.js +12 -11
- package/commands/customObject/schema/fetch.js +15 -15
- package/commands/customObject/schema/list.js +4 -4
- package/commands/customObject/schema/update.js +13 -13
- package/commands/customObject/schema.js +2 -2
- package/commands/customObject.js +6 -7
- package/commands/doctor.js +8 -11
- package/commands/feedback.js +8 -13
- package/commands/fetch.js +8 -8
- package/commands/filemanager/fetch.js +7 -7
- package/commands/filemanager/upload.js +15 -34
- package/commands/filemanager.js +2 -2
- package/commands/function/deploy.js +11 -29
- package/commands/function/list.js +8 -8
- package/commands/function/server.js +9 -11
- package/commands/function.d.ts +1 -1
- package/commands/function.js +2 -2
- package/commands/getStarted.d.ts +1 -3
- package/commands/getStarted.js +68 -20
- package/commands/hubdb/clear.js +7 -15
- package/commands/hubdb/create.js +9 -15
- package/commands/hubdb/delete.js +8 -15
- package/commands/hubdb/fetch.js +6 -9
- package/commands/hubdb.d.ts +1 -1
- package/commands/hubdb.js +2 -2
- package/commands/init.js +2 -3
- package/commands/lint.js +16 -16
- package/commands/list.js +8 -14
- package/commands/logs.js +14 -20
- package/commands/mcp/__tests__/setup.test.js +2 -2
- package/commands/mcp/setup.js +11 -2
- package/commands/mcp.js +3 -3
- package/commands/mv.js +6 -17
- package/commands/open.js +5 -5
- package/commands/project/__tests__/add.test.js +15 -13
- package/commands/project/__tests__/create.test.js +6 -6
- package/commands/project/__tests__/deploy.test.js +3 -7
- package/commands/project/__tests__/devUnifiedFlow.test.js +2 -4
- package/commands/project/__tests__/installDeps.test.js +8 -8
- package/commands/project/__tests__/list.test.js +31 -0
- package/commands/project/__tests__/logs.test.js +1 -4
- package/commands/project/__tests__/migrate.test.js +7 -7
- package/commands/project/__tests__/migrateApp.test.js +3 -7
- package/commands/project/__tests__/profile.test.js +1 -1
- package/commands/project/__tests__/validate.test.js +98 -0
- package/commands/project/add.d.ts +2 -2
- package/commands/project/add.js +7 -10
- package/commands/project/cloneApp.js +14 -19
- package/commands/project/create.js +4 -11
- package/commands/project/deploy.js +5 -5
- package/commands/project/dev/deprecatedFlow.js +9 -18
- package/commands/project/dev/index.js +21 -18
- package/commands/project/dev/unifiedFlow.js +15 -8
- package/commands/project/download.js +15 -16
- package/commands/project/installDeps.d.ts +2 -2
- package/commands/project/installDeps.js +9 -9
- package/commands/project/list.d.ts +4 -0
- package/commands/project/list.js +62 -0
- package/commands/project/listBuilds.js +12 -21
- package/commands/project/logs.js +21 -24
- package/commands/project/migrate.js +33 -12
- package/commands/project/migrateApp.js +10 -17
- package/commands/project/open.js +6 -14
- package/commands/project/profile/add.js +3 -3
- package/commands/project/profile/delete.js +1 -2
- package/commands/project/profile.js +2 -3
- package/commands/project/upload.js +16 -25
- package/commands/project/validate.js +7 -7
- package/commands/project/watch.js +13 -22
- package/commands/project.js +4 -3
- package/commands/sandbox/__tests__/create.test.js +5 -5
- package/commands/sandbox/create.js +22 -32
- package/commands/sandbox/delete.js +39 -64
- package/commands/sandbox.js +2 -2
- package/commands/secret/addSecret.js +7 -17
- package/commands/secret/deleteSecret.js +10 -20
- package/commands/secret/listSecret.js +8 -10
- package/commands/secret/updateSecret.js +9 -17
- package/commands/secret.js +2 -2
- package/commands/testAccount/__tests__/delete.test.js +2 -4
- package/commands/testAccount/create.js +2 -2
- package/commands/testAccount/delete.d.ts +4 -3
- package/commands/testAccount/delete.js +155 -14
- package/commands/testAccount/importData.d.ts +1 -1
- package/commands/testAccount/importData.js +1 -1
- package/commands/testAccount.js +1 -1
- package/commands/theme/preview.js +1 -4
- package/lang/en.d.ts +365 -111
- package/lang/en.js +409 -158
- package/lang/en.lyaml +4 -4
- package/lib/__tests__/buildAccount.test.js +4 -3
- package/lib/__tests__/commonOpts.test.js +1 -1
- package/lib/__tests__/dependencyManagement.test.js +1 -1
- package/lib/__tests__/developerTestAccounts.test.js +3 -3
- package/lib/__tests__/hasFeature.test.js +145 -7
- package/lib/__tests__/npm.test.js +1 -1
- package/lib/__tests__/oauth.test.js +4 -4
- package/lib/__tests__/process.test.js +10 -5
- package/lib/__tests__/sandboxSync.test.js +8 -8
- package/lib/__tests__/sandboxes.test.js +8 -8
- package/lib/__tests__/serverlessLogs.test.js +1 -1
- package/lib/__tests__/usageTracking.test.js +5 -5
- package/lib/__tests__/validation.test.js +2 -1
- package/lib/__tests__/yargsUtils.test.js +83 -9
- package/lib/app/__tests__/migrate.test.js +19 -56
- package/lib/app/__tests__/migrate_legacy.test.js +1 -1
- package/lib/app/migrate.d.ts +2 -8
- package/lib/app/migrate.js +6 -81
- package/lib/app/migrate_legacy.js +20 -24
- package/lib/buildAccount.d.ts +2 -2
- package/lib/buildAccount.js +32 -64
- package/lib/commonOpts.d.ts +1 -1
- package/lib/commonOpts.js +25 -22
- package/lib/configMigrate.js +88 -9
- package/lib/configOptions.js +7 -0
- package/lib/constants.d.ts +22 -1
- package/lib/constants.js +26 -1
- package/lib/dependencyManagement.d.ts +0 -5
- package/lib/dependencyManagement.js +9 -36
- package/lib/developerTestAccounts.js +9 -23
- package/lib/doctor/Diagnosis.js +11 -23
- package/lib/doctor/DiagnosticInfoBuilder.js +12 -11
- package/lib/doctor/Doctor.js +42 -90
- package/lib/doctor/__tests__/Doctor.test.js +4 -4
- package/lib/errorHandlers/index.js +12 -20
- package/lib/errorHandlers/suppressError.js +11 -18
- package/lib/hasFeature.js +6 -0
- package/lib/lang.js +6 -5
- package/lib/links.d.ts +1 -0
- package/lib/links.js +14 -7
- package/lib/mcp/setup.js +1 -1
- package/lib/middleware/__test__/commandTargetingUtils.test.js +99 -0
- package/lib/middleware/__test__/configMiddleware.test.js +11 -11
- package/lib/middleware/__test__/yargsChecksMiddleware.test.js +6 -8
- package/lib/middleware/commandTargetingUtils.d.ts +8 -0
- package/lib/middleware/commandTargetingUtils.js +74 -0
- package/lib/middleware/configMiddleware.d.ts +1 -1
- package/lib/middleware/configMiddleware.js +21 -81
- package/lib/middleware/fireAlarmMiddleware.js +15 -5
- package/lib/middleware/gitMiddleware.js +5 -1
- package/lib/middleware/notificationsMiddleware.js +5 -11
- package/lib/middleware/yargsChecksMiddleware.js +6 -9
- package/lib/npm.js +2 -2
- package/lib/oauth.js +5 -5
- package/lib/process.js +5 -4
- package/lib/projects/__tests__/AppDevModeInterface.test.js +87 -90
- package/lib/projects/__tests__/LocalDevProcess.test.js +231 -19
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +89 -63
- package/lib/projects/__tests__/deploy.test.js +73 -8
- package/lib/projects/__tests__/localDevProjectHelpers.test.js +6 -2
- package/lib/projects/__tests__/platformVersion.test.js +8 -8
- package/lib/projects/__tests__/projects.test.js +12 -12
- package/lib/projects/__tests__/structure.test.js +3 -3
- package/lib/projects/__tests__/upload.test.d.ts +1 -0
- package/lib/projects/__tests__/upload.test.js +82 -0
- package/lib/projects/add/__tests__/legacyAddComponent.test.js +6 -6
- package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +1 -0
- package/lib/projects/add/__tests__/{v3AddComponent.test.js → v2AddComponent.test.js} +39 -39
- package/lib/projects/add/{v3AddComponent.d.ts → v2AddComponent.d.ts} +1 -1
- package/lib/projects/add/{v3AddComponent.js → v2AddComponent.js} +5 -5
- package/lib/projects/create/__tests__/legacy.test.js +5 -5
- package/lib/projects/create/__tests__/v2.test.d.ts +1 -0
- package/lib/projects/create/__tests__/{v3.test.js → v2.test.js} +82 -7
- package/lib/projects/create/index.js +4 -4
- package/lib/projects/create/legacy.js +2 -2
- package/lib/projects/create/{v3.d.ts → v2.d.ts} +3 -3
- package/lib/projects/create/{v3.js → v2.js} +16 -13
- package/lib/projects/deploy.d.ts +1 -1
- package/lib/projects/deploy.js +2 -2
- package/lib/projects/localDev/AppDevModeInterface.d.ts +10 -1
- package/lib/projects/localDev/AppDevModeInterface.js +118 -89
- package/lib/projects/localDev/DevServerManager.d.ts +11 -29
- package/lib/projects/localDev/DevServerManager.js +19 -61
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +40 -0
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +120 -0
- package/lib/projects/localDev/LocalDevLogger.d.ts +4 -0
- package/lib/projects/localDev/LocalDevLogger.js +27 -6
- package/lib/projects/localDev/{LocalDevManager.js → LocalDevManager_DEPRECATED.js} +10 -11
- package/lib/projects/localDev/LocalDevProcess.d.ts +7 -5
- package/lib/projects/localDev/LocalDevProcess.js +93 -21
- package/lib/projects/localDev/LocalDevState.d.ts +12 -8
- package/lib/projects/localDev/LocalDevState.js +27 -17
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +6 -1
- package/lib/projects/localDev/LocalDevWebsocketServer.js +94 -33
- package/lib/projects/localDev/helpers/account.d.ts +1 -1
- package/lib/projects/localDev/helpers/account.js +2 -2
- package/lib/projects/localDev/helpers/project.d.ts +3 -2
- package/lib/projects/localDev/helpers/project.js +49 -10
- package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +7 -0
- package/lib/projects/localDev/localDevWebsocketServerUtils.js +19 -0
- package/lib/projects/platformVersion.d.ts +1 -1
- package/lib/projects/platformVersion.js +1 -1
- package/lib/projects/pollProjectBuildAndDeploy.js +4 -4
- package/lib/projects/structure.js +6 -6
- package/lib/projects/upload.d.ts +1 -1
- package/lib/projects/upload.js +17 -8
- package/lib/projects/urls.d.ts +0 -1
- package/lib/projects/urls.js +0 -3
- package/lib/prompts/__tests__/downloadProjectPrompt.test.js +1 -0
- package/lib/prompts/__tests__/projectAddPrompt.test.js +10 -10
- package/lib/prompts/accountNamePrompt.js +14 -19
- package/lib/prompts/accountsPrompt.js +2 -2
- package/lib/prompts/cmsFieldPrompt.js +2 -2
- package/lib/prompts/createApiSamplePrompt.js +5 -5
- package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +10 -1
- package/lib/prompts/createFunctionPrompt.js +14 -14
- package/lib/prompts/createModulePrompt.js +9 -9
- package/lib/prompts/createTemplatePrompt.js +2 -2
- package/lib/prompts/downloadProjectPrompt.js +5 -8
- package/lib/prompts/installAppPrompt.d.ts +1 -6
- package/lib/prompts/installAppPrompt.js +1 -6
- package/lib/prompts/personalAccessKeyPrompt.js +3 -3
- package/lib/prompts/previewPrompt.js +6 -6
- package/lib/prompts/projectAddPrompt.d.ts +2 -2
- package/lib/prompts/projectAddPrompt.js +9 -2
- package/lib/prompts/projectDevTargetAccountPrompt.js +20 -32
- package/lib/prompts/projectNamePrompt.js +4 -8
- package/lib/prompts/projectsLogsPrompt.js +2 -4
- package/lib/prompts/promptUtils.js +30 -9
- package/lib/prompts/sandboxesPrompt.js +7 -7
- package/lib/prompts/secretPrompt.js +3 -3
- package/lib/prompts/selectAppPrompt.js +3 -3
- package/lib/prompts/selectHubDBTablePrompt.js +9 -13
- package/lib/prompts/selectProjectTemplatePrompt.js +2 -0
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +15 -19
- package/lib/prompts/setAsDefaultAccountPrompt.js +4 -8
- package/lib/prompts/uploadPrompt.js +5 -5
- package/lib/sandboxSync.js +24 -41
- package/lib/sandboxes.js +19 -47
- package/lib/schema.js +3 -3
- package/lib/serverlessLogs.js +11 -13
- package/lib/theme/__tests__/migrate.test.d.ts +1 -0
- package/lib/theme/__tests__/migrate.test.js +233 -0
- package/lib/theme/migrate.d.ts +13 -0
- package/lib/theme/migrate.js +90 -0
- package/lib/ui/SpinniesManager.d.ts +2 -0
- package/lib/ui/SpinniesManager.js +112 -8
- package/lib/ui/boxen.js +1 -2
- package/lib/ui/git.js +13 -10
- package/lib/ui/index.d.ts +4 -0
- package/lib/ui/index.js +47 -38
- package/lib/ui/serverlessFunctionLogs.js +9 -7
- package/lib/ui/uiMessages.d.ts +72 -0
- package/lib/ui/uiMessages.js +75 -0
- package/lib/usageTracking.js +8 -8
- package/lib/validation.js +20 -23
- package/lib/yargsUtils.d.ts +1 -1
- package/lib/yargsUtils.js +12 -5
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +1 -1
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsCreateModuleTool.js +1 -1
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +1 -1
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +2 -2
- package/mcp-server/tools/cms/HsListFunctionsTool.js +1 -1
- package/mcp-server/tools/cms/HsListTool.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +2 -2
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +1 -1
- package/mcp-server/tools/cms/__tests__/HsListTool.test.js +1 -1
- package/mcp-server/tools/index.js +4 -0
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +3 -3
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +3 -3
- package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
- package/mcp-server/tools/project/CreateProjectTool.js +5 -5
- package/mcp-server/tools/project/DeployProjectTool.js +1 -1
- package/mcp-server/tools/project/DocFetchTool.js +2 -2
- package/mcp-server/tools/project/DocsSearchTool.d.ts +4 -1
- package/mcp-server/tools/project/DocsSearchTool.js +7 -7
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +23 -0
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +68 -0
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +11 -0
- package/mcp-server/tools/project/GetApplicationInfoTool.js +49 -0
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -1
- package/mcp-server/tools/project/GetConfigValuesTool.js +13 -7
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +2 -2
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +1 -1
- package/mcp-server/tools/project/UploadProjectTools.js +2 -2
- package/mcp-server/tools/project/ValidateProjectTool.js +1 -1
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +1 -1
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +2 -2
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +1 -1
- package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +2 -2
- package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +14 -12
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +169 -0
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +115 -0
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +9 -8
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +1 -1
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +1 -1
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +1 -1
- package/mcp-server/tools/project/constants.d.ts +1 -1
- package/mcp-server/tools/project/constants.js +9 -3
- package/mcp-server/utils/__tests__/cliConfig.test.d.ts +1 -0
- package/mcp-server/utils/__tests__/cliConfig.test.js +110 -0
- package/mcp-server/utils/cliConfig.d.ts +1 -0
- package/mcp-server/utils/cliConfig.js +12 -0
- package/mcp-server/utils/toolUsageTracking.js +2 -2
- package/package.json +8 -12
- package/types/LocalDev.d.ts +19 -3
- package/ui/components/HorizontalSelectPrompt.js +1 -1
- package/ui/index.js +1 -1
- package/commands/getStartedV2.d.ts +0 -9
- package/commands/getStartedV2.js +0 -39
- package/lib/middleware/__test__/utils.test.js +0 -51
- package/lib/middleware/utils.d.ts +0 -8
- package/lib/middleware/utils.js +0 -14
- package/lib/projects/localDev/DevServerManagerV2.d.ts +0 -22
- package/lib/projects/localDev/DevServerManagerV2.js +0 -81
- package/ui/components/Ascii.d.ts +0 -10
- package/ui/components/Ascii.js +0 -11
- package/ui/views/GetStarted.d.ts +0 -7
- package/ui/views/GetStarted.js +0 -157
- /package/{lib/middleware/__test__/utils.test.d.ts → commands/project/__tests__/list.test.d.ts} +0 -0
- /package/{lib/projects/add/__tests__/v3AddComponent.test.d.ts → commands/project/__tests__/validate.test.d.ts} +0 -0
- /package/lib/{projects/create/__tests__/v3.test.d.ts → middleware/__test__/commandTargetingUtils.test.d.ts} +0 -0
- /package/lib/projects/localDev/{LocalDevManager.d.ts → LocalDevManager_DEPRECATED.d.ts} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getAccountId, hasLocalStateFlag } from '@hubspot/local-dev-lib/config';
|
|
2
2
|
import { getConfigDefaultAccount } from '@hubspot/local-dev-lib/config';
|
|
3
|
-
import { logger } from '@hubspot/local-dev-lib/logger';
|
|
4
3
|
import { uiLogger } from '../../ui/logger.js';
|
|
5
4
|
import { uiBetaTag, uiLine, uiAccountDescription, uiCommandReference, } from '../../ui/index.js';
|
|
6
5
|
import { lib } from '../../../lang/en.js';
|
|
@@ -26,7 +25,7 @@ class LocalDevLogger {
|
|
|
26
25
|
}
|
|
27
26
|
handleError(e, langFunction) {
|
|
28
27
|
if (this.state.debug) {
|
|
29
|
-
|
|
28
|
+
uiLogger.error(e instanceof Error ? e.message : String(e));
|
|
30
29
|
}
|
|
31
30
|
uiLogger.error(langFunction(e instanceof Error ? e.message : ''));
|
|
32
31
|
}
|
|
@@ -112,20 +111,42 @@ class LocalDevLogger {
|
|
|
112
111
|
uploadInitiated() {
|
|
113
112
|
uiLogger.log(lib.LocalDevProcess.uploadInitiated);
|
|
114
113
|
}
|
|
114
|
+
deployInitiated() {
|
|
115
|
+
uiLogger.log(lib.LocalDevProcess.deployInitiated);
|
|
116
|
+
}
|
|
115
117
|
projectConfigMismatch() {
|
|
116
118
|
uiLogger.log(lib.LocalDevProcess.projectConfigMismatch);
|
|
117
119
|
}
|
|
118
120
|
uploadError(error) {
|
|
119
|
-
|
|
121
|
+
uiLogger.log('');
|
|
120
122
|
logError(error);
|
|
121
123
|
uiLogger.log(lib.LocalDevProcess.uploadFailed);
|
|
122
|
-
|
|
124
|
+
uiLogger.log('');
|
|
123
125
|
}
|
|
124
126
|
uploadSuccess() {
|
|
125
|
-
|
|
127
|
+
uiLogger.log('');
|
|
126
128
|
uiLogger.log(lib.LocalDevProcess.uploadSuccess);
|
|
127
129
|
uiLine();
|
|
128
|
-
|
|
130
|
+
uiLogger.log('');
|
|
131
|
+
}
|
|
132
|
+
uploadSuccessAutoDeployDisabled() {
|
|
133
|
+
uiLogger.warn(lib.LocalDevProcess.uploadSuccessAutoDeployDisabled);
|
|
134
|
+
uiLine();
|
|
135
|
+
uiLogger.log('');
|
|
136
|
+
}
|
|
137
|
+
deployError(error) {
|
|
138
|
+
uiLogger.log('');
|
|
139
|
+
if (error) {
|
|
140
|
+
logError(error);
|
|
141
|
+
}
|
|
142
|
+
uiLogger.log(lib.LocalDevProcess.deployFailed);
|
|
143
|
+
uiLogger.log('');
|
|
144
|
+
}
|
|
145
|
+
deploySuccess() {
|
|
146
|
+
uiLogger.log('');
|
|
147
|
+
uiLogger.log(lib.LocalDevProcess.deploySuccess);
|
|
148
|
+
uiLine();
|
|
149
|
+
uiLogger.log('');
|
|
129
150
|
}
|
|
130
151
|
monitorConsoleOutput() {
|
|
131
152
|
const originalStdoutWrite = process.stdout.write.bind(process.stdout);
|
|
@@ -4,13 +4,12 @@ import chalk from 'chalk';
|
|
|
4
4
|
import { fetchAppInstallationData } from '@hubspot/local-dev-lib/api/localDevAuth';
|
|
5
5
|
import { fetchPublicAppsForPortal, fetchPublicAppProductionInstallCounts, } from '@hubspot/local-dev-lib/api/appsDev';
|
|
6
6
|
import { getAccountId, getConfigDefaultAccount, } from '@hubspot/local-dev-lib/config';
|
|
7
|
-
import { logger } from '@hubspot/local-dev-lib/logger';
|
|
8
7
|
import { PROJECT_CONFIG_FILE } from '../../constants.js';
|
|
9
8
|
import SpinniesManager from '../../ui/SpinniesManager.js';
|
|
10
|
-
import
|
|
9
|
+
import DevServerManager_DEPRECATED from './DevServerManager_DEPRECATED.js';
|
|
11
10
|
import { EXIT_CODES } from '../../enums/exitCodes.js';
|
|
12
11
|
import { getAccountHomeUrl } from '../urls.js';
|
|
13
|
-
import { componentIsApp, componentIsPublicApp, CONFIG_FILES, getAppCardConfigs, getComponentUid, } from '
|
|
12
|
+
import { componentIsApp, componentIsPublicApp, CONFIG_FILES, getAppCardConfigs, getComponentUid, } from '../structure.js';
|
|
14
13
|
import { ComponentTypes, } from '../../../types/Projects.js';
|
|
15
14
|
import { UI_COLORS, uiCommandReference, uiAccountDescription, uiBetaTag, uiLink, uiLine, } from '../../ui/index.js';
|
|
16
15
|
import { logError } from '../../errorHandlers/index.js';
|
|
@@ -314,7 +313,7 @@ class LocalDevManager {
|
|
|
314
313
|
}
|
|
315
314
|
async devServerSetup() {
|
|
316
315
|
try {
|
|
317
|
-
await
|
|
316
|
+
await DevServerManager_DEPRECATED.setup({
|
|
318
317
|
components: this.runnableComponents,
|
|
319
318
|
onUploadRequired: this.logUploadWarning.bind(this),
|
|
320
319
|
accountId: this.targetAccountId,
|
|
@@ -324,7 +323,7 @@ class LocalDevManager {
|
|
|
324
323
|
}
|
|
325
324
|
catch (e) {
|
|
326
325
|
if (this.debug) {
|
|
327
|
-
|
|
326
|
+
uiLogger.error(e instanceof Error ? e.message : String(e));
|
|
328
327
|
}
|
|
329
328
|
uiLogger.error(lib.LocalDevManager.devServer.setupError(e instanceof Error ? e.message : ''));
|
|
330
329
|
return false;
|
|
@@ -332,14 +331,14 @@ class LocalDevManager {
|
|
|
332
331
|
}
|
|
333
332
|
async devServerStart() {
|
|
334
333
|
try {
|
|
335
|
-
await
|
|
334
|
+
await DevServerManager_DEPRECATED.start({
|
|
336
335
|
accountId: this.targetAccountId,
|
|
337
336
|
projectConfig: this.projectConfig,
|
|
338
337
|
});
|
|
339
338
|
}
|
|
340
339
|
catch (e) {
|
|
341
340
|
if (this.debug) {
|
|
342
|
-
|
|
341
|
+
uiLogger.error(e instanceof Error ? e.message : String(e));
|
|
343
342
|
}
|
|
344
343
|
uiLogger.error(lib.LocalDevManager.devServer.startError(e instanceof Error ? e.message : ''));
|
|
345
344
|
process.exit(EXIT_CODES.ERROR);
|
|
@@ -347,23 +346,23 @@ class LocalDevManager {
|
|
|
347
346
|
}
|
|
348
347
|
devServerFileChange(filePath, event) {
|
|
349
348
|
try {
|
|
350
|
-
|
|
349
|
+
DevServerManager_DEPRECATED.fileChange({ filePath, event });
|
|
351
350
|
}
|
|
352
351
|
catch (e) {
|
|
353
352
|
if (this.debug) {
|
|
354
|
-
|
|
353
|
+
uiLogger.error(e instanceof Error ? e.message : String(e));
|
|
355
354
|
}
|
|
356
355
|
uiLogger.error(lib.LocalDevManager.devServer.fileChangeError(e instanceof Error ? e.message : ''));
|
|
357
356
|
}
|
|
358
357
|
}
|
|
359
358
|
async devServerCleanup() {
|
|
360
359
|
try {
|
|
361
|
-
await
|
|
360
|
+
await DevServerManager_DEPRECATED.cleanup();
|
|
362
361
|
return true;
|
|
363
362
|
}
|
|
364
363
|
catch (e) {
|
|
365
364
|
if (this.debug) {
|
|
366
|
-
|
|
365
|
+
uiLogger.error(e instanceof Error ? e.message : String(e));
|
|
367
366
|
}
|
|
368
367
|
uiLogger.error(lib.LocalDevManager.devServer.cleanupError(e instanceof Error ? e.message : ''));
|
|
369
368
|
return false;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { IntermediateRepresentationNodeLocalDev } from '@hubspot/project-parsing-lib/src/lib/types.js';
|
|
2
|
+
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
2
3
|
import LocalDevState from './LocalDevState.js';
|
|
3
4
|
import LocalDevLogger from './LocalDevLogger.js';
|
|
4
|
-
import { LocalDevStateConstructorOptions, LocalDevStateListener, LocalDevServerMessage } from '../../../types/LocalDev.js';
|
|
5
|
+
import { LocalDevStateConstructorOptions, LocalDevStateListener, LocalDevServerMessage, LocalDevProjectUploadResult, LocalDevProjectDeployResult } from '../../../types/LocalDev.js';
|
|
5
6
|
declare class LocalDevProcess {
|
|
6
7
|
private state;
|
|
7
8
|
private _logger;
|
|
8
9
|
private devServerManager;
|
|
9
10
|
constructor(options: LocalDevStateConstructorOptions);
|
|
10
11
|
get projectDir(): string;
|
|
11
|
-
get
|
|
12
|
-
get projectName(): string;
|
|
12
|
+
get projectData(): Project;
|
|
13
13
|
get targetProjectAccountId(): number;
|
|
14
14
|
get targetTestingAccountId(): number;
|
|
15
15
|
get projectNodes(): {
|
|
@@ -22,13 +22,15 @@ declare class LocalDevProcess {
|
|
|
22
22
|
private projectConfigValidForUpload;
|
|
23
23
|
private getIntermediateRepresentation;
|
|
24
24
|
private updateProjectNodes;
|
|
25
|
-
private
|
|
25
|
+
private updateProjectNodesAfterDeploy;
|
|
26
26
|
private openLocalDevUi;
|
|
27
|
+
private updateProjectData;
|
|
27
28
|
handleFileChange(filePath: string, event: string): Promise<void>;
|
|
28
29
|
handleConfigFileChange(): Promise<void>;
|
|
29
30
|
start(): Promise<void>;
|
|
30
31
|
stop(showProgress?: boolean): Promise<void>;
|
|
31
|
-
uploadProject(): Promise<
|
|
32
|
+
uploadProject(): Promise<LocalDevProjectUploadResult>;
|
|
33
|
+
deployLatestBuild(force?: boolean): Promise<LocalDevProjectDeployResult>;
|
|
32
34
|
addStateListener<K extends keyof LocalDevState>(key: K, listener: LocalDevStateListener<K>): void;
|
|
33
35
|
sendDevServerMessage(message: LocalDevServerMessage): void;
|
|
34
36
|
removeStateListener<K extends keyof LocalDevState>(key: K, listener: LocalDevStateListener<K>): void;
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { translateForLocalDev } from '@hubspot/project-parsing-lib';
|
|
2
2
|
import { hasLocalStateFlag } from '@hubspot/local-dev-lib/config';
|
|
3
|
+
import { fetchProject } from '@hubspot/local-dev-lib/api/projects';
|
|
3
4
|
import path from 'path';
|
|
4
5
|
import open from 'open';
|
|
5
6
|
import LocalDevState from './LocalDevState.js';
|
|
6
7
|
import LocalDevLogger from './LocalDevLogger.js';
|
|
7
|
-
import
|
|
8
|
+
import DevServerManager from './DevServerManager.js';
|
|
8
9
|
import { EXIT_CODES } from '../../enums/exitCodes.js';
|
|
9
10
|
import { getProjectConfig } from '../config.js';
|
|
10
11
|
import { handleProjectUpload } from '../upload.js';
|
|
12
|
+
import { handleProjectDeploy } from '../deploy.js';
|
|
11
13
|
import { pollProjectBuildAndDeploy } from '../pollProjectBuildAndDeploy.js';
|
|
12
14
|
import { getLocalDevUiUrl } from '../urls.js';
|
|
13
|
-
import { CONFIG_LOCAL_STATE_FLAGS } from '../../constants.js';
|
|
15
|
+
import { CONFIG_LOCAL_STATE_FLAGS, PROJECT_DEPLOY_STATES, } from '../../constants.js';
|
|
14
16
|
import { isAutoOpenBrowserEnabled } from '../../configOptions.js';
|
|
17
|
+
import { lib } from '../../../lang/en.js';
|
|
18
|
+
import { debugError } from '../../errorHandlers/index.js';
|
|
15
19
|
class LocalDevProcess {
|
|
16
20
|
state;
|
|
17
21
|
_logger;
|
|
@@ -19,7 +23,7 @@ class LocalDevProcess {
|
|
|
19
23
|
constructor(options) {
|
|
20
24
|
this.state = new LocalDevState(options);
|
|
21
25
|
this._logger = new LocalDevLogger(this.state);
|
|
22
|
-
this.devServerManager = new
|
|
26
|
+
this.devServerManager = new DevServerManager({
|
|
23
27
|
localDevState: this.state,
|
|
24
28
|
logger: this._logger,
|
|
25
29
|
});
|
|
@@ -27,11 +31,8 @@ class LocalDevProcess {
|
|
|
27
31
|
get projectDir() {
|
|
28
32
|
return this.state.projectDir;
|
|
29
33
|
}
|
|
30
|
-
get
|
|
31
|
-
return this.state.
|
|
32
|
-
}
|
|
33
|
-
get projectName() {
|
|
34
|
-
return this.state.projectName;
|
|
34
|
+
get projectData() {
|
|
35
|
+
return this.state.projectData;
|
|
35
36
|
}
|
|
36
37
|
get targetProjectAccountId() {
|
|
37
38
|
return this.state.targetProjectAccountId;
|
|
@@ -87,34 +88,43 @@ class LocalDevProcess {
|
|
|
87
88
|
});
|
|
88
89
|
return true;
|
|
89
90
|
}
|
|
90
|
-
getIntermediateRepresentation(
|
|
91
|
+
getIntermediateRepresentation(projectNodesAtLastDeploy) {
|
|
91
92
|
return translateForLocalDev({
|
|
92
93
|
projectSourceDir: path.join(this.state.projectDir, this.state.projectConfig.srcDir),
|
|
93
94
|
platformVersion: this.state.projectConfig.platformVersion,
|
|
94
95
|
accountId: this.state.targetProjectAccountId,
|
|
95
96
|
}, {
|
|
96
|
-
projectNodesAtLastUpload,
|
|
97
|
+
projectNodesAtLastUpload: projectNodesAtLastDeploy,
|
|
97
98
|
profile: this.state.profile,
|
|
98
99
|
});
|
|
99
100
|
}
|
|
100
101
|
async updateProjectNodes() {
|
|
101
|
-
const intermediateRepresentation = await this.getIntermediateRepresentation(this.state.
|
|
102
|
+
const intermediateRepresentation = await this.getIntermediateRepresentation(this.state.projectNodesAtLastDeploy);
|
|
102
103
|
this.state.projectNodes =
|
|
103
104
|
intermediateRepresentation.intermediateNodesIndexedByUid;
|
|
104
105
|
this.state.projectProfileData = intermediateRepresentation.profileData;
|
|
105
106
|
}
|
|
106
|
-
async
|
|
107
|
+
async updateProjectNodesAfterDeploy() {
|
|
107
108
|
const intermediateRepresentation = await this.getIntermediateRepresentation();
|
|
108
109
|
this.state.projectNodes =
|
|
109
110
|
intermediateRepresentation.intermediateNodesIndexedByUid;
|
|
110
111
|
this.state.projectProfileData = intermediateRepresentation.profileData;
|
|
111
|
-
this.state.
|
|
112
|
+
this.state.projectNodesAtLastDeploy =
|
|
112
113
|
intermediateRepresentation.intermediateNodesIndexedByUid;
|
|
113
114
|
}
|
|
114
115
|
openLocalDevUi() {
|
|
115
116
|
const showWelcomeScreen = !hasLocalStateFlag(CONFIG_LOCAL_STATE_FLAGS.LOCAL_DEV_UI_WELCOME);
|
|
116
117
|
open(getLocalDevUiUrl(this.state.targetTestingAccountId, showWelcomeScreen));
|
|
117
118
|
}
|
|
119
|
+
async updateProjectData() {
|
|
120
|
+
try {
|
|
121
|
+
const { data: projectData } = await fetchProject(this.state.targetProjectAccountId, this.state.projectConfig.name);
|
|
122
|
+
this.state.projectData = projectData;
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
debugError(e);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
118
128
|
async handleFileChange(filePath, event) {
|
|
119
129
|
await this.updateProjectNodes();
|
|
120
130
|
try {
|
|
@@ -139,6 +149,7 @@ class LocalDevProcess {
|
|
|
139
149
|
this.openLocalDevUi();
|
|
140
150
|
}
|
|
141
151
|
await this.startDevServers();
|
|
152
|
+
this.state.devServersStarted = true;
|
|
142
153
|
this.logger.monitorConsoleOutput();
|
|
143
154
|
}
|
|
144
155
|
async stop(showProgress = true) {
|
|
@@ -162,24 +173,85 @@ class LocalDevProcess {
|
|
|
162
173
|
const isUploadable = await this.projectConfigValidForUpload();
|
|
163
174
|
if (!isUploadable) {
|
|
164
175
|
this.logger.projectConfigMismatch();
|
|
165
|
-
return
|
|
176
|
+
return {
|
|
177
|
+
uploadSuccess: false,
|
|
178
|
+
buildSuccess: false,
|
|
179
|
+
deploySuccess: false,
|
|
180
|
+
};
|
|
166
181
|
}
|
|
167
|
-
const { uploadError } = await handleProjectUpload({
|
|
182
|
+
const { uploadError, result } = await handleProjectUpload({
|
|
168
183
|
accountId: this.state.targetProjectAccountId,
|
|
169
184
|
projectConfig: this.state.projectConfig,
|
|
170
185
|
projectDir: this.state.projectDir,
|
|
171
186
|
callbackFunc: pollProjectBuildAndDeploy,
|
|
172
187
|
sendIR: true,
|
|
173
|
-
skipValidation: true,
|
|
174
188
|
});
|
|
189
|
+
const deploy = result?.deployResult;
|
|
175
190
|
if (uploadError) {
|
|
176
191
|
this.logger.uploadError(uploadError);
|
|
177
|
-
return
|
|
192
|
+
return {
|
|
193
|
+
uploadSuccess: false,
|
|
194
|
+
buildSuccess: false,
|
|
195
|
+
deploySuccess: false,
|
|
196
|
+
deployId: deploy?.deployId,
|
|
197
|
+
};
|
|
178
198
|
}
|
|
179
|
-
await this.
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
199
|
+
await this.updateProjectData();
|
|
200
|
+
if (deploy && deploy.status === PROJECT_DEPLOY_STATES.FAILURE) {
|
|
201
|
+
return {
|
|
202
|
+
uploadSuccess: false,
|
|
203
|
+
buildSuccess: true,
|
|
204
|
+
deploySuccess: false,
|
|
205
|
+
deployId: deploy.deployId,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
else if (!deploy) {
|
|
209
|
+
this.logger.uploadSuccessAutoDeployDisabled();
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
await this.updateProjectNodesAfterDeploy();
|
|
213
|
+
this.state.clearUploadWarnings();
|
|
214
|
+
this.logger.uploadSuccess();
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
uploadSuccess: true,
|
|
218
|
+
buildSuccess: true,
|
|
219
|
+
deploySuccess: Boolean(deploy),
|
|
220
|
+
deployId: deploy?.deployId,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
async deployLatestBuild(force = false) {
|
|
224
|
+
this.logger.deployInitiated();
|
|
225
|
+
if (!this.state.projectData.latestBuild) {
|
|
226
|
+
this.logger.deployError(lib.LocalDevProcess.noBuildToDeploy);
|
|
227
|
+
return {
|
|
228
|
+
success: false,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
let deploy;
|
|
232
|
+
try {
|
|
233
|
+
deploy = await handleProjectDeploy(this.state.targetProjectAccountId, this.state.projectConfig.name, this.state.projectData.latestBuild.buildId, true, force);
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
this.logger.deployError(error);
|
|
237
|
+
return {
|
|
238
|
+
success: false,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
const success = deploy?.status === PROJECT_DEPLOY_STATES.SUCCESS;
|
|
242
|
+
if (success) {
|
|
243
|
+
await this.updateProjectData();
|
|
244
|
+
this.logger.deploySuccess();
|
|
245
|
+
await this.updateProjectNodesAfterDeploy();
|
|
246
|
+
this.state.clearUploadWarnings();
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
this.logger.deployError();
|
|
250
|
+
}
|
|
251
|
+
return {
|
|
252
|
+
success,
|
|
253
|
+
deployId: deploy?.deployId,
|
|
254
|
+
};
|
|
183
255
|
}
|
|
184
256
|
addStateListener(key, listener) {
|
|
185
257
|
this.state.addListener(key, listener);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IntermediateRepresentationNodeLocalDev, HSProfileVariables } from '@hubspot/project-parsing-lib/src/lib/types.js';
|
|
2
2
|
import { Environment } from '@hubspot/local-dev-lib/types/Config';
|
|
3
|
+
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
3
4
|
import { ProjectConfig } from '../../../types/Projects.js';
|
|
4
5
|
import { LocalDevStateConstructorOptions, LocalDevStateListener, AppLocalDevData, LocalDevServerMessage } from '../../../types/LocalDev.js';
|
|
5
6
|
declare class LocalDevState {
|
|
@@ -8,26 +9,24 @@ declare class LocalDevState {
|
|
|
8
9
|
private _profile?;
|
|
9
10
|
private _projectConfig;
|
|
10
11
|
private _projectDir;
|
|
11
|
-
private
|
|
12
|
-
private _projectName;
|
|
12
|
+
private _projectData;
|
|
13
13
|
private _debug;
|
|
14
14
|
private _projectNodes;
|
|
15
15
|
private _projectProfileData;
|
|
16
|
-
private
|
|
16
|
+
private _projectNodesAtLastDeploy;
|
|
17
17
|
private _env;
|
|
18
18
|
private _listeners;
|
|
19
19
|
private _appData;
|
|
20
20
|
private _devServerMessage;
|
|
21
21
|
private _uploadWarnings;
|
|
22
|
-
|
|
22
|
+
private _devServersStarted;
|
|
23
|
+
constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, }: LocalDevStateConstructorOptions);
|
|
23
24
|
private runListeners;
|
|
24
25
|
get targetProjectAccountId(): number;
|
|
25
26
|
get targetTestingAccountId(): number;
|
|
26
27
|
get profile(): string | undefined;
|
|
27
28
|
get projectConfig(): ProjectConfig;
|
|
28
29
|
get projectDir(): string;
|
|
29
|
-
get projectId(): number;
|
|
30
|
-
get projectName(): string;
|
|
31
30
|
get debug(): boolean;
|
|
32
31
|
get projectNodes(): {
|
|
33
32
|
[key: string]: IntermediateRepresentationNodeLocalDev;
|
|
@@ -37,12 +36,15 @@ declare class LocalDevState {
|
|
|
37
36
|
});
|
|
38
37
|
get projectProfileData(): HSProfileVariables;
|
|
39
38
|
set projectProfileData(profileData: HSProfileVariables);
|
|
40
|
-
get
|
|
39
|
+
get projectNodesAtLastDeploy(): {
|
|
41
40
|
[key: string]: IntermediateRepresentationNodeLocalDev;
|
|
42
41
|
};
|
|
43
|
-
set
|
|
42
|
+
set projectNodesAtLastDeploy(nodes: {
|
|
44
43
|
[key: string]: IntermediateRepresentationNodeLocalDev;
|
|
45
44
|
});
|
|
45
|
+
get projectData(): Project;
|
|
46
|
+
get projectId(): number;
|
|
47
|
+
set projectData(projectData: Project);
|
|
46
48
|
get env(): Environment;
|
|
47
49
|
get appData(): Record<string, AppLocalDevData>;
|
|
48
50
|
getAppDataByUid(uid: string): AppLocalDevData | undefined;
|
|
@@ -50,6 +52,8 @@ declare class LocalDevState {
|
|
|
50
52
|
get devServerMessage(): string;
|
|
51
53
|
set devServerMessage(message: LocalDevServerMessage);
|
|
52
54
|
get uploadWarnings(): Set<string>;
|
|
55
|
+
get devServersStarted(): boolean;
|
|
56
|
+
set devServersStarted(started: boolean);
|
|
53
57
|
addUploadWarning(warning: string): void;
|
|
54
58
|
clearUploadWarnings(): void;
|
|
55
59
|
addListener<K extends keyof LocalDevState>(key: K, listener: LocalDevStateListener<K>): void;
|
|
@@ -5,33 +5,33 @@ class LocalDevState {
|
|
|
5
5
|
_profile;
|
|
6
6
|
_projectConfig;
|
|
7
7
|
_projectDir;
|
|
8
|
-
|
|
9
|
-
_projectName;
|
|
8
|
+
_projectData;
|
|
10
9
|
_debug;
|
|
11
10
|
_projectNodes;
|
|
12
11
|
_projectProfileData;
|
|
13
|
-
|
|
12
|
+
_projectNodesAtLastDeploy;
|
|
14
13
|
_env;
|
|
15
14
|
_listeners;
|
|
16
15
|
_appData;
|
|
17
16
|
_devServerMessage;
|
|
18
17
|
_uploadWarnings;
|
|
19
|
-
|
|
18
|
+
_devServersStarted;
|
|
19
|
+
constructor({ targetProjectAccountId, targetTestingAccountId, projectConfig, projectDir, projectData, debug, initialProjectNodes, initialProjectProfileData, profile, env, }) {
|
|
20
20
|
this._targetProjectAccountId = targetProjectAccountId;
|
|
21
21
|
this._targetTestingAccountId = targetTestingAccountId;
|
|
22
22
|
this._profile = profile;
|
|
23
23
|
this._projectConfig = projectConfig;
|
|
24
24
|
this._projectDir = projectDir;
|
|
25
|
-
this.
|
|
26
|
-
this._projectName = projectName;
|
|
25
|
+
this._projectData = projectData;
|
|
27
26
|
this._debug = debug || false;
|
|
28
27
|
this._projectNodes = initialProjectNodes;
|
|
29
|
-
this.
|
|
28
|
+
this._projectNodesAtLastDeploy = initialProjectNodes;
|
|
30
29
|
this._projectProfileData = initialProjectProfileData;
|
|
31
30
|
this._env = env;
|
|
32
31
|
this._appData = {};
|
|
33
32
|
this._devServerMessage = LOCAL_DEV_SERVER_MESSAGE_TYPES.INITIAL;
|
|
34
33
|
this._uploadWarnings = new Set();
|
|
34
|
+
this._devServersStarted = false;
|
|
35
35
|
this._listeners = {};
|
|
36
36
|
}
|
|
37
37
|
runListeners(key) {
|
|
@@ -54,12 +54,6 @@ class LocalDevState {
|
|
|
54
54
|
get projectDir() {
|
|
55
55
|
return this._projectDir;
|
|
56
56
|
}
|
|
57
|
-
get projectId() {
|
|
58
|
-
return this._projectId;
|
|
59
|
-
}
|
|
60
|
-
get projectName() {
|
|
61
|
-
return this._projectName;
|
|
62
|
-
}
|
|
63
57
|
get debug() {
|
|
64
58
|
return this._debug;
|
|
65
59
|
}
|
|
@@ -76,11 +70,20 @@ class LocalDevState {
|
|
|
76
70
|
set projectProfileData(profileData) {
|
|
77
71
|
this._projectProfileData = profileData;
|
|
78
72
|
}
|
|
79
|
-
get
|
|
80
|
-
return structuredClone(this.
|
|
73
|
+
get projectNodesAtLastDeploy() {
|
|
74
|
+
return structuredClone(this._projectNodesAtLastDeploy);
|
|
81
75
|
}
|
|
82
|
-
set
|
|
83
|
-
this.
|
|
76
|
+
set projectNodesAtLastDeploy(nodes) {
|
|
77
|
+
this._projectNodesAtLastDeploy = nodes;
|
|
78
|
+
}
|
|
79
|
+
get projectData() {
|
|
80
|
+
return structuredClone(this._projectData);
|
|
81
|
+
}
|
|
82
|
+
get projectId() {
|
|
83
|
+
return this.projectData.id;
|
|
84
|
+
}
|
|
85
|
+
set projectData(projectData) {
|
|
86
|
+
this._projectData = projectData;
|
|
84
87
|
}
|
|
85
88
|
get env() {
|
|
86
89
|
return this._env;
|
|
@@ -105,6 +108,13 @@ class LocalDevState {
|
|
|
105
108
|
get uploadWarnings() {
|
|
106
109
|
return this._uploadWarnings;
|
|
107
110
|
}
|
|
111
|
+
get devServersStarted() {
|
|
112
|
+
return this._devServersStarted;
|
|
113
|
+
}
|
|
114
|
+
set devServersStarted(started) {
|
|
115
|
+
this._devServersStarted = started;
|
|
116
|
+
this.runListeners('devServersStarted');
|
|
117
|
+
}
|
|
108
118
|
addUploadWarning(warning) {
|
|
109
119
|
this.uploadWarnings.add(warning);
|
|
110
120
|
this.runListeners('uploadWarnings');
|
|
@@ -3,17 +3,22 @@ declare class LocalDevWebsocketServer {
|
|
|
3
3
|
private server?;
|
|
4
4
|
private debug?;
|
|
5
5
|
private localDevProcess;
|
|
6
|
-
private ALLOWED_ORIGINS;
|
|
7
6
|
constructor(localDevProcess: LocalDevProcess, debug?: boolean);
|
|
8
7
|
private log;
|
|
9
8
|
private logError;
|
|
10
9
|
private sendMessage;
|
|
11
10
|
private handleUpload;
|
|
11
|
+
private handleDeploy;
|
|
12
|
+
private handleAppInstallSuccess;
|
|
13
|
+
private handleAppInstallFailure;
|
|
14
|
+
private handleAppInstallInitiated;
|
|
12
15
|
private setupMessageHandlers;
|
|
16
|
+
private sendCliMetadata;
|
|
13
17
|
private sendProjectData;
|
|
14
18
|
private setupProjectNodesListener;
|
|
15
19
|
private setupAppDataListener;
|
|
16
20
|
private setupUploadWarningsListener;
|
|
21
|
+
private setupDevServersStartedListener;
|
|
17
22
|
private setupStateListeners;
|
|
18
23
|
start(): Promise<void>;
|
|
19
24
|
shutdown(): void;
|