@hubspot/cli 8.3.0 → 8.4.0-beta.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 +2 -0
- package/commands/account/auth.js +12 -22
- package/commands/account/clean.js +5 -6
- package/commands/account/createOverride.js +7 -7
- package/commands/account/info.js +2 -1
- package/commands/account/list.js +3 -5
- package/commands/account/remove.js +2 -3
- package/commands/account/removeOverride.js +8 -10
- package/commands/account/rename.js +5 -6
- package/commands/account/use.js +8 -19
- package/commands/api.d.ts +10 -0
- package/commands/api.js +164 -0
- package/commands/app/migrate.js +8 -8
- package/commands/app/secret/add.js +6 -7
- package/commands/app/secret/delete.js +9 -10
- package/commands/app/secret/list.js +6 -7
- package/commands/app/secret/update.js +8 -9
- package/commands/auth.js +12 -12
- 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 +9 -5
- package/commands/cms/module/marketplace-validate.js +7 -8
- package/commands/cms/mv.js +2 -3
- package/commands/cms/template/create.js +10 -6
- package/commands/cms/theme/create.js +5 -5
- package/commands/cms/theme/generate-selectors.js +5 -4
- package/commands/cms/theme/marketplace-validate.js +8 -9
- package/commands/cms/theme/preview.js +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 +14 -16
- package/commands/hubdb/clear.js +5 -6
- package/commands/hubdb/create.js +4 -5
- package/commands/hubdb/delete.js +8 -9
- package/commands/hubdb/fetch.js +5 -6
- package/commands/hubdb/list.js +16 -14
- package/commands/init.js +14 -17
- 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 +10 -5
- package/commands/project/create.js +10 -10
- package/commands/project/delete.d.ts +7 -0
- package/commands/project/delete.js +74 -0
- package/commands/project/deploy.js +36 -34
- package/commands/project/dev/deprecatedFlow.js +42 -15
- package/commands/project/dev/index.d.ts +3 -3
- package/commands/project/dev/index.js +24 -30
- package/commands/project/dev/unifiedFlow.js +37 -14
- package/commands/project/download.js +10 -11
- package/commands/project/info.d.ts +4 -0
- package/commands/project/info.js +67 -0
- package/commands/project/installDeps.js +9 -6
- package/commands/project/lint.js +11 -8
- package/commands/project/list.js +14 -14
- package/commands/project/listBuilds.js +8 -6
- package/commands/project/logs.js +5 -6
- package/commands/project/migrate.js +8 -8
- package/commands/project/open.js +5 -6
- package/commands/project/profile/add.js +12 -8
- package/commands/project/profile/delete.js +15 -11
- package/commands/project/updateDeps.js +9 -6
- package/commands/project/upload.js +31 -17
- package/commands/project/validate.js +11 -11
- package/commands/project/watch.js +20 -20
- package/commands/project.js +4 -0
- package/commands/sandbox/create.js +15 -15
- 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 +20 -16
- 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 +114 -5
- package/lang/en.js +111 -5
- package/lib/accountAuth.js +2 -2
- package/lib/buildAccount.js +3 -3
- package/lib/doctor/Diagnosis.js +5 -5
- package/lib/errorHandlers/index.js +4 -3
- package/lib/errorHandlers/suppressError.js +4 -0
- package/lib/errors/PromptExitError.d.ts +4 -2
- package/lib/errors/PromptExitError.js +3 -0
- package/lib/process.d.ts +1 -1
- package/lib/process.js +10 -3
- package/lib/projects/delete.d.ts +13 -0
- package/lib/projects/delete.js +193 -0
- package/lib/projects/localDev/AppDevModeInterface.js +11 -11
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +3 -1
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +2 -2
- 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 +3 -0
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +16 -12
- package/lib/projects/localDev/LocalDevProcess.js +6 -5
- package/lib/projects/localDev/LocalDevState.d.ts +3 -2
- package/lib/projects/localDev/LocalDevState.js +3 -1
- package/lib/projects/localDev/helpers/account.d.ts +4 -3
- package/lib/projects/localDev/helpers/account.js +16 -19
- package/lib/projects/localDev/helpers/process.d.ts +1 -1
- package/lib/projects/localDev/helpers/process.js +4 -10
- package/lib/projects/localDev/helpers/project.d.ts +4 -3
- package/lib/projects/localDev/helpers/project.js +31 -15
- package/lib/projects/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/prompts/createApiSamplePrompt.js +4 -0
- package/lib/prompts/projectProfilePrompt.d.ts +2 -0
- package/lib/prompts/projectProfilePrompt.js +46 -0
- package/lib/prompts/promptUtils.js +3 -2
- package/lib/prompts/selectHubDBTablePrompt.js +2 -2
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +2 -2
- package/lib/theme/cmsDevServerProcess.d.ts +2 -0
- package/lib/theme/cmsDevServerProcess.js +7 -6
- package/lib/ui/SpinniesManager.d.ts +1 -0
- package/lib/ui/SpinniesManager.js +20 -6
- package/lib/ui/spinniesUtils.d.ts +0 -1
- package/lib/ui/spinniesUtils.js +6 -16
- package/lib/usageTracking.d.ts +3 -4
- package/lib/yargs/makeYargsBuilder.d.ts +13 -0
- package/lib/yargs/makeYargsBuilder.js +33 -0
- package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
- package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
- package/lib/yargs/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/package.json +9 -4
- package/types/LocalDev.d.ts +5 -0
- package/types/Projects.d.ts +19 -0
- package/types/Yargs.d.ts +18 -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 -312
- 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 -198
- 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 -211
- 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__/sandboxes.test.d.ts +0 -1
- package/lib/__tests__/sandboxes.test.js +0 -128
- 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 -440
- 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/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/theme/__tests__/migrate.test.d.ts +0 -1
- package/lib/theme/__tests__/migrate.test.js +0 -247
- 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 -131
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getImportDataRequest } from '@hubspot/local-dev-lib/crm';
|
|
2
2
|
import { logError } from '../../lib/errorHandlers/index.js';
|
|
3
|
+
import { makeYargsHandlerWithUsageTracking } from '../../lib/yargs/makeYargsHandlerWithUsageTracking.js';
|
|
3
4
|
import { makeYargsBuilder } from '../../lib/yargsUtils.js';
|
|
4
|
-
import { trackCommandUsage } from '../../lib/usageTracking.js';
|
|
5
5
|
import { EXIT_CODES } from '../../lib/enums/exitCodes.js';
|
|
6
6
|
import { importDataFilePathPrompt } from '../../lib/prompts/importDataFilePathPrompt.js';
|
|
7
7
|
import { handleImportData, handleTargetTestAccountSelectionFlow, } from '../../lib/importData.js';
|
|
@@ -10,8 +10,7 @@ import { commands } from '../../lang/en.js';
|
|
|
10
10
|
export const command = 'import-data';
|
|
11
11
|
export const describe = commands.testAccount.subcommands.importData.describe;
|
|
12
12
|
async function handler(args) {
|
|
13
|
-
const { derivedAccountId, userProvidedAccount, filePath: providedFilePath, skipConfirm, } = args;
|
|
14
|
-
trackCommandUsage('crm-import-data', {}, derivedAccountId);
|
|
13
|
+
const { derivedAccountId, userProvidedAccount, filePath: providedFilePath, skipConfirm, exit, } = args;
|
|
15
14
|
let targetAccountId;
|
|
16
15
|
try {
|
|
17
16
|
targetAccountId = await handleTargetTestAccountSelectionFlow(derivedAccountId, userProvidedAccount);
|
|
@@ -20,15 +19,15 @@ async function handler(args) {
|
|
|
20
19
|
const confirmImportData = skipConfirm ||
|
|
21
20
|
(await confirmImportDataPrompt(targetAccountId, dataFileNames));
|
|
22
21
|
if (!confirmImportData) {
|
|
23
|
-
|
|
22
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
24
23
|
}
|
|
25
24
|
await handleImportData(targetAccountId, dataFileNames, importRequest);
|
|
26
25
|
}
|
|
27
26
|
catch (error) {
|
|
28
27
|
logError(error);
|
|
29
|
-
|
|
28
|
+
return exit(EXIT_CODES.ERROR);
|
|
30
29
|
}
|
|
31
|
-
|
|
30
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
32
31
|
}
|
|
33
32
|
function crmImportDataBuilder(yargs) {
|
|
34
33
|
yargs.example([['$0 test-account import-data']]);
|
|
@@ -56,6 +55,6 @@ const crmImportDataCommand = {
|
|
|
56
55
|
command,
|
|
57
56
|
describe,
|
|
58
57
|
builder,
|
|
59
|
-
handler,
|
|
58
|
+
handler: makeYargsHandlerWithUsageTracking('crm-import-data', handler),
|
|
60
59
|
};
|
|
61
60
|
export default crmImportDataCommand;
|
package/commands/upgrade.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isConfigFlagEnabled } from '@hubspot/local-dev-lib/config';
|
|
2
2
|
import { CONFIG_FLAGS } from '@hubspot/local-dev-lib/constants/config';
|
|
3
|
-
import { trackCommandUsage } from '../lib/usageTracking.js';
|
|
4
3
|
import { EXIT_CODES } from '../lib/enums/exitCodes.js';
|
|
4
|
+
import { makeYargsHandlerWithUsageTracking } from '../lib/yargs/makeYargsHandlerWithUsageTracking.js';
|
|
5
5
|
import { makeYargsBuilder } from '../lib/yargsUtils.js';
|
|
6
6
|
import { uiLogger } from '../lib/ui/logger.js';
|
|
7
7
|
import { commands } from '../lang/en.js';
|
|
@@ -14,8 +14,7 @@ import { debugError } from '../lib/errorHandlers/index.js';
|
|
|
14
14
|
const command = ['upgrade [version]', 'update [version]'];
|
|
15
15
|
const describe = commands.upgrade.describe;
|
|
16
16
|
const handler = async (args) => {
|
|
17
|
-
const { version, force, beta,
|
|
18
|
-
trackCommandUsage('upgrade', {}, derivedAccountId);
|
|
17
|
+
const { version, force, beta, exit } = args;
|
|
19
18
|
SpinniesManager.init({
|
|
20
19
|
succeedColor: 'white',
|
|
21
20
|
});
|
|
@@ -27,7 +26,7 @@ const handler = async (args) => {
|
|
|
27
26
|
const latestVersion = beta ? nextCliVersion : latestCliVersion;
|
|
28
27
|
if (!latestVersion) {
|
|
29
28
|
uiLogger.error(commands.upgrade.errors.unableToDetermineLatestVersion);
|
|
30
|
-
return
|
|
29
|
+
return exit(EXIT_CODES.ERROR);
|
|
31
30
|
}
|
|
32
31
|
targetVersion = latestVersion;
|
|
33
32
|
}
|
|
@@ -40,20 +39,20 @@ const handler = async (args) => {
|
|
|
40
39
|
else {
|
|
41
40
|
uiLogger.log(commands.upgrade.alreadyLatest(currentVersion, beta));
|
|
42
41
|
}
|
|
43
|
-
return
|
|
42
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
44
43
|
}
|
|
45
44
|
// Check if globally installed
|
|
46
45
|
const isGlobal = await canCliBeAutoUpgraded();
|
|
47
46
|
if (!isGlobal) {
|
|
48
47
|
uiLogger.log(commands.upgrade.autoUpgradeNotAvailable(targetVersion));
|
|
49
|
-
return
|
|
48
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
50
49
|
}
|
|
51
50
|
// Prompt for confirmation unless --force is used
|
|
52
51
|
if (!force) {
|
|
53
52
|
const shouldUpgrade = await confirmPrompt(commands.upgrade.confirmPrompt(currentVersion, targetVersion), { defaultAnswer: true });
|
|
54
53
|
if (!shouldUpgrade) {
|
|
55
54
|
uiLogger.log(commands.upgrade.cancelled);
|
|
56
|
-
return
|
|
55
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
SpinniesManager.add('upgrade', {
|
|
@@ -68,7 +67,7 @@ const handler = async (args) => {
|
|
|
68
67
|
});
|
|
69
68
|
uiLogger.log('');
|
|
70
69
|
uiLogger.error(commands.upgrade.errors.generic);
|
|
71
|
-
return
|
|
70
|
+
return exit(EXIT_CODES.ERROR);
|
|
72
71
|
}
|
|
73
72
|
SpinniesManager.succeed('upgrade', {
|
|
74
73
|
text: commands.upgrade.success(targetVersion),
|
|
@@ -85,7 +84,7 @@ const handler = async (args) => {
|
|
|
85
84
|
uiLogger.log('');
|
|
86
85
|
uiLogger.log(commands.upgrade.autoUpgradeMessage);
|
|
87
86
|
}
|
|
88
|
-
return
|
|
87
|
+
return exit(EXIT_CODES.SUCCESS);
|
|
89
88
|
};
|
|
90
89
|
function upgradeBuilder(yargs) {
|
|
91
90
|
yargs
|
|
@@ -113,7 +112,7 @@ const builder = makeYargsBuilder(upgradeBuilder, command, describe, {
|
|
|
113
112
|
const upgradeCommand = {
|
|
114
113
|
command,
|
|
115
114
|
describe,
|
|
116
|
-
handler,
|
|
115
|
+
handler: makeYargsHandlerWithUsageTracking('upgrade', handler),
|
|
117
116
|
builder,
|
|
118
117
|
};
|
|
119
118
|
export default upgradeCommand;
|
package/lang/en.d.ts
CHANGED
|
@@ -1304,6 +1304,30 @@ export declare const commands: {
|
|
|
1304
1304
|
shuttingDown: string;
|
|
1305
1305
|
};
|
|
1306
1306
|
};
|
|
1307
|
+
api: {
|
|
1308
|
+
describe: string;
|
|
1309
|
+
verboseDescribe: string;
|
|
1310
|
+
positionals: {
|
|
1311
|
+
endpoint: {
|
|
1312
|
+
describe: string;
|
|
1313
|
+
};
|
|
1314
|
+
};
|
|
1315
|
+
options: {
|
|
1316
|
+
method: {
|
|
1317
|
+
describe: string;
|
|
1318
|
+
};
|
|
1319
|
+
data: {
|
|
1320
|
+
describe: string;
|
|
1321
|
+
};
|
|
1322
|
+
};
|
|
1323
|
+
requestLog: (method: string, url: string) => string;
|
|
1324
|
+
requestBodyLog: (body: string) => string;
|
|
1325
|
+
responseLog: string;
|
|
1326
|
+
errors: {
|
|
1327
|
+
invalidJson: string;
|
|
1328
|
+
statusLine: (status: number, statusText: string) => string;
|
|
1329
|
+
};
|
|
1330
|
+
};
|
|
1307
1331
|
open: {
|
|
1308
1332
|
describe: string;
|
|
1309
1333
|
options: {
|
|
@@ -1345,6 +1369,7 @@ export declare const commands: {
|
|
|
1345
1369
|
};
|
|
1346
1370
|
errors: {
|
|
1347
1371
|
noProjectConfig: string;
|
|
1372
|
+
unsupportedPlatformVersion: string;
|
|
1348
1373
|
profileExists: (profileName: string) => string;
|
|
1349
1374
|
invalidTargetAccount: string;
|
|
1350
1375
|
noAccountsConfigured: string;
|
|
@@ -1375,6 +1400,7 @@ export declare const commands: {
|
|
|
1375
1400
|
};
|
|
1376
1401
|
errors: {
|
|
1377
1402
|
noProjectConfig: string;
|
|
1403
|
+
unsupportedPlatformVersion: string;
|
|
1378
1404
|
noProfileFound: (profileName: string) => string;
|
|
1379
1405
|
noProfilesFound: string;
|
|
1380
1406
|
failedToDeleteProfile: (profileName: string) => string;
|
|
@@ -1598,6 +1624,7 @@ export declare const commands: {
|
|
|
1598
1624
|
deploy: {
|
|
1599
1625
|
describe: string;
|
|
1600
1626
|
deployBuildIdPrompt: string;
|
|
1627
|
+
profileMessage: (profileName: string, accountId: number) => string;
|
|
1601
1628
|
debug: {
|
|
1602
1629
|
deploying: (path: string) => string;
|
|
1603
1630
|
};
|
|
@@ -1710,6 +1737,7 @@ export declare const commands: {
|
|
|
1710
1737
|
autoDeployDisabled: (deployCommand: string) => string;
|
|
1711
1738
|
};
|
|
1712
1739
|
errors: {
|
|
1740
|
+
noProjectConfig: string;
|
|
1713
1741
|
projectLockedError: string;
|
|
1714
1742
|
};
|
|
1715
1743
|
options: {
|
|
@@ -1904,6 +1932,83 @@ export declare const commands: {
|
|
|
1904
1932
|
noProjectsFound: (accountId: number) => string;
|
|
1905
1933
|
};
|
|
1906
1934
|
};
|
|
1935
|
+
info: {
|
|
1936
|
+
describe: string;
|
|
1937
|
+
verboseDescribe: string;
|
|
1938
|
+
project: {
|
|
1939
|
+
title: (name: string) => string;
|
|
1940
|
+
platformVersion: (version: string) => string;
|
|
1941
|
+
id: (id: number) => string;
|
|
1942
|
+
deployedBuild: (buildId: number) => string;
|
|
1943
|
+
autoDeploy: (enabled: boolean) => string;
|
|
1944
|
+
};
|
|
1945
|
+
app: {
|
|
1946
|
+
title: string;
|
|
1947
|
+
name: (name: string) => string;
|
|
1948
|
+
id: (id: number) => string;
|
|
1949
|
+
uid: (uid: string) => string;
|
|
1950
|
+
authType: (authType: string) => string;
|
|
1951
|
+
distributionType: (distributionType: string) => string;
|
|
1952
|
+
};
|
|
1953
|
+
examples: {
|
|
1954
|
+
default: string;
|
|
1955
|
+
json: string;
|
|
1956
|
+
};
|
|
1957
|
+
viewProjectLink: string;
|
|
1958
|
+
componentsHeader: string;
|
|
1959
|
+
labels: {
|
|
1960
|
+
type: string;
|
|
1961
|
+
uid: string;
|
|
1962
|
+
};
|
|
1963
|
+
errors: {
|
|
1964
|
+
noProjectConfig: string;
|
|
1965
|
+
projectNotFound: (projectName: string, accountId: number) => string;
|
|
1966
|
+
noDeployedBuild: string;
|
|
1967
|
+
unsupportedPlatformVersion: (platformVersion: string) => string;
|
|
1968
|
+
};
|
|
1969
|
+
};
|
|
1970
|
+
delete: {
|
|
1971
|
+
describe: string;
|
|
1972
|
+
verboseDescribe: string;
|
|
1973
|
+
warnings: {
|
|
1974
|
+
irreversibleTitle: string;
|
|
1975
|
+
irreversible: string;
|
|
1976
|
+
};
|
|
1977
|
+
prompts: {
|
|
1978
|
+
selectProject: (accountId: number) => string;
|
|
1979
|
+
confirmDelete: (projectName: string, accountId: number) => string;
|
|
1980
|
+
validation: {
|
|
1981
|
+
projectRequired: string;
|
|
1982
|
+
};
|
|
1983
|
+
};
|
|
1984
|
+
logs: {
|
|
1985
|
+
deleting: (projectName: string) => string;
|
|
1986
|
+
deleted: (projectName: string, accountId: number) => string;
|
|
1987
|
+
cancelled: string;
|
|
1988
|
+
componentsToDeleteUnified: (components: {
|
|
1989
|
+
componentType: string;
|
|
1990
|
+
componentId: string;
|
|
1991
|
+
}[]) => string;
|
|
1992
|
+
componentsToDeleteLegacy: (components: string[]) => string;
|
|
1993
|
+
deletingComponents: (projectName: string) => string;
|
|
1994
|
+
componentsDeleted: (projectName: string) => string;
|
|
1995
|
+
unableToDetermineIfComponentsWereDeleted: (projectName: string) => string;
|
|
1996
|
+
installWarning: (installCount: number) => string;
|
|
1997
|
+
installCountUnknown: string;
|
|
1998
|
+
};
|
|
1999
|
+
errors: {
|
|
2000
|
+
noProjectsFound: (accountId: number) => string;
|
|
2001
|
+
projectNotFound: (projectName: string, accountId: number) => string;
|
|
2002
|
+
deleteFailed: (projectName: string) => string;
|
|
2003
|
+
cannotDelete: (projectName: string, reason: string) => string;
|
|
2004
|
+
noPlatformVersion: string;
|
|
2005
|
+
componentDeletionFailed: (projectName: string) => string;
|
|
2006
|
+
};
|
|
2007
|
+
options: {
|
|
2008
|
+
project: string;
|
|
2009
|
+
force: string;
|
|
2010
|
+
};
|
|
2011
|
+
};
|
|
1907
2012
|
};
|
|
1908
2013
|
sandbox: {
|
|
1909
2014
|
describe: string;
|
|
@@ -3062,11 +3167,6 @@ export declare const lib: {
|
|
|
3062
3167
|
profileTargetAccount: (accountId: number) => string;
|
|
3063
3168
|
profileVariables: string;
|
|
3064
3169
|
};
|
|
3065
|
-
exitIfUsingProfiles: {
|
|
3066
|
-
errors: {
|
|
3067
|
-
noProfileSpecified: string;
|
|
3068
|
-
};
|
|
3069
|
-
};
|
|
3070
3170
|
loadProfile: {
|
|
3071
3171
|
errors: {
|
|
3072
3172
|
noProjectConfig: string;
|
|
@@ -3289,6 +3389,9 @@ export declare const lib: {
|
|
|
3289
3389
|
pakFailure: string;
|
|
3290
3390
|
};
|
|
3291
3391
|
};
|
|
3392
|
+
usageTracking: {
|
|
3393
|
+
transparencyMessage: string;
|
|
3394
|
+
};
|
|
3292
3395
|
configOptions: {
|
|
3293
3396
|
enableOrDisableBooleanFieldPrompt: {
|
|
3294
3397
|
message: (fieldName: string) => string;
|
|
@@ -3377,8 +3480,14 @@ export declare const lib: {
|
|
|
3377
3480
|
promptUtils: {
|
|
3378
3481
|
errors: {
|
|
3379
3482
|
noSelectableChoices: string;
|
|
3483
|
+
userCancelled: string;
|
|
3380
3484
|
};
|
|
3381
3485
|
};
|
|
3486
|
+
projectProfilePrompt: {
|
|
3487
|
+
message: string;
|
|
3488
|
+
exitMessage: string;
|
|
3489
|
+
noValidProfilesMessage: string;
|
|
3490
|
+
};
|
|
3382
3491
|
importDataFilePathPrompt: {
|
|
3383
3492
|
promptContext: string;
|
|
3384
3493
|
promptMessage: string;
|
package/lang/en.js
CHANGED
|
@@ -1320,6 +1320,30 @@ export const commands = {
|
|
|
1320
1320
|
shuttingDown: 'Shutting down MCP server...',
|
|
1321
1321
|
},
|
|
1322
1322
|
},
|
|
1323
|
+
api: {
|
|
1324
|
+
describe: 'Make an authenticated HTTP request to the HubSpot API.',
|
|
1325
|
+
verboseDescribe: `Make an authenticated HTTP request to any HubSpot API that supports PAKs using your CLI authentication.\n\nThis command is intended for testing and exploration of HubSpot APIs. It uses the authentication credentials configured in the CLI to make requests on your behalf.\n\nThe endpoint should be the API path, e.g. ${chalk.bold('/crm/v3/objects/contacts')}. The request will be authenticated using the account specified by ${uiCommandReference('--account')} or the default account.\n\nNote: The available endpoints depend on the scopes granted to your personal access key. If you receive a 403 error, check that your key includes the required scopes for the endpoint you are trying to reach. ${uiLink('Learn more about the HubSpot API', 'https://developers.hubspot.com/docs/api-reference/latest/overview')}`,
|
|
1326
|
+
positionals: {
|
|
1327
|
+
endpoint: {
|
|
1328
|
+
describe: 'API endpoint path (e.g. /crm/v3/objects/contacts)',
|
|
1329
|
+
},
|
|
1330
|
+
},
|
|
1331
|
+
options: {
|
|
1332
|
+
method: {
|
|
1333
|
+
describe: 'HTTP method to use. Defaults to GET, or POST if --data is provided',
|
|
1334
|
+
},
|
|
1335
|
+
data: {
|
|
1336
|
+
describe: 'JSON-formatted request body for POST, PUT, and PATCH requests',
|
|
1337
|
+
},
|
|
1338
|
+
},
|
|
1339
|
+
requestLog: (method, url) => `${chalk.bold(method)} ${url}`,
|
|
1340
|
+
requestBodyLog: (body) => `Request body: ${body}`,
|
|
1341
|
+
responseLog: 'Response:',
|
|
1342
|
+
errors: {
|
|
1343
|
+
invalidJson: 'The value passed to --data is not valid JSON. Please provide a valid JSON string.',
|
|
1344
|
+
statusLine: (status, statusText) => `${chalk.red(`${status} ${statusText}`)}`,
|
|
1345
|
+
},
|
|
1346
|
+
},
|
|
1323
1347
|
open: {
|
|
1324
1348
|
describe: 'Open a HubSpot page in your browser.',
|
|
1325
1349
|
options: {
|
|
@@ -1361,6 +1385,7 @@ export const commands = {
|
|
|
1361
1385
|
},
|
|
1362
1386
|
errors: {
|
|
1363
1387
|
noProjectConfig: 'No project config found. Please run this command from a project directory.',
|
|
1388
|
+
unsupportedPlatformVersion: 'This command is only available for projects 2025.2 and later.',
|
|
1364
1389
|
profileExists: (profileName) => `Profile ${chalk.bold(profileName)} already exists. Please choose a different name.`,
|
|
1365
1390
|
invalidTargetAccount: 'Target account is not configured in the CLI',
|
|
1366
1391
|
noAccountsConfigured: 'No accounts configured in the CLI',
|
|
@@ -1391,6 +1416,7 @@ export const commands = {
|
|
|
1391
1416
|
},
|
|
1392
1417
|
errors: {
|
|
1393
1418
|
noProjectConfig: 'No project config found. Please run this command from a project directory.',
|
|
1419
|
+
unsupportedPlatformVersion: 'This command is only available for projects 2025.2 and later.',
|
|
1394
1420
|
noProfileFound: (profileName) => `No profile with filename ${chalk.bold(profileName)} found in your project.`,
|
|
1395
1421
|
noProfilesFound: 'No profiles found in your project.',
|
|
1396
1422
|
failedToDeleteProfile: (profileName) => `Unable to delete profile ${chalk.bold(profileName)}. Please try again.`,
|
|
@@ -1614,6 +1640,7 @@ export const commands = {
|
|
|
1614
1640
|
deploy: {
|
|
1615
1641
|
describe: 'Deploy a project build.',
|
|
1616
1642
|
deployBuildIdPrompt: '[--build] Deploy which build?',
|
|
1643
|
+
profileMessage: (profileName, accountId) => `Deploying with ${chalk.bold(profileName)} profile: ${uiAccountDescription(accountId)}`,
|
|
1617
1644
|
debug: {
|
|
1618
1645
|
deploying: (path) => `Deploying project at path: ${path}`,
|
|
1619
1646
|
},
|
|
@@ -1726,6 +1753,7 @@ export const commands = {
|
|
|
1726
1753
|
autoDeployDisabled: (deployCommand) => `Automatic deploys are disabled for this project. Run ${uiCommandReference(deployCommand)} to deploy this build.`,
|
|
1727
1754
|
},
|
|
1728
1755
|
errors: {
|
|
1756
|
+
noProjectConfig: 'No project detected. Run this command from a project directory.',
|
|
1729
1757
|
projectLockedError: `Your project is locked. This may mean that another user is running the ${uiCommandReference('hs project dev')} command for this project. If this is you, unlock the project in Projects UI.`,
|
|
1730
1758
|
},
|
|
1731
1759
|
options: {
|
|
@@ -1927,6 +1955,80 @@ export const commands = {
|
|
|
1927
1955
|
noProjectsFound: (accountId) => `No projects found for account ${uiAccountDescription(accountId)}`,
|
|
1928
1956
|
},
|
|
1929
1957
|
},
|
|
1958
|
+
info: {
|
|
1959
|
+
describe: 'Display information about a project, its app, and its components',
|
|
1960
|
+
verboseDescribe: `Display information about a project, its app, and its components\n\nShows the project's platform version, deployed build ID, auto-deploy status, app metadata, and a list of components.\n\nRun ${uiCommandReference('hs project info --json')} to output the result as JSON for scripting.`,
|
|
1961
|
+
project: {
|
|
1962
|
+
title: (name) => `Project: ${name}`,
|
|
1963
|
+
platformVersion: (version) => `Platform Version: ${version}`,
|
|
1964
|
+
id: (id) => `Project ID: ${id}`,
|
|
1965
|
+
deployedBuild: (buildId) => `Deployed Build: #${buildId}`,
|
|
1966
|
+
autoDeploy: (enabled) => `Auto-deploy: ${enabled ? 'Enabled' : 'Disabled'}`,
|
|
1967
|
+
},
|
|
1968
|
+
app: {
|
|
1969
|
+
title: 'App',
|
|
1970
|
+
name: (name) => `Name: ${name}`,
|
|
1971
|
+
id: (id) => `App ID: ${id}`,
|
|
1972
|
+
uid: (uid) => `UID: ${uid}`,
|
|
1973
|
+
authType: (authType) => `Auth Type: ${authType}`,
|
|
1974
|
+
distributionType: (distributionType) => `Distribution: ${distributionType}`,
|
|
1975
|
+
},
|
|
1976
|
+
examples: {
|
|
1977
|
+
default: 'Display project information',
|
|
1978
|
+
json: 'Output as JSON for scripting',
|
|
1979
|
+
},
|
|
1980
|
+
viewProjectLink: 'View project in HubSpot',
|
|
1981
|
+
componentsHeader: 'Components',
|
|
1982
|
+
labels: {
|
|
1983
|
+
type: 'Type',
|
|
1984
|
+
uid: 'UID',
|
|
1985
|
+
},
|
|
1986
|
+
errors: {
|
|
1987
|
+
noProjectConfig: `No project found in this directory.\n\nRun ${uiCommandReference('hs project create')} to start a new project, or change to a directory containing hsproject.json.`,
|
|
1988
|
+
projectNotFound: (projectName, accountId) => `Project "${projectName}" was not found in account ${uiAccountDescription(accountId)}. Make sure the project has been uploaded at least once.`,
|
|
1989
|
+
noDeployedBuild: `This project has not been deployed yet.\n\nRun ${uiCommandReference('hs project deploy')} to deploy your project.`,
|
|
1990
|
+
unsupportedPlatformVersion: (platformVersion) => `This command is not supported for platform version ${chalk.bold(platformVersion)}. Please upgrade to 2025.2 or later.`,
|
|
1991
|
+
},
|
|
1992
|
+
},
|
|
1993
|
+
delete: {
|
|
1994
|
+
describe: 'Delete a project from the current target account',
|
|
1995
|
+
verboseDescribe: `Delete a project from the current target account\n\nThis will permanently delete the project, all deployed components, and any app installations associated with it. Your local project files will not be affected.`,
|
|
1996
|
+
warnings: {
|
|
1997
|
+
irreversibleTitle: 'Warning: This will permanently delete your project',
|
|
1998
|
+
irreversible: 'Deleting this project will also delete all deployed components and app installations. This action cannot be undone. Your local project files will not be affected.',
|
|
1999
|
+
},
|
|
2000
|
+
prompts: {
|
|
2001
|
+
selectProject: (accountId) => `Select a project to delete in ${uiAccountDescription(accountId)}`,
|
|
2002
|
+
confirmDelete: (projectName, accountId) => `[--force] Delete ${chalk.bold(projectName)} from ${uiAccountDescription(accountId)}? This cannot be undone.`,
|
|
2003
|
+
validation: {
|
|
2004
|
+
projectRequired: 'Please select a project to delete',
|
|
2005
|
+
},
|
|
2006
|
+
},
|
|
2007
|
+
logs: {
|
|
2008
|
+
deleting: (projectName) => `Deleting project ${chalk.bold(projectName)}...`,
|
|
2009
|
+
deleted: (projectName, accountId) => `Deleted project ${chalk.bold(projectName)} from ${uiAccountDescription(accountId)}`,
|
|
2010
|
+
cancelled: 'Deletion cancelled',
|
|
2011
|
+
componentsToDeleteUnified: (components) => `The following deployed components will be deleted:\n${components.map(c => ` - ${chalk.bold(c.componentId)} (${mapToUserFriendlyName(c.componentType)})`).join('\n')}`,
|
|
2012
|
+
componentsToDeleteLegacy: (components) => `The following deployed components will be deleted:\n${components.map(c => ` - ${chalk.bold(c)}`).join('\n')}`,
|
|
2013
|
+
deletingComponents: (projectName) => `Deleting deployed components from ${chalk.bold(projectName)}...`,
|
|
2014
|
+
componentsDeleted: (projectName) => `Deleted deployed components from ${chalk.bold(projectName)}`,
|
|
2015
|
+
unableToDetermineIfComponentsWereDeleted: (projectName) => `Unable to determine if components were successfully deleted from ${chalk.bold(projectName)}. Please try again.`,
|
|
2016
|
+
installWarning: (installCount) => `This project has ${chalk.bold(String(installCount))} active app ${installCount === 1 ? 'installation' : 'installations'} that will be deleted.`,
|
|
2017
|
+
installCountUnknown: 'Unable to determine the number of active app installations for this project.',
|
|
2018
|
+
},
|
|
2019
|
+
errors: {
|
|
2020
|
+
noProjectsFound: (accountId) => `No projects found for account ${uiAccountDescription(accountId)}`,
|
|
2021
|
+
projectNotFound: (projectName, accountId) => `Project ${chalk.bold(projectName)} not found in ${uiAccountDescription(accountId)}`,
|
|
2022
|
+
deleteFailed: (projectName) => `Failed to delete project ${chalk.bold(projectName)}. Run with --debug for details or try again.`,
|
|
2023
|
+
cannotDelete: (projectName, reason) => `Cannot delete project ${chalk.bold(projectName)}: ${reason}`,
|
|
2024
|
+
noPlatformVersion: 'Unable to determine platform version for project',
|
|
2025
|
+
componentDeletionFailed: (projectName) => `Failed to delete deployed components from ${chalk.bold(projectName)}. The project was not deleted.`,
|
|
2026
|
+
},
|
|
2027
|
+
options: {
|
|
2028
|
+
project: 'name of the project to delete',
|
|
2029
|
+
force: 'skip confirmation prompt',
|
|
2030
|
+
},
|
|
2031
|
+
},
|
|
1930
2032
|
},
|
|
1931
2033
|
sandbox: {
|
|
1932
2034
|
describe: 'Commands for managing sandboxes.',
|
|
@@ -3085,11 +3187,6 @@ export const lib = {
|
|
|
3085
3187
|
profileTargetAccount: (accountId) => `Targeting ${uiAccountDescription(accountId)}`,
|
|
3086
3188
|
profileVariables: 'Profile variables',
|
|
3087
3189
|
},
|
|
3088
|
-
exitIfUsingProfiles: {
|
|
3089
|
-
errors: {
|
|
3090
|
-
noProfileSpecified: `This project is configured to use profiles, but no profile was specified. Target a profile using the ${uiCommandReference('--profile')} flag.`,
|
|
3091
|
-
},
|
|
3092
|
-
},
|
|
3093
3190
|
loadProfile: {
|
|
3094
3191
|
errors: {
|
|
3095
3192
|
noProjectConfig: 'No project config found. Please run this command from a project directory.',
|
|
@@ -3312,6 +3409,9 @@ export const lib = {
|
|
|
3312
3409
|
pakFailure: 'Failed to generate personal access key for developer test account',
|
|
3313
3410
|
},
|
|
3314
3411
|
},
|
|
3412
|
+
usageTracking: {
|
|
3413
|
+
transparencyMessage: `HubSpot CLI collects anonymous usage data to improve the product. Run ${uiCommandReference('hs config set --enable-usage-tracking=false', false)} to opt out.\n`,
|
|
3414
|
+
},
|
|
3315
3415
|
configOptions: {
|
|
3316
3416
|
enableOrDisableBooleanFieldPrompt: {
|
|
3317
3417
|
message: (fieldName) => `Choose to enable or disable ${fieldName}`,
|
|
@@ -3400,8 +3500,14 @@ export const lib = {
|
|
|
3400
3500
|
promptUtils: {
|
|
3401
3501
|
errors: {
|
|
3402
3502
|
noSelectableChoices: 'Exiting prompt because no selectable choices are available',
|
|
3503
|
+
userCancelled: 'User cancelled prompt',
|
|
3403
3504
|
},
|
|
3404
3505
|
},
|
|
3506
|
+
projectProfilePrompt: {
|
|
3507
|
+
message: '[--profile] This project is configured to use profiles. Select a profile to use:',
|
|
3508
|
+
exitMessage: `This project is configured to use profiles, but no profile was specified. Try again using ${uiCommandReference('--profile')}`,
|
|
3509
|
+
noValidProfilesMessage: 'There are no valid profiles in this project. Ensure the accounts they are targeting are authenticated and try again.',
|
|
3510
|
+
},
|
|
3405
3511
|
importDataFilePathPrompt: {
|
|
3406
3512
|
promptContext: `To view the JSON schema for data imports, visit ${uiLink('the docs', 'https://developers.hubspot.com/docs/guides/api/crm/imports')}`,
|
|
3407
3513
|
promptMessage: '[--file-path] Select the JSON file that will be used to import your data.',
|
package/lib/accountAuth.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getAccessToken, updateConfigWithAccessToken, } from '@hubspot/local-dev
|
|
|
3
3
|
import { toKebabCase } from '@hubspot/local-dev-lib/text';
|
|
4
4
|
import { handleMerge, handleMigration } from './configMigrate.js';
|
|
5
5
|
import { debugError, logError } from './errorHandlers/index.js';
|
|
6
|
-
import {
|
|
6
|
+
import { isPromptExitError } from './errors/PromptExitError.js';
|
|
7
7
|
import { personalAccessKeyPrompt } from './prompts/personalAccessKeyPrompt.js';
|
|
8
8
|
import { cliAccountNamePrompt } from './prompts/accountNamePrompt.js';
|
|
9
9
|
import { setAsDefaultAccountPrompt } from './prompts/setAsDefaultAccountPrompt.js';
|
|
@@ -37,7 +37,7 @@ async function updateConfigWithNewAccount(env, configAlreadyExists, providedPers
|
|
|
37
37
|
return updatedConfig;
|
|
38
38
|
}
|
|
39
39
|
catch (e) {
|
|
40
|
-
if (e
|
|
40
|
+
if (isPromptExitError(e)) {
|
|
41
41
|
throw e;
|
|
42
42
|
}
|
|
43
43
|
debugError(e);
|
package/lib/buildAccount.js
CHANGED
|
@@ -4,7 +4,7 @@ import { uiLogger } from './ui/logger.js';
|
|
|
4
4
|
import { createDeveloperTestAccount, fetchDeveloperTestAccountGateSyncStatus, generateDeveloperTestAccountPersonalAccessKey, } from '@hubspot/local-dev-lib/api/developerTestAccounts';
|
|
5
5
|
import { HUBSPOT_ACCOUNT_TYPES } from '@hubspot/local-dev-lib/constants/config';
|
|
6
6
|
import { createV2Sandbox, getSandboxPersonalAccessKey, } from '@hubspot/local-dev-lib/api/sandboxHubs';
|
|
7
|
-
import {
|
|
7
|
+
import { isPromptExitError } from './errors/PromptExitError.js';
|
|
8
8
|
import { personalAccessKeyPrompt } from './prompts/personalAccessKeyPrompt.js';
|
|
9
9
|
import { createDeveloperTestAccountConfigPrompt } from './prompts/createDeveloperTestAccountConfigPrompt.js';
|
|
10
10
|
import { cliAccountNamePrompt } from './prompts/accountNamePrompt.js';
|
|
@@ -128,7 +128,7 @@ export async function buildDeveloperTestAccount(testAccountName, parentAccountCo
|
|
|
128
128
|
await saveAccountToConfig(developerTestAccountId, testAccountName, env, developerTestAccountPersonalAccessKey);
|
|
129
129
|
}
|
|
130
130
|
catch (err) {
|
|
131
|
-
if (err
|
|
131
|
+
if (isPromptExitError(err)) {
|
|
132
132
|
throw err;
|
|
133
133
|
}
|
|
134
134
|
logError(err);
|
|
@@ -174,7 +174,7 @@ export async function buildV2Sandbox(sandboxName, parentAccountConfig, sandboxTy
|
|
|
174
174
|
await saveAccountToConfig(sandbox.sandboxHubId, sandboxName, env, pak, force);
|
|
175
175
|
}
|
|
176
176
|
catch (err) {
|
|
177
|
-
if (err
|
|
177
|
+
if (isPromptExitError(err)) {
|
|
178
178
|
throw err;
|
|
179
179
|
}
|
|
180
180
|
logError(err);
|
package/lib/doctor/Diagnosis.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getLabels } from '@hubspot/local-dev-lib/logger';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { helpers } from '../interpolation.js';
|
|
4
4
|
import { uiAccountDescription } from '../ui/index.js';
|
|
@@ -10,11 +10,11 @@ export class Diagnosis {
|
|
|
10
10
|
errorCount = 0;
|
|
11
11
|
warningCount = 0;
|
|
12
12
|
constructor({ diagnosticInfo, accountId }) {
|
|
13
|
-
const
|
|
13
|
+
const labels = getLabels();
|
|
14
14
|
this.prefixes = {
|
|
15
|
-
success: chalk.green(
|
|
16
|
-
error: chalk.red(
|
|
17
|
-
warning: helpers.orange(
|
|
15
|
+
success: chalk.green(labels.success),
|
|
16
|
+
error: chalk.red(labels.error),
|
|
17
|
+
warning: helpers.orange(labels.warning),
|
|
18
18
|
};
|
|
19
19
|
this.diagnosis = {
|
|
20
20
|
cli: {
|
|
@@ -7,11 +7,12 @@ import util from 'util';
|
|
|
7
7
|
import { isProjectValidationError } from '../errors/ProjectValidationError.js';
|
|
8
8
|
export function logError(error, context) {
|
|
9
9
|
debugError(error, context);
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// This should be right after debugError. Add anything else below it
|
|
11
|
+
if (shouldSuppressError(error, context)) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
if (
|
|
14
|
+
if (isProjectValidationError(error)) {
|
|
15
|
+
uiLogger.error(error.message);
|
|
15
16
|
return;
|
|
16
17
|
}
|
|
17
18
|
if (isHubSpotHttpError(error)) {
|
|
@@ -3,6 +3,7 @@ import { uiLogger } from '../ui/logger.js';
|
|
|
3
3
|
import { PLATFORM_VERSION_ERROR_TYPES } from '../constants.js';
|
|
4
4
|
import { lib } from '../../lang/en.js';
|
|
5
5
|
import { uiAccountDescription, uiLine, uiLink } from '../ui/index.js';
|
|
6
|
+
import { isPromptExitError } from '../errors/PromptExitError.js';
|
|
6
7
|
function createPlatformVersionError(err, subCategory) {
|
|
7
8
|
let translationKey = 'unspecifiedPlatformVersion';
|
|
8
9
|
let platformVersion = 'unspecified platformVersion';
|
|
@@ -27,6 +28,9 @@ function createPlatformVersionError(err, subCategory) {
|
|
|
27
28
|
uiLine();
|
|
28
29
|
}
|
|
29
30
|
export function shouldSuppressError(err, context) {
|
|
31
|
+
if (isPromptExitError(err)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
30
34
|
if (isMissingScopeError(err)) {
|
|
31
35
|
uiLogger.error(lib.errorHandlers.suppressErrors.missingScopeError(context?.request || 'request', context?.accountId ? uiAccountDescription(context.accountId) : ''));
|
|
32
36
|
return true;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { ExitCode } from '../../types/Yargs.js';
|
|
1
2
|
export declare class PromptExitError extends Error {
|
|
2
|
-
exitCode:
|
|
3
|
-
constructor(message: string, exitCode:
|
|
3
|
+
exitCode: ExitCode;
|
|
4
|
+
constructor(message: string, exitCode: ExitCode);
|
|
4
5
|
}
|
|
6
|
+
export declare function isPromptExitError(e: unknown): e is PromptExitError;
|
package/lib/process.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ interface KeyPress {
|
|
|
8
8
|
export declare const TERMINATION_SIGNALS: string[];
|
|
9
9
|
export declare function handleExit(callback: (onTerminate: {
|
|
10
10
|
isSIGHUP: boolean;
|
|
11
|
-
}) => void): void;
|
|
11
|
+
}) => void): () => void;
|
|
12
12
|
export declare function handleKeypress(callback: (onKeyPress: KeyPress) => void): void;
|
|
13
13
|
export {};
|
package/lib/process.js
CHANGED
|
@@ -16,9 +16,9 @@ export const TERMINATION_SIGNALS = [
|
|
|
16
16
|
];
|
|
17
17
|
export function handleExit(callback) {
|
|
18
18
|
let exitInProgress = false;
|
|
19
|
+
const listeners = [];
|
|
19
20
|
TERMINATION_SIGNALS.forEach(signal => {
|
|
20
|
-
|
|
21
|
-
process.on(signal, async (...args) => {
|
|
21
|
+
const handler = async (...args) => {
|
|
22
22
|
// Prevent duplicate exit handling
|
|
23
23
|
if (!exitInProgress) {
|
|
24
24
|
exitInProgress = true;
|
|
@@ -38,8 +38,15 @@ export function handleExit(callback) {
|
|
|
38
38
|
}
|
|
39
39
|
await callback({ isSIGHUP });
|
|
40
40
|
}
|
|
41
|
-
}
|
|
41
|
+
};
|
|
42
|
+
listeners.push({ signal, handler });
|
|
43
|
+
process.on(signal, handler);
|
|
42
44
|
});
|
|
45
|
+
return () => {
|
|
46
|
+
for (const { signal, handler } of listeners) {
|
|
47
|
+
process.removeListener(signal, handler);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
43
50
|
}
|
|
44
51
|
export function handleKeypress(callback) {
|
|
45
52
|
readline.createInterface(process.stdin, process.stdout);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const DELETION_POLL_TIMEOUT_MS: number;
|
|
2
|
+
export declare const DELETION_DEPLOY_SUCCESS_STATES: string[];
|
|
3
|
+
export declare const DELETION_DEPLOY_ERROR_STATES: ("FAILURE" | "ERROR" | "REVERTED")[];
|
|
4
|
+
export declare function resolveProjectName(accountId: number, projectArg: string | undefined): Promise<string>;
|
|
5
|
+
export declare function fetchProjectInstallCount(accountId: number, projectId: number): Promise<number>;
|
|
6
|
+
export declare function checkDeployedComponents(accountId: number, projectName: string): Promise<{
|
|
7
|
+
platformVersion: string;
|
|
8
|
+
hasUnifiedComponents: boolean;
|
|
9
|
+
projectId: number;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function deleteDeployedComponents(accountId: number, projectName: string): Promise<void>;
|
|
12
|
+
export declare function handleProjectDeletion(accountId: number, projectName: string): Promise<void>;
|
|
13
|
+
export declare function confirmDeletion(projectName: string, accountId: number, projectId: number): Promise<void>;
|