@hubspot/cli 8.0.10-experimental.6 → 8.0.10-experimental.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/migrate.d.ts +77 -0
- package/api/migrate.js +55 -0
- package/bin/cli.d.ts +2 -0
- package/bin/cli.js +136 -0
- package/bin/hs.d.ts +2 -0
- package/bin/hscms.d.ts +2 -0
- package/bin/silenceErrors.d.ts +2 -0
- package/bin/silenceErrors.js +11 -0
- package/commands/account/auth.d.ts +8 -0
- package/commands/account/auth.js +102 -0
- package/commands/account/clean.d.ts +6 -0
- package/commands/account/clean.js +125 -0
- package/commands/account/createOverride.d.ts +6 -0
- package/commands/account/createOverride.js +93 -0
- package/commands/account/info.d.ts +4 -0
- package/commands/account/info.js +75 -0
- package/commands/account/list.d.ts +4 -0
- package/commands/account/list.js +107 -0
- package/commands/account/remove.d.ts +6 -0
- package/commands/account/remove.js +87 -0
- package/commands/account/removeOverride.d.ts +6 -0
- package/commands/account/removeOverride.js +71 -0
- package/commands/account/rename.d.ts +7 -0
- package/commands/account/rename.js +51 -0
- package/commands/account/use.d.ts +6 -0
- package/commands/account/use.js +93 -0
- package/commands/account.d.ts +3 -0
- package/commands/account.js +35 -0
- package/commands/app/migrate.d.ts +6 -0
- package/commands/app/migrate.js +96 -0
- package/commands/app/secret/add.d.ts +7 -0
- package/commands/app/secret/add.js +63 -0
- package/commands/app/secret/delete.d.ts +8 -0
- package/commands/app/secret/delete.js +86 -0
- package/commands/app/secret/list.d.ts +6 -0
- package/commands/app/secret/list.js +63 -0
- package/commands/app/secret/update.d.ts +7 -0
- package/commands/app/secret/update.js +76 -0
- package/commands/app/secret.d.ts +3 -0
- package/commands/app/secret.js +26 -0
- package/commands/app.d.ts +3 -0
- package/commands/app.js +18 -0
- package/commands/auth.d.ts +9 -0
- package/commands/auth.js +190 -0
- package/commands/cms/app/create.d.ts +9 -0
- package/commands/cms/app/create.js +81 -0
- package/commands/cms/app.d.ts +3 -0
- package/commands/cms/app.js +17 -0
- package/commands/cms/convertFields.d.ts +7 -0
- package/commands/cms/convertFields.js +97 -0
- package/commands/cms/delete.d.ts +6 -0
- package/commands/cms/delete.js +43 -0
- package/commands/cms/fetch.d.ts +12 -0
- package/commands/cms/fetch.js +80 -0
- package/commands/cms/function/create.d.ts +12 -0
- package/commands/cms/function/create.js +84 -0
- package/commands/cms/function/deploy.d.ts +6 -0
- package/commands/cms/function/deploy.js +89 -0
- package/commands/cms/function/list.d.ts +6 -0
- package/commands/cms/function/list.js +59 -0
- package/commands/cms/function/logs.d.ts +10 -0
- package/commands/cms/function/logs.js +136 -0
- package/commands/cms/function/server.d.ts +10 -0
- package/commands/cms/function/server.js +69 -0
- package/commands/cms/function.d.ts +3 -0
- package/commands/cms/function.js +27 -0
- package/commands/cms/getReactModule.d.ts +7 -0
- package/commands/cms/getReactModule.js +77 -0
- package/commands/cms/lighthouseScore.d.ts +8 -0
- package/commands/cms/lighthouseScore.js +281 -0
- package/commands/cms/lint.d.ts +6 -0
- package/commands/cms/lint.js +83 -0
- package/commands/cms/list.d.ts +6 -0
- package/commands/cms/list.js +96 -0
- package/commands/cms/module/create.d.ts +11 -0
- package/commands/cms/module/create.js +84 -0
- package/commands/cms/module/marketplace-validate.d.ts +6 -0
- package/commands/cms/module/marketplace-validate.js +62 -0
- package/commands/cms/module.d.ts +3 -0
- package/commands/cms/module.js +21 -0
- package/commands/cms/mv.d.ts +7 -0
- package/commands/cms/mv.js +60 -0
- package/commands/cms/template/create.d.ts +9 -0
- package/commands/cms/template/create.js +72 -0
- package/commands/cms/template.d.ts +3 -0
- package/commands/cms/template.js +17 -0
- package/commands/cms/theme/create.d.ts +6 -0
- package/commands/cms/theme/create.js +58 -0
- package/commands/cms/theme/generate-selectors.d.ts +6 -0
- package/commands/cms/theme/generate-selectors.js +171 -0
- package/commands/cms/theme/marketplace-validate.d.ts +6 -0
- package/commands/cms/theme/marketplace-validate.js +64 -0
- package/commands/cms/theme/preview.d.ts +11 -0
- package/commands/cms/theme/preview.js +126 -0
- package/commands/cms/theme.d.ts +3 -0
- package/commands/cms/theme.js +25 -0
- package/commands/cms/upload.d.ts +12 -0
- package/commands/cms/upload.js +212 -0
- package/commands/cms/watch.d.ts +13 -0
- package/commands/cms/watch.js +132 -0
- package/commands/cms/webpack/create.d.ts +6 -0
- package/commands/cms/webpack/create.js +58 -0
- package/commands/cms/webpack.d.ts +3 -0
- package/commands/cms/webpack.js +17 -0
- package/commands/cms.d.ts +3 -0
- package/commands/cms.js +49 -0
- package/commands/completion.d.ts +3 -0
- package/commands/completion.js +27 -0
- package/commands/config/migrate.d.ts +6 -0
- package/commands/config/migrate.js +70 -0
- package/commands/config/set.d.ts +11 -0
- package/commands/config/set.js +141 -0
- package/commands/config.d.ts +3 -0
- package/commands/config.js +18 -0
- package/commands/customObject/create.d.ts +7 -0
- package/commands/customObject/create.js +64 -0
- package/commands/customObject/createSchema.d.ts +6 -0
- package/commands/customObject/createSchema.js +55 -0
- package/commands/customObject/deleteSchema.d.ts +7 -0
- package/commands/customObject/deleteSchema.js +69 -0
- package/commands/customObject/fetchAllSchemas.d.ts +6 -0
- package/commands/customObject/fetchAllSchemas.js +57 -0
- package/commands/customObject/fetchSchema.d.ts +7 -0
- package/commands/customObject/fetchSchema.js +67 -0
- package/commands/customObject/listSchemas.d.ts +4 -0
- package/commands/customObject/listSchemas.js +35 -0
- package/commands/customObject/updateSchema.d.ts +7 -0
- package/commands/customObject/updateSchema.js +70 -0
- package/commands/customObject.d.ts +3 -0
- package/commands/customObject.js +38 -0
- package/commands/doctor.d.ts +6 -0
- package/commands/doctor.js +70 -0
- package/commands/feedback.d.ts +4 -0
- package/commands/feedback.js +32 -0
- package/commands/filemanager/fetch.d.ts +8 -0
- package/commands/filemanager/fetch.js +58 -0
- package/commands/filemanager/upload.d.ts +7 -0
- package/commands/filemanager/upload.js +97 -0
- package/commands/filemanager.d.ts +3 -0
- package/commands/filemanager.js +18 -0
- package/commands/getStarted.d.ts +8 -0
- package/commands/getStarted.js +322 -0
- package/commands/hubdb/clear.d.ts +7 -0
- package/commands/hubdb/clear.js +58 -0
- package/commands/hubdb/create.d.ts +6 -0
- package/commands/hubdb/create.js +74 -0
- package/commands/hubdb/delete.d.ts +6 -0
- package/commands/hubdb/delete.js +68 -0
- package/commands/hubdb/fetch.d.ts +7 -0
- package/commands/hubdb/fetch.js +55 -0
- package/commands/hubdb/list.d.ts +4 -0
- package/commands/hubdb/list.js +79 -0
- package/commands/hubdb.d.ts +5 -0
- package/commands/hubdb.js +27 -0
- package/commands/init.d.ts +8 -0
- package/commands/init.js +200 -0
- package/commands/mcp/setup.d.ts +6 -0
- package/commands/mcp/setup.js +36 -0
- package/commands/mcp/start.d.ts +6 -0
- package/commands/mcp/start.js +72 -0
- package/commands/mcp.d.ts +3 -0
- package/commands/mcp.js +20 -0
- package/commands/open.d.ts +7 -0
- package/commands/open.js +70 -0
- package/commands/project/add.d.ts +10 -0
- package/commands/project/add.js +79 -0
- package/commands/project/cloneApp.d.ts +1 -0
- package/commands/project/cloneApp.js +1 -0
- package/commands/project/create.d.ts +4 -0
- package/commands/project/create.js +175 -0
- package/commands/project/deploy.d.ts +11 -0
- package/commands/project/deploy.js +196 -0
- package/commands/project/dev/deprecatedFlow.d.ts +11 -0
- package/commands/project/dev/deprecatedFlow.js +135 -0
- package/commands/project/dev/index.d.ts +5 -0
- package/commands/project/dev/index.js +174 -0
- package/commands/project/dev/unifiedFlow.d.ts +14 -0
- package/commands/project/dev/unifiedFlow.js +162 -0
- package/commands/project/download.d.ts +8 -0
- package/commands/project/download.js +95 -0
- package/commands/project/installDeps.d.ts +6 -0
- package/commands/project/installDeps.js +80 -0
- package/commands/project/lint.d.ts +6 -0
- package/commands/project/lint.js +178 -0
- package/commands/project/list.d.ts +4 -0
- package/commands/project/list.js +62 -0
- package/commands/project/listBuilds.d.ts +7 -0
- package/commands/project/listBuilds.js +120 -0
- package/commands/project/logs.d.ts +10 -0
- package/commands/project/logs.js +119 -0
- package/commands/project/migrate.d.ts +7 -0
- package/commands/project/migrate.js +91 -0
- package/commands/project/open.d.ts +6 -0
- package/commands/project/open.js +61 -0
- package/commands/project/profile/add.d.ts +7 -0
- package/commands/project/profile/add.js +203 -0
- package/commands/project/profile/delete.d.ts +6 -0
- package/commands/project/profile/delete.js +129 -0
- package/commands/project/profile.d.ts +3 -0
- package/commands/project/profile.js +19 -0
- package/commands/project/updateDeps.d.ts +6 -0
- package/commands/project/updateDeps.js +80 -0
- package/commands/project/upload.d.ts +10 -0
- package/commands/project/upload.js +145 -0
- package/commands/project/validate.d.ts +6 -0
- package/commands/project/validate.js +156 -0
- package/commands/project/watch.d.ts +6 -0
- package/commands/project/watch.js +152 -0
- package/commands/project.d.ts +3 -0
- package/commands/project.js +72 -0
- package/commands/sandbox/create.d.ts +8 -0
- package/commands/sandbox/create.js +156 -0
- package/commands/sandbox/delete.d.ts +7 -0
- package/commands/sandbox/delete.js +189 -0
- package/commands/sandbox.d.ts +3 -0
- package/commands/sandbox.js +19 -0
- package/commands/secret/addSecret.d.ts +6 -0
- package/commands/secret/addSecret.js +58 -0
- package/commands/secret/deleteSecret.d.ts +7 -0
- package/commands/secret/deleteSecret.js +71 -0
- package/commands/secret/listSecret.d.ts +4 -0
- package/commands/secret/listSecret.js +43 -0
- package/commands/secret/updateSecret.d.ts +6 -0
- package/commands/secret/updateSecret.js +57 -0
- package/commands/secret.d.ts +3 -0
- package/commands/secret.js +25 -0
- package/commands/testAccount/create.d.ts +15 -0
- package/commands/testAccount/create.js +232 -0
- package/commands/testAccount/createConfig.d.ts +8 -0
- package/commands/testAccount/createConfig.js +92 -0
- package/commands/testAccount/delete.d.ts +7 -0
- package/commands/testAccount/delete.js +188 -0
- package/commands/testAccount/importData.d.ts +9 -0
- package/commands/testAccount/importData.js +61 -0
- package/commands/testAccount.d.ts +3 -0
- package/commands/testAccount.js +25 -0
- package/commands/upgrade.d.ts +8 -0
- package/commands/upgrade.js +119 -0
- package/lang/en.d.ts +3990 -0
- package/lang/en.js +4013 -0
- package/lib/CLIWebSocketServer.d.ts +28 -0
- package/lib/CLIWebSocketServer.js +91 -0
- package/lib/accountAuth.d.ts +10 -0
- package/lib/accountAuth.js +109 -0
- package/lib/accountTypes.d.ts +9 -0
- package/lib/accountTypes.js +41 -0
- package/lib/app/migrate.d.ts +44 -0
- package/lib/app/migrate.js +389 -0
- package/lib/app/urls.d.ts +17 -0
- package/lib/app/urls.js +16 -0
- package/lib/buildAccount.d.ts +15 -0
- package/lib/buildAccount.js +184 -0
- package/lib/cliUpgradeUtils.d.ts +22 -0
- package/lib/cliUpgradeUtils.js +62 -0
- package/lib/cmsAssets/api-sample.d.ts +3 -0
- package/lib/cmsAssets/api-sample.js +60 -0
- package/lib/cmsAssets/app.d.ts +3 -0
- package/lib/cmsAssets/app.js +12 -0
- package/lib/cmsAssets/function.d.ts +3 -0
- package/lib/cmsAssets/function.js +11 -0
- package/lib/cmsAssets/index.d.ts +5 -0
- package/lib/cmsAssets/index.js +21 -0
- package/lib/cmsAssets/module.d.ts +3 -0
- package/lib/cmsAssets/module.js +20 -0
- package/lib/cmsAssets/react-app.d.ts +3 -0
- package/lib/cmsAssets/react-app.js +12 -0
- package/lib/cmsAssets/template.d.ts +3 -0
- package/lib/cmsAssets/template.js +20 -0
- package/lib/cmsAssets/vue-app.d.ts +3 -0
- package/lib/cmsAssets/vue-app.js +12 -0
- package/lib/cmsAssets/webpack-serverless.d.ts +3 -0
- package/lib/cmsAssets/webpack-serverless.js +12 -0
- package/lib/cmsAssets/website-theme.d.ts +3 -0
- package/lib/cmsAssets/website-theme.js +19 -0
- package/lib/commandSuggestion.d.ts +3 -0
- package/lib/commandSuggestion.js +39 -0
- package/lib/commonOpts.d.ts +25 -0
- package/lib/commonOpts.js +181 -0
- package/lib/configMigrate.d.ts +2 -0
- package/lib/configMigrate.js +182 -0
- package/lib/configOptions.d.ts +21 -0
- package/lib/configOptions.js +111 -0
- package/lib/constants.d.ts +145 -0
- package/lib/constants.js +146 -0
- package/lib/customObject.d.ts +3 -0
- package/lib/customObject.js +11 -0
- package/lib/dependencyManagement.d.ts +21 -0
- package/lib/dependencyManagement.js +243 -0
- package/lib/developerTestAccounts.d.ts +6 -0
- package/lib/developerTestAccounts.js +66 -0
- package/lib/doctor/Diagnosis.d.ts +27 -0
- package/lib/doctor/Diagnosis.js +113 -0
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +69 -0
- package/lib/doctor/DiagnosticInfoBuilder.js +169 -0
- package/lib/doctor/Doctor.d.ts +35 -0
- package/lib/doctor/Doctor.js +566 -0
- package/lib/enums/exitCodes.d.ts +5 -0
- package/lib/enums/exitCodes.js +10 -0
- package/lib/errorHandlers/index.d.ts +19 -0
- package/lib/errorHandlers/index.js +99 -0
- package/lib/errorHandlers/suppressError.d.ts +2 -0
- package/lib/errorHandlers/suppressError.js +53 -0
- package/lib/errors/ProjectErrors.d.ts +15 -0
- package/lib/errors/ProjectErrors.js +30 -0
- package/lib/errors/ProjectValidationError.d.ts +4 -0
- package/lib/errors/ProjectValidationError.js +9 -0
- package/lib/errors/PromptExitError.d.ts +4 -0
- package/lib/errors/PromptExitError.js +8 -0
- package/lib/filesystem.d.ts +2 -0
- package/lib/filesystem.js +19 -0
- package/lib/generateSelectors.d.ts +20 -0
- package/lib/generateSelectors.js +110 -0
- package/lib/getStarted/getStartedV2.d.ts +7 -0
- package/lib/getStarted/getStartedV2.js +18 -0
- package/lib/getStartedV2Actions.d.ts +50 -0
- package/lib/getStartedV2Actions.js +199 -0
- package/lib/hasFeature.d.ts +4 -0
- package/lib/hasFeature.js +18 -0
- package/lib/http.d.ts +1 -0
- package/lib/http.js +28 -0
- package/lib/importData.d.ts +3 -0
- package/lib/importData.js +51 -0
- package/lib/interpolation.d.ts +7 -0
- package/lib/interpolation.js +84 -0
- package/lib/jsonLoader.d.ts +14 -0
- package/lib/jsonLoader.js +60 -0
- package/lib/links.d.ts +11 -0
- package/lib/links.js +107 -0
- package/lib/marketplaceValidate.d.ts +16 -0
- package/lib/marketplaceValidate.js +88 -0
- package/lib/mcp/setup.d.ts +17 -0
- package/lib/mcp/setup.js +345 -0
- package/lib/middleware/autoUpdateMiddleware.d.ts +4 -0
- package/lib/middleware/autoUpdateMiddleware.js +105 -0
- package/lib/middleware/commandTargetingUtils.d.ts +8 -0
- package/lib/middleware/commandTargetingUtils.js +76 -0
- package/lib/middleware/configMiddleware.d.ts +15 -0
- package/lib/middleware/configMiddleware.js +93 -0
- package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
- package/lib/middleware/fireAlarmMiddleware.js +118 -0
- package/lib/middleware/gitMiddleware.d.ts +2 -0
- package/lib/middleware/gitMiddleware.js +21 -0
- package/lib/middleware/requestMiddleware.d.ts +1 -0
- package/lib/middleware/requestMiddleware.js +5 -0
- package/lib/middleware/spinniesMiddleware.d.ts +1 -0
- package/lib/middleware/spinniesMiddleware.js +4 -0
- package/lib/middleware/usageTrackingMiddleware.d.ts +13 -0
- package/lib/middleware/usageTrackingMiddleware.js +16 -0
- package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
- package/lib/middleware/yargsChecksMiddleware.js +18 -0
- package/lib/npm/npmCli.d.ts +17 -0
- package/lib/npm/npmCli.js +59 -0
- package/lib/npm/packageJson.d.ts +24 -0
- package/lib/npm/packageJson.js +102 -0
- package/lib/npm/workspaces.d.ts +12 -0
- package/lib/npm/workspaces.js +48 -0
- package/lib/oauth.d.ts +2 -0
- package/lib/oauth.js +93 -0
- package/lib/parsing.d.ts +1 -0
- package/lib/parsing.js +8 -0
- package/lib/polling.d.ts +21 -0
- package/lib/polling.js +48 -0
- package/lib/process.d.ts +13 -0
- package/lib/process.js +56 -0
- package/lib/projects/ProjectLogsManager.d.ts +29 -0
- package/lib/projects/ProjectLogsManager.js +155 -0
- package/lib/projects/add/legacyAddComponent.d.ts +5 -0
- package/lib/projects/add/legacyAddComponent.js +46 -0
- package/lib/projects/add/v2AddComponent.d.ts +9 -0
- package/lib/projects/add/v2AddComponent.js +111 -0
- package/lib/projects/components.d.ts +16 -0
- package/lib/projects/components.js +252 -0
- package/lib/projects/config.d.ts +9 -0
- package/lib/projects/config.js +73 -0
- package/lib/projects/create/index.d.ts +24 -0
- package/lib/projects/create/index.js +33 -0
- package/lib/projects/create/legacy.d.ts +6 -0
- package/lib/projects/create/legacy.js +48 -0
- package/lib/projects/create/v2.d.ts +26 -0
- package/lib/projects/create/v2.js +158 -0
- package/lib/projects/deploy.d.ts +13 -0
- package/lib/projects/deploy.js +76 -0
- package/lib/projects/ensureProjectExists.d.ts +11 -0
- package/lib/projects/ensureProjectExists.js +89 -0
- package/lib/projects/localDev/AppDevModeInterface.d.ts +41 -0
- package/lib/projects/localDev/AppDevModeInterface.js +337 -0
- package/lib/projects/localDev/DevServerManager.d.ts +21 -0
- package/lib/projects/localDev/DevServerManager.js +64 -0
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +40 -0
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +128 -0
- package/lib/projects/localDev/DevSessionManager.d.ts +18 -0
- package/lib/projects/localDev/DevSessionManager.js +95 -0
- package/lib/projects/localDev/LocalDevLogger.d.ts +34 -0
- package/lib/projects/localDev/LocalDevLogger.js +178 -0
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +59 -0
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +387 -0
- package/lib/projects/localDev/LocalDevProcess.d.ts +39 -0
- package/lib/projects/localDev/LocalDevProcess.js +277 -0
- package/lib/projects/localDev/LocalDevState.d.ts +63 -0
- package/lib/projects/localDev/LocalDevState.js +139 -0
- package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
- package/lib/projects/localDev/LocalDevWatcher.js +48 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +21 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.js +169 -0
- package/lib/projects/localDev/UIExtensionsDevModeInterface.d.ts +13 -0
- package/lib/projects/localDev/UIExtensionsDevModeInterface.js +37 -0
- package/lib/projects/localDev/helpers/account.d.ts +14 -0
- package/lib/projects/localDev/helpers/account.js +222 -0
- package/lib/projects/localDev/helpers/devSessionsApi.d.ts +9 -0
- package/lib/projects/localDev/helpers/devSessionsApi.js +19 -0
- package/lib/projects/localDev/helpers/process.d.ts +1 -0
- package/lib/projects/localDev/helpers/process.js +17 -0
- package/lib/projects/localDev/helpers/project.d.ts +16 -0
- package/lib/projects/localDev/helpers/project.js +216 -0
- package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +8 -0
- package/lib/projects/localDev/localDevWebsocketServerUtils.js +19 -0
- package/lib/projects/platformVersion.d.ts +9 -0
- package/lib/projects/platformVersion.js +39 -0
- package/lib/projects/pollProjectBuildAndDeploy.d.ts +10 -0
- package/lib/projects/pollProjectBuildAndDeploy.js +344 -0
- package/lib/projects/projectProfiles.d.ts +17 -0
- package/lib/projects/projectProfiles.js +140 -0
- package/lib/projects/structure.d.ts +18 -0
- package/lib/projects/structure.js +130 -0
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +12 -0
- package/lib/projects/uieLinting.d.ts +33 -0
- package/lib/projects/uieLinting.js +220 -0
- package/lib/projects/upload.d.ts +33 -0
- package/lib/projects/upload.js +147 -0
- package/lib/projects/urls.d.ts +10 -0
- package/lib/projects/urls.js +42 -0
- package/lib/projects/watch.d.ts +5 -0
- package/lib/projects/watch.js +168 -0
- package/lib/prompts/accountNamePrompt.d.ts +11 -0
- package/lib/prompts/accountNamePrompt.js +64 -0
- package/lib/prompts/accountsPrompt.d.ts +2 -0
- package/lib/prompts/accountsPrompt.js +33 -0
- package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
- package/lib/prompts/cmsFieldPrompt.js +40 -0
- package/lib/prompts/confirmImportDataPrompt.d.ts +1 -0
- package/lib/prompts/confirmImportDataPrompt.js +12 -0
- package/lib/prompts/createApiSamplePrompt.d.ts +10 -0
- package/lib/prompts/createApiSamplePrompt.js +58 -0
- package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +25 -0
- package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +162 -0
- package/lib/prompts/createFunctionPrompt.d.ts +9 -0
- package/lib/prompts/createFunctionPrompt.js +94 -0
- package/lib/prompts/createModulePrompt.d.ts +10 -0
- package/lib/prompts/createModulePrompt.js +116 -0
- package/lib/prompts/createTemplatePrompt.d.ts +6 -0
- package/lib/prompts/createTemplatePrompt.js +29 -0
- package/lib/prompts/downloadProjectPrompt.d.ts +10 -0
- package/lib/prompts/downloadProjectPrompt.js +53 -0
- package/lib/prompts/importDataFilePathPrompt.d.ts +1 -0
- package/lib/prompts/importDataFilePathPrompt.js +26 -0
- package/lib/prompts/importDataTestAccountSelectPrompt.d.ts +3 -0
- package/lib/prompts/importDataTestAccountSelectPrompt.js +28 -0
- package/lib/prompts/installAppPrompt.d.ts +2 -0
- package/lib/prompts/installAppPrompt.js +39 -0
- package/lib/prompts/personalAccessKeyPrompt.d.ts +29 -0
- package/lib/prompts/personalAccessKeyPrompt.js +135 -0
- package/lib/prompts/previewPrompt.d.ts +15 -0
- package/lib/prompts/previewPrompt.js +48 -0
- package/lib/prompts/projectAddPrompt.d.ts +15 -0
- package/lib/prompts/projectAddPrompt.js +82 -0
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +12 -0
- package/lib/prompts/projectDevTargetAccountPrompt.js +166 -0
- package/lib/prompts/projectNameAndDestPrompt.d.ts +3 -0
- package/lib/prompts/projectNameAndDestPrompt.js +53 -0
- package/lib/prompts/projectNamePrompt.d.ts +6 -0
- package/lib/prompts/projectNamePrompt.js +27 -0
- package/lib/prompts/projectsLogsPrompt.d.ts +12 -0
- package/lib/prompts/projectsLogsPrompt.js +20 -0
- package/lib/prompts/promptUtils.d.ts +32 -0
- package/lib/prompts/promptUtils.js +222 -0
- package/lib/prompts/sandboxesPrompt.d.ts +10 -0
- package/lib/prompts/sandboxesPrompt.js +63 -0
- package/lib/prompts/secretPrompt.d.ts +13 -0
- package/lib/prompts/secretPrompt.js +31 -0
- package/lib/prompts/selectAppPrompt.d.ts +2 -0
- package/lib/prompts/selectAppPrompt.js +37 -0
- package/lib/prompts/selectHubDBTablePrompt.d.ts +12 -0
- package/lib/prompts/selectHubDBTablePrompt.js +66 -0
- package/lib/prompts/selectProjectTemplatePrompt.d.ts +27 -0
- package/lib/prompts/selectProjectTemplatePrompt.js +75 -0
- package/lib/prompts/selectPublicAppForMigrationPrompt.d.ts +9 -0
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +68 -0
- package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
- package/lib/prompts/setAsDefaultAccountPrompt.js +26 -0
- package/lib/prompts/uploadPrompt.d.ts +9 -0
- package/lib/prompts/uploadPrompt.js +32 -0
- package/lib/sandboxes.d.ts +14 -0
- package/lib/sandboxes.js +105 -0
- package/lib/schema.d.ts +3 -0
- package/lib/schema.js +27 -0
- package/lib/serverlessLogs.d.ts +4 -0
- package/lib/serverlessLogs.js +154 -0
- package/lib/testUtils.d.ts +14 -0
- package/lib/testUtils.js +18 -0
- package/lib/theme/cmsDevServerProcess.d.ts +12 -0
- package/lib/theme/cmsDevServerProcess.js +148 -0
- package/lib/theme/cmsDevServerRunner.d.ts +14 -0
- package/lib/theme/cmsDevServerRunner.js +90 -0
- package/lib/theme/migrate.d.ts +13 -0
- package/lib/theme/migrate.js +85 -0
- package/lib/ui/SpinniesManager.d.ts +39 -0
- package/lib/ui/SpinniesManager.js +259 -0
- package/lib/ui/git.d.ts +1 -0
- package/lib/ui/git.js +25 -0
- package/lib/ui/index.d.ts +31 -0
- package/lib/ui/index.js +150 -0
- package/lib/ui/logger.d.ts +11 -0
- package/lib/ui/logger.js +13 -0
- package/lib/ui/removeAnsiCodes.d.ts +1 -0
- package/lib/ui/removeAnsiCodes.js +4 -0
- package/lib/ui/serverlessFunctionLogs.d.ts +9 -0
- package/lib/ui/serverlessFunctionLogs.js +88 -0
- package/lib/ui/spinniesUtils.d.ts +32 -0
- package/lib/ui/spinniesUtils.js +151 -0
- package/lib/ui/supportHyperlinks.d.ts +7 -0
- package/lib/ui/supportHyperlinks.js +59 -0
- package/lib/ui/supportsColor.d.ts +17 -0
- package/lib/ui/supportsColor.js +97 -0
- package/lib/ui/uiMessages.d.ts +73 -0
- package/lib/ui/uiMessages.js +76 -0
- package/lib/upload.d.ts +1 -0
- package/lib/upload.js +49 -0
- package/lib/usageTracking.d.ts +32 -0
- package/lib/usageTracking.js +174 -0
- package/lib/utils/hasFlag.d.ts +1 -0
- package/lib/utils/hasFlag.js +9 -0
- package/lib/validation.d.ts +13 -0
- package/lib/validation.js +142 -0
- package/lib/yargsUtils.d.ts +16 -0
- package/lib/yargsUtils.js +49 -0
- package/mcp-server/server.d.ts +1 -0
- package/mcp-server/server.js +13 -0
- package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +24 -0
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +105 -0
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +20 -0
- package/mcp-server/tools/cms/HsCreateModuleTool.js +127 -0
- package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +25 -0
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +84 -0
- package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +18 -0
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +75 -0
- package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +15 -0
- package/mcp-server/tools/cms/HsListFunctionsTool.js +64 -0
- package/mcp-server/tools/cms/HsListTool.d.ts +15 -0
- package/mcp-server/tools/cms/HsListTool.js +64 -0
- package/mcp-server/tools/index.d.ts +3 -0
- package/mcp-server/tools/index.js +48 -0
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +36 -0
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +82 -0
- package/mcp-server/tools/project/CreateProjectTool.d.ts +40 -0
- package/mcp-server/tools/project/CreateProjectTool.js +98 -0
- package/mcp-server/tools/project/CreateTestAccountTool.d.ts +51 -0
- package/mcp-server/tools/project/CreateTestAccountTool.js +170 -0
- package/mcp-server/tools/project/DeployProjectTool.d.ts +15 -0
- package/mcp-server/tools/project/DeployProjectTool.js +58 -0
- package/mcp-server/tools/project/DocFetchTool.d.ts +14 -0
- package/mcp-server/tools/project/DocFetchTool.js +57 -0
- package/mcp-server/tools/project/DocsSearchTool.d.ts +23 -0
- package/mcp-server/tools/project/DocsSearchTool.js +69 -0
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +16 -0
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +73 -0
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +13 -0
- package/mcp-server/tools/project/GetApplicationInfoTool.js +56 -0
- package/mcp-server/tools/project/GetBuildLogsTool.d.ts +21 -0
- package/mcp-server/tools/project/GetBuildLogsTool.js +124 -0
- package/mcp-server/tools/project/GetBuildStatusTool.d.ts +16 -0
- package/mcp-server/tools/project/GetBuildStatusTool.js +165 -0
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +15 -0
- package/mcp-server/tools/project/GetConfigValuesTool.js +65 -0
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +19 -0
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +50 -0
- package/mcp-server/tools/project/UploadProjectTools.d.ts +16 -0
- package/mcp-server/tools/project/UploadProjectTools.js +83 -0
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +14 -0
- package/mcp-server/tools/project/ValidateProjectTool.js +42 -0
- package/mcp-server/tools/project/constants.d.ts +18 -0
- package/mcp-server/tools/project/constants.js +29 -0
- package/mcp-server/types.d.ts +14 -0
- package/mcp-server/types.js +13 -0
- package/mcp-server/utils/command.d.ts +8 -0
- package/mcp-server/utils/command.js +33 -0
- package/mcp-server/utils/config.d.ts +1 -0
- package/mcp-server/utils/config.js +10 -0
- package/mcp-server/utils/content.d.ts +3 -0
- package/mcp-server/utils/content.js +24 -0
- package/mcp-server/utils/feedbackTracking.d.ts +1 -0
- package/mcp-server/utils/feedbackTracking.js +26 -0
- package/mcp-server/utils/toolUsageTracking.d.ts +3 -0
- package/mcp-server/utils/toolUsageTracking.js +24 -0
- package/package.json +2 -1
- package/types/Cms.d.ts +46 -0
- package/types/Cms.js +27 -0
- package/types/LocalDev.d.ts +47 -0
- package/types/LocalDev.js +1 -0
- package/types/PackageJson.d.ts +10 -0
- package/types/PackageJson.js +1 -0
- package/types/ProjectComponents.d.ts +23 -0
- package/types/ProjectComponents.js +2 -0
- package/types/Projects.d.ts +130 -0
- package/types/Projects.js +6 -0
- package/types/Prompts.d.ts +28 -0
- package/types/Prompts.js +1 -0
- package/types/Sandboxes.d.ts +5 -0
- package/types/Sandboxes.js +1 -0
- package/types/Yargs.d.ts +46 -0
- package/types/Yargs.js +1 -0
- package/ui/components/ActionSection.d.ts +12 -0
- package/ui/components/ActionSection.js +25 -0
- package/ui/components/BoxWithTitle.d.ts +11 -0
- package/ui/components/BoxWithTitle.js +9 -0
- package/ui/components/FullScreen.d.ts +6 -0
- package/ui/components/FullScreen.js +13 -0
- package/ui/components/HorizontalSelectPrompt.d.ts +8 -0
- package/ui/components/HorizontalSelectPrompt.js +30 -0
- package/ui/components/InputField.d.ts +10 -0
- package/ui/components/InputField.js +10 -0
- package/ui/components/SelectInput.d.ts +11 -0
- package/ui/components/SelectInput.js +59 -0
- package/ui/components/StatusIcon.d.ts +9 -0
- package/ui/components/StatusIcon.js +17 -0
- package/ui/components/StatusMessageBoxes.d.ts +13 -0
- package/ui/components/StatusMessageBoxes.js +31 -0
- package/ui/components/Table.d.ts +89 -0
- package/ui/components/Table.js +246 -0
- package/ui/components/getStarted/GetStartedFlow.d.ts +8 -0
- package/ui/components/getStarted/GetStartedFlow.js +213 -0
- package/ui/components/getStarted/reducer.d.ts +79 -0
- package/ui/components/getStarted/reducer.js +108 -0
- package/ui/components/getStarted/screens/InstallationScreen.d.ts +7 -0
- package/ui/components/getStarted/screens/InstallationScreen.js +16 -0
- package/ui/components/getStarted/screens/ProjectSetupScreen.d.ts +16 -0
- package/ui/components/getStarted/screens/ProjectSetupScreen.js +40 -0
- package/ui/components/getStarted/screens/UploadScreen.d.ts +7 -0
- package/ui/components/getStarted/screens/UploadScreen.js +43 -0
- package/ui/components/getStarted/selectors.d.ts +2 -0
- package/ui/components/getStarted/selectors.js +1 -0
- package/ui/constants.d.ts +6 -0
- package/ui/constants.js +6 -0
- package/ui/lib/constants.d.ts +17 -0
- package/ui/lib/constants.js +17 -0
- package/ui/lib/table.d.ts +2 -0
- package/ui/lib/table.js +11 -0
- package/ui/lib/useTerminalSize.d.ts +13 -0
- package/ui/lib/useTerminalSize.js +31 -0
- package/ui/playground/Playground.d.ts +5 -0
- package/ui/playground/Playground.js +25 -0
- package/ui/playground/fixtures.d.ts +9 -0
- package/ui/playground/fixtures.js +126 -0
- package/ui/render.d.ts +23 -0
- package/ui/render.js +75 -0
- package/ui/styles.d.ts +21 -0
- package/ui/styles.js +21 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import updateNotifier from 'update-notifier';
|
|
2
|
+
import { pkg } from './jsonLoader.js';
|
|
3
|
+
import { isGloballyInstalled, executeInstall, getLatestPackageVersion, isInstalledGloballyWithNPM, } from './npm/npmCli.js';
|
|
4
|
+
// HACK: Initialize the cliUpgradeInfo with the initial notifier data before the first call to getCliUpgradeInfo()
|
|
5
|
+
// This is a workaround to enable getCliUpgradeInfo() to work on the first call rather than requiring a second command execution.
|
|
6
|
+
const cliUpgradeInfo = getCliUpgradeInfoFromNotifier();
|
|
7
|
+
/*
|
|
8
|
+
* Check if the CLI is globally installed
|
|
9
|
+
*/
|
|
10
|
+
export const isCliGloballyInstalled = async () => {
|
|
11
|
+
return isGloballyInstalled('hs');
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Check if the CLI is globally installed via npm
|
|
15
|
+
*/
|
|
16
|
+
export async function canCliBeAutoUpgraded() {
|
|
17
|
+
return isInstalledGloballyWithNPM(pkg.name);
|
|
18
|
+
}
|
|
19
|
+
export async function getLatestCliVersion() {
|
|
20
|
+
return getLatestPackageVersion(pkg.name);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the CLI upgrade information from the notifier
|
|
24
|
+
*/
|
|
25
|
+
function getCliUpgradeInfoFromNotifier() {
|
|
26
|
+
const notifier = updateNotifier({
|
|
27
|
+
pkg,
|
|
28
|
+
distTag: 'latest',
|
|
29
|
+
shouldNotifyInNpmScript: true,
|
|
30
|
+
});
|
|
31
|
+
const result = {};
|
|
32
|
+
if (notifier && notifier.update) {
|
|
33
|
+
result.current = notifier.update.current;
|
|
34
|
+
result.latest = notifier.update.latest;
|
|
35
|
+
result.type = notifier.update.type;
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get update information using update-notifier
|
|
41
|
+
*/
|
|
42
|
+
export function getCliUpgradeInfo() {
|
|
43
|
+
// Avoid excessive calls to the notifier by returning the cached data if it exists
|
|
44
|
+
if (cliUpgradeInfo.current && cliUpgradeInfo.latest && cliUpgradeInfo.type) {
|
|
45
|
+
return cliUpgradeInfo;
|
|
46
|
+
}
|
|
47
|
+
const newUpgradeInfo = getCliUpgradeInfoFromNotifier();
|
|
48
|
+
if (newUpgradeInfo?.current &&
|
|
49
|
+
newUpgradeInfo?.latest &&
|
|
50
|
+
newUpgradeInfo?.type) {
|
|
51
|
+
cliUpgradeInfo.current = newUpgradeInfo.current;
|
|
52
|
+
cliUpgradeInfo.latest = newUpgradeInfo.latest;
|
|
53
|
+
cliUpgradeInfo.type = newUpgradeInfo.type;
|
|
54
|
+
}
|
|
55
|
+
return cliUpgradeInfo;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Install a specific version of the CLI globally
|
|
59
|
+
*/
|
|
60
|
+
export async function installCliVersion(version = 'latest') {
|
|
61
|
+
await executeInstall([`${pkg.name}@${version}`], '-g');
|
|
62
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import { fetchRepoFile } from '@hubspot/local-dev-lib/api/github';
|
|
4
|
+
import { cloneGithubRepo } from '@hubspot/local-dev-lib/github';
|
|
5
|
+
import { createApiSamplePrompt } from '../../lib/prompts/createApiSamplePrompt.js';
|
|
6
|
+
import { confirmPrompt } from '../../lib/prompts/promptUtils.js';
|
|
7
|
+
import { debugError } from '../../lib/errorHandlers/index.js';
|
|
8
|
+
import { commands } from '../../lang/en.js';
|
|
9
|
+
import { uiLogger } from '../../lib/ui/logger.js';
|
|
10
|
+
const apiSampleAssetType = {
|
|
11
|
+
hidden: true,
|
|
12
|
+
dest: ({ dest }) => dest,
|
|
13
|
+
validate: ({ name }) => {
|
|
14
|
+
if (!name) {
|
|
15
|
+
uiLogger.error(commands.create.subcommands.apiSample.errors.nameRequired);
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
},
|
|
20
|
+
execute: async ({ dest, name, assetType, commandArgs }) => {
|
|
21
|
+
const filePath = path.join(dest, name);
|
|
22
|
+
if (fs.existsSync(filePath)) {
|
|
23
|
+
const overwrite = await confirmPrompt(commands.create.subcommands.apiSample.folderOverwritePrompt(filePath), { defaultAnswer: false });
|
|
24
|
+
if (overwrite) {
|
|
25
|
+
fs.rmdirSync(filePath, { recursive: true });
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
let samplesConfig;
|
|
32
|
+
try {
|
|
33
|
+
const { data } = await fetchRepoFile('HubSpot/sample-apps-list', 'samples.json', 'main');
|
|
34
|
+
samplesConfig = data;
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
debugError(err);
|
|
38
|
+
}
|
|
39
|
+
if (!samplesConfig) {
|
|
40
|
+
throw new Error(commands.create.subcommands.apiSample.errors.noSamples);
|
|
41
|
+
}
|
|
42
|
+
const { sampleType, sampleLanguage } = await createApiSamplePrompt(samplesConfig);
|
|
43
|
+
if (!sampleType || !sampleLanguage) {
|
|
44
|
+
throw new Error(commands.create.subcommands.apiSample.errors.noSamples);
|
|
45
|
+
}
|
|
46
|
+
uiLogger.info(commands.create.subcommands.apiSample.info.sampleChosen(sampleType, sampleLanguage));
|
|
47
|
+
const created = await cloneGithubRepo(`HubSpot/${sampleType}`, filePath, {
|
|
48
|
+
...commandArgs,
|
|
49
|
+
type: assetType,
|
|
50
|
+
sourceDir: sampleLanguage,
|
|
51
|
+
});
|
|
52
|
+
if (created) {
|
|
53
|
+
if (fs.existsSync(`${filePath}/.env.template`)) {
|
|
54
|
+
fs.copySync(`${filePath}/.env.template`, `${filePath}/.env`);
|
|
55
|
+
}
|
|
56
|
+
uiLogger.success(commands.create.subcommands.apiSample.success.sampleCreated(filePath));
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
export default apiSampleAssetType;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { cloneGithubRepo } from '@hubspot/local-dev-lib/github';
|
|
2
|
+
const appAssetType = {
|
|
3
|
+
hidden: true,
|
|
4
|
+
dest: ({ name, assetType }) => name || assetType,
|
|
5
|
+
execute: async ({ commandArgs, dest, assetType }) => {
|
|
6
|
+
await cloneGithubRepo('HubSpot/crm-card-weather-app', dest, {
|
|
7
|
+
...commandArgs,
|
|
8
|
+
type: assetType,
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export default appAssetType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFunction } from '@hubspot/local-dev-lib/cms/functions';
|
|
2
|
+
import { createFunctionPrompt } from '../../lib/prompts/createFunctionPrompt.js';
|
|
3
|
+
const functionAssetType = {
|
|
4
|
+
hidden: false,
|
|
5
|
+
dest: ({ name }) => name,
|
|
6
|
+
execute: async ({ dest, commandArgs }) => {
|
|
7
|
+
const functionDefinition = await createFunctionPrompt(commandArgs);
|
|
8
|
+
await createFunction(functionDefinition, dest);
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
export default functionAssetType;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import apiSampleAssetType from './api-sample.js';
|
|
2
|
+
import appAssetType from './app.js';
|
|
3
|
+
import functionAssetType from './function.js';
|
|
4
|
+
import moduleAssetType from './module.js';
|
|
5
|
+
import reactAppAssetType from './react-app.js';
|
|
6
|
+
import templateAssetType from './template.js';
|
|
7
|
+
import vueAppAssetType from './vue-app.js';
|
|
8
|
+
import webpackServerlessAssetType from './webpack-serverless.js';
|
|
9
|
+
import websiteThemeAssetType from './website-theme.js';
|
|
10
|
+
const assets = {
|
|
11
|
+
'api-sample': apiSampleAssetType,
|
|
12
|
+
app: appAssetType,
|
|
13
|
+
function: functionAssetType,
|
|
14
|
+
module: moduleAssetType,
|
|
15
|
+
'react-app': reactAppAssetType,
|
|
16
|
+
template: templateAssetType,
|
|
17
|
+
'vue-app': vueAppAssetType,
|
|
18
|
+
'webpack-serverless': webpackServerlessAssetType,
|
|
19
|
+
'website-theme': websiteThemeAssetType,
|
|
20
|
+
};
|
|
21
|
+
export default assets;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createModule } from '@hubspot/local-dev-lib/cms/modules';
|
|
2
|
+
import { createModulePrompt } from '../../lib/prompts/createModulePrompt.js';
|
|
3
|
+
import { uiLogger } from '../../lib/ui/logger.js';
|
|
4
|
+
import { commands } from '../../lang/en.js';
|
|
5
|
+
const moduleAssetType = {
|
|
6
|
+
hidden: false,
|
|
7
|
+
dest: ({ dest }) => dest,
|
|
8
|
+
validate: ({ name }) => {
|
|
9
|
+
if (!name) {
|
|
10
|
+
uiLogger.error(commands.create.subcommands.module.errors.nameRequired);
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
return true;
|
|
14
|
+
},
|
|
15
|
+
execute: async ({ name, dest, getInternalVersion, commandArgs }) => {
|
|
16
|
+
const moduleDefinition = await createModulePrompt(commandArgs);
|
|
17
|
+
await createModule(moduleDefinition, name, dest, getInternalVersion);
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
export default moduleAssetType;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { cloneGithubRepo } from '@hubspot/local-dev-lib/github';
|
|
2
|
+
const reactAppAssetType = {
|
|
3
|
+
hidden: false,
|
|
4
|
+
dest: ({ name, assetType }) => name || assetType,
|
|
5
|
+
execute: async ({ commandArgs, dest, assetType }) => {
|
|
6
|
+
await cloneGithubRepo('HubSpot/cms-react-boilerplate', dest, {
|
|
7
|
+
...commandArgs,
|
|
8
|
+
type: assetType,
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export default reactAppAssetType;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createTemplate } from '@hubspot/local-dev-lib/cms/templates';
|
|
2
|
+
import { createTemplatePrompt } from '../../lib/prompts/createTemplatePrompt.js';
|
|
3
|
+
import { uiLogger } from '../../lib/ui/logger.js';
|
|
4
|
+
import { commands } from '../../lang/en.js';
|
|
5
|
+
const templateAssetType = {
|
|
6
|
+
dest: ({ dest }) => dest,
|
|
7
|
+
hidden: false,
|
|
8
|
+
validate: ({ name }) => {
|
|
9
|
+
if (!name) {
|
|
10
|
+
uiLogger.error(commands.create.subcommands.template.errors.nameRequired);
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
return true;
|
|
14
|
+
},
|
|
15
|
+
execute: async ({ name, dest, commandArgs }) => {
|
|
16
|
+
const { templateType } = await createTemplatePrompt(commandArgs);
|
|
17
|
+
await createTemplate(name, dest, templateType);
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
export default templateAssetType;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { cloneGithubRepo } from '@hubspot/local-dev-lib/github';
|
|
2
|
+
const vueAppAssetType = {
|
|
3
|
+
hidden: false,
|
|
4
|
+
dest: ({ name, assetType }) => name || assetType,
|
|
5
|
+
execute: async ({ commandArgs, dest, assetType }) => {
|
|
6
|
+
await cloneGithubRepo('HubSpot/cms-vue-boilerplate', dest, {
|
|
7
|
+
...commandArgs,
|
|
8
|
+
type: assetType,
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export default vueAppAssetType;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { cloneGithubRepo } from '@hubspot/local-dev-lib/github';
|
|
2
|
+
const webpackServerlessAssetType = {
|
|
3
|
+
hidden: false,
|
|
4
|
+
dest: ({ name, assetType }) => name || assetType,
|
|
5
|
+
execute: async ({ commandArgs, dest, assetType }) => {
|
|
6
|
+
await cloneGithubRepo('HubSpot/cms-webpack-serverless-boilerplate', dest, {
|
|
7
|
+
...commandArgs,
|
|
8
|
+
type: assetType,
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export default webpackServerlessAssetType;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { cloneGithubRepo } from '@hubspot/local-dev-lib/github';
|
|
2
|
+
import { getIsInProject } from '../../lib/projects/config.js';
|
|
3
|
+
const PROJECT_BOILERPLATE_BRANCH = 'cms-boilerplate-developer-projects';
|
|
4
|
+
const websiteThemeAssetType = {
|
|
5
|
+
hidden: false,
|
|
6
|
+
dest: ({ name, assetType }) => name || assetType,
|
|
7
|
+
execute: async ({ dest, assetType, commandArgs }) => {
|
|
8
|
+
const isInProject = await getIsInProject(dest);
|
|
9
|
+
if (isInProject) {
|
|
10
|
+
commandArgs.branch = PROJECT_BOILERPLATE_BRANCH;
|
|
11
|
+
}
|
|
12
|
+
await cloneGithubRepo('HubSpot/cms-theme-boilerplate', dest, {
|
|
13
|
+
...commandArgs,
|
|
14
|
+
type: assetType,
|
|
15
|
+
sourceDir: 'src',
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
export default websiteThemeAssetType;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { uiLogger } from './ui/logger.js';
|
|
2
|
+
import { uiCommandReference } from './ui/index.js';
|
|
3
|
+
import { EXIT_CODES } from './enums/exitCodes.js';
|
|
4
|
+
export const commandSuggestionMappings = {
|
|
5
|
+
create: 'hs cms app|theme|module|webpack|function|template create',
|
|
6
|
+
fetch: 'hs cms fetch',
|
|
7
|
+
lint: 'hs cms lint',
|
|
8
|
+
list: 'hs cms list',
|
|
9
|
+
mv: 'hs cms mv',
|
|
10
|
+
remove: 'hs cms delete',
|
|
11
|
+
upload: 'hs cms upload',
|
|
12
|
+
watch: 'hs cms watch',
|
|
13
|
+
'function deploy': 'hs cms function deploy',
|
|
14
|
+
'function list': 'hs cms function list',
|
|
15
|
+
'function server': 'hs cms function server',
|
|
16
|
+
logs: 'hs cms function logs',
|
|
17
|
+
'module marketplace-validate': 'hs cms module marketplace-validate',
|
|
18
|
+
'theme generate-selectors': 'hs cms theme generate-selectors',
|
|
19
|
+
'theme marketplace-validate': 'hs cms theme marketplace-validate',
|
|
20
|
+
'theme preview': 'hs cms theme preview',
|
|
21
|
+
};
|
|
22
|
+
function createCommandSuggestionHandler(newCommand) {
|
|
23
|
+
return () => {
|
|
24
|
+
uiLogger.error(`Did you mean ${uiCommandReference(newCommand)}?`);
|
|
25
|
+
process.exit(EXIT_CODES.ERROR);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function createCommandSuggestion(oldCommand, newCommand) {
|
|
29
|
+
return {
|
|
30
|
+
command: oldCommand,
|
|
31
|
+
builder: async (yargs) => {
|
|
32
|
+
return yargs.strict(false).help(false).version(false);
|
|
33
|
+
},
|
|
34
|
+
handler: createCommandSuggestionHandler(newCommand),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function addCommandSuggestions(yargsInstance) {
|
|
38
|
+
return Object.entries(commandSuggestionMappings).reduce((yargs, [oldCommand, newCommand]) => yargs.command(createCommandSuggestion(oldCommand, newCommand)), yargsInstance);
|
|
39
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Argv, Arguments } from 'yargs';
|
|
2
|
+
import { CmsPublishMode } from '@hubspot/local-dev-lib/types/Files';
|
|
3
|
+
import { ConfigArgs } from '../types/Yargs.js';
|
|
4
|
+
export declare function addGlobalOptions(yargs: Argv): Argv<{}>;
|
|
5
|
+
export declare function addAccountOptions(yargs: Argv): Argv;
|
|
6
|
+
export declare function addConfigOptions(yargs: Argv): Argv<ConfigArgs>;
|
|
7
|
+
export declare function addOverwriteOptions(yargs: Argv): Argv;
|
|
8
|
+
export declare function addCmsPublishModeOptions(yargs: Argv, { read, write }: {
|
|
9
|
+
read?: boolean;
|
|
10
|
+
write?: boolean;
|
|
11
|
+
}): Argv;
|
|
12
|
+
export declare function addTestingOptions(yargs: Argv): Argv;
|
|
13
|
+
export declare function addUseEnvironmentOptions(yargs: Argv): Argv;
|
|
14
|
+
export declare function addJSONOutputOptions(yargs: Argv): Argv;
|
|
15
|
+
export declare function addCustomHelpOutput(yargs: Argv, command: string | string[], describe?: string): Promise<void>;
|
|
16
|
+
export declare function setCLILogLevel(options: Arguments<{
|
|
17
|
+
debug?: boolean;
|
|
18
|
+
networkDebug?: boolean;
|
|
19
|
+
json?: boolean;
|
|
20
|
+
}>): void;
|
|
21
|
+
export declare function getCommandName(argv: Arguments): string;
|
|
22
|
+
export declare function getCmsPublishMode(options: Arguments<{
|
|
23
|
+
cmsPublishMode?: CmsPublishMode;
|
|
24
|
+
derivedAccountId?: number;
|
|
25
|
+
}>): CmsPublishMode;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import yargsParser from 'yargs-parser';
|
|
3
|
+
import { LOG_LEVEL, setLogLevel } from '@hubspot/local-dev-lib/logger';
|
|
4
|
+
import { uiLogger } from './ui/logger.js';
|
|
5
|
+
import { DEFAULT_CMS_PUBLISH_MODE, CMS_PUBLISH_MODE, } from '@hubspot/local-dev-lib/constants/files';
|
|
6
|
+
import { getConfigAccountById, getConfig } from '@hubspot/local-dev-lib/config';
|
|
7
|
+
import { debugError } from './errorHandlers/index.js';
|
|
8
|
+
import { EXIT_CODES } from './enums/exitCodes.js';
|
|
9
|
+
import { uiCommandReference } from './ui/index.js';
|
|
10
|
+
import { lib } from '../lang/en.js';
|
|
11
|
+
import { getTerminalUISupport, UI_COLORS } from './ui/index.js';
|
|
12
|
+
import SpinniesManager from './ui/SpinniesManager.js';
|
|
13
|
+
export function addGlobalOptions(yargs) {
|
|
14
|
+
yargs.version(false);
|
|
15
|
+
yargs.option('debug', {
|
|
16
|
+
alias: 'd',
|
|
17
|
+
default: false,
|
|
18
|
+
describe: lib.commonOpts.options.debug,
|
|
19
|
+
type: 'boolean',
|
|
20
|
+
});
|
|
21
|
+
yargs.option('network-debug', {
|
|
22
|
+
default: false,
|
|
23
|
+
type: 'boolean',
|
|
24
|
+
hidden: true,
|
|
25
|
+
});
|
|
26
|
+
return yargs;
|
|
27
|
+
}
|
|
28
|
+
export function addAccountOptions(yargs) {
|
|
29
|
+
return yargs.option('account', {
|
|
30
|
+
alias: 'a',
|
|
31
|
+
describe: lib.commonOpts.options.account,
|
|
32
|
+
type: 'string',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function addConfigOptions(yargs) {
|
|
36
|
+
return yargs.option('config', {
|
|
37
|
+
alias: 'c',
|
|
38
|
+
describe: lib.commonOpts.options.config,
|
|
39
|
+
type: 'string',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export function addOverwriteOptions(yargs) {
|
|
43
|
+
return yargs.option('overwrite', {
|
|
44
|
+
alias: 'o',
|
|
45
|
+
describe: lib.commonOpts.options.overwrite,
|
|
46
|
+
type: 'boolean',
|
|
47
|
+
default: false,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export function addCmsPublishModeOptions(yargs, { read, write }) {
|
|
51
|
+
const cmsPublishModes = `<${Object.values(CMS_PUBLISH_MODE).join(' | ')}>`;
|
|
52
|
+
return yargs.option('cms-publish-mode', {
|
|
53
|
+
alias: 'm',
|
|
54
|
+
describe: lib.commonOpts.options.modes[read ? 'read' : write ? 'write' : 'default'](cmsPublishModes),
|
|
55
|
+
type: 'string',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export function addTestingOptions(yargs) {
|
|
59
|
+
return yargs.option('qa', {
|
|
60
|
+
describe: lib.commonOpts.options.qa,
|
|
61
|
+
type: 'boolean',
|
|
62
|
+
default: false,
|
|
63
|
+
hidden: true,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
export function addUseEnvironmentOptions(yargs) {
|
|
67
|
+
yargs.option('use-env', {
|
|
68
|
+
describe: lib.commonOpts.options.useEnv,
|
|
69
|
+
type: 'boolean',
|
|
70
|
+
});
|
|
71
|
+
yargs.conflicts('use-env', 'account');
|
|
72
|
+
return yargs;
|
|
73
|
+
}
|
|
74
|
+
export function addJSONOutputOptions(yargs) {
|
|
75
|
+
return yargs.option('json', {
|
|
76
|
+
alias: 'format-output-as-json',
|
|
77
|
+
describe: lib.commonOpts.options.jsonOutput,
|
|
78
|
+
type: 'boolean',
|
|
79
|
+
hidden: true,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
83
|
+
function uiBetaTagWithColor(message) {
|
|
84
|
+
const terminalUISupport = getTerminalUISupport();
|
|
85
|
+
const tag = lib.ui.betaTagWithStyle;
|
|
86
|
+
const result = `${terminalUISupport.color ? chalk.hex(UI_COLORS.SORBET)(tag) : tag} ${message}`;
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
90
|
+
function uiDeprecatedTagWithColor(message) {
|
|
91
|
+
const terminalUISupport = getTerminalUISupport();
|
|
92
|
+
const tag = lib.ui.deprecatedTagWithStyle;
|
|
93
|
+
const result = `${terminalUISupport.color ? chalk.yellow(tag) : tag} ${message}`;
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
export async function addCustomHelpOutput(yargs, command, describe) {
|
|
97
|
+
try {
|
|
98
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
99
|
+
if (describe && describe.includes(lib.ui.betaTag)) {
|
|
100
|
+
describe = describe.replace(lib.ui.betaTag + ' ', '');
|
|
101
|
+
describe = uiBetaTagWithColor(describe);
|
|
102
|
+
}
|
|
103
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
104
|
+
if (describe && describe.includes(lib.ui.deprecatedTag)) {
|
|
105
|
+
describe = describe.replace(lib.ui.deprecatedTag + ' ', '');
|
|
106
|
+
describe = uiDeprecatedTagWithColor(describe);
|
|
107
|
+
}
|
|
108
|
+
const parsedArgv = yargsParser(process.argv.slice(2));
|
|
109
|
+
if (parsedArgv && parsedArgv.help) {
|
|
110
|
+
const commandBase = `hs ${parsedArgv._.slice(0, -1).join(' ')}`;
|
|
111
|
+
// Make sure we are targeting the correct command by confirming that
|
|
112
|
+
// "command" matches the last part of the user's input command
|
|
113
|
+
const checkIsTargetCommand = (command) => {
|
|
114
|
+
const targetBaseCommand = command.split(' ')[0];
|
|
115
|
+
return targetBaseCommand === parsedArgv._[parsedArgv._.length - 1];
|
|
116
|
+
};
|
|
117
|
+
const isTargetedCommand = Array.isArray(command)
|
|
118
|
+
? command.some(checkIsTargetCommand)
|
|
119
|
+
: checkIsTargetCommand(command);
|
|
120
|
+
if (!isTargetedCommand) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
// Construct the full command, including positional arguments
|
|
124
|
+
const commandString = Array.isArray(command) ? command[0] : command;
|
|
125
|
+
const fullCommand = `${commandBase.trim()} ${commandString}`;
|
|
126
|
+
// Format the original help output to be more readable
|
|
127
|
+
let commandHelp = await yargs.getHelp();
|
|
128
|
+
['Options:', 'Commands:', 'Examples:', 'Positionals:'].forEach(header => {
|
|
129
|
+
commandHelp = commandHelp.replace(header, chalk.bold(header));
|
|
130
|
+
});
|
|
131
|
+
// Remove "hs <command>" from the help output (this shows up for command buckets)
|
|
132
|
+
commandHelp = commandHelp.replace('hs <command>\n', '');
|
|
133
|
+
// Remove the first line of the help output if it's empty
|
|
134
|
+
if (commandHelp.startsWith('\n')) {
|
|
135
|
+
commandHelp = commandHelp.slice(1);
|
|
136
|
+
}
|
|
137
|
+
uiLogger.log(`${uiCommandReference(fullCommand, false)}\n\n${describe ? `${describe}\n\n` : ''}${commandHelp}`);
|
|
138
|
+
process.exit(EXIT_CODES.SUCCESS);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
// Ignore error to allow yargs to show the default help output using the command description
|
|
143
|
+
debugError(e);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export function setCLILogLevel(options) {
|
|
147
|
+
const { debug, networkDebug, json } = options;
|
|
148
|
+
if (json) {
|
|
149
|
+
setLogLevel(LOG_LEVEL.ERROR);
|
|
150
|
+
SpinniesManager.setDisableOutput(true);
|
|
151
|
+
}
|
|
152
|
+
else if (debug || networkDebug) {
|
|
153
|
+
setLogLevel(LOG_LEVEL.DEBUG);
|
|
154
|
+
process.env.HUBSPOT_NETWORK_LOGGING = 'true';
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
setLogLevel(LOG_LEVEL.LOG);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
export function getCommandName(argv) {
|
|
161
|
+
return String(argv && argv._ && argv._[0]) || '';
|
|
162
|
+
}
|
|
163
|
+
export function getCmsPublishMode(options) {
|
|
164
|
+
// 1. --cmsPublishMode
|
|
165
|
+
const { cmsPublishMode } = options;
|
|
166
|
+
if (cmsPublishMode && typeof cmsPublishMode === 'string') {
|
|
167
|
+
return cmsPublishMode.toLowerCase();
|
|
168
|
+
}
|
|
169
|
+
// 2. config[account].defaultCmsPublishMode
|
|
170
|
+
if (options.derivedAccountId) {
|
|
171
|
+
const accountConfig = getConfigAccountById(options.derivedAccountId);
|
|
172
|
+
if (accountConfig && accountConfig.defaultCmsPublishMode) {
|
|
173
|
+
return accountConfig.defaultCmsPublishMode;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// 3. config.defaultCmsPublishMode
|
|
177
|
+
// 4. DEFAULT_CMS_PUBLISH_MODE
|
|
178
|
+
const config = getConfig();
|
|
179
|
+
return ((config && config.defaultCmsPublishMode) ||
|
|
180
|
+
DEFAULT_CMS_PUBLISH_MODE);
|
|
181
|
+
}
|