@hubspot/cli 7.5.2-experimental.0 → 7.5.3-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/api/migrate.d.ts +12 -3
- package/api/migrate.js +9 -2
- package/bin/cli.js +100 -93
- package/commands/account/auth.d.ts +8 -0
- package/commands/account/auth.js +175 -0
- package/commands/account/clean.d.ts +3 -7
- package/commands/account/clean.js +54 -14
- package/commands/account/createOverride.d.ts +6 -0
- package/commands/account/createOverride.js +121 -0
- package/commands/account/info.d.ts +3 -7
- package/commands/account/info.js +36 -5
- package/commands/account/list.d.ts +3 -7
- package/commands/account/list.js +38 -15
- package/commands/account/remove.d.ts +3 -7
- package/commands/account/remove.js +49 -9
- package/commands/account/removeOverride.d.ts +6 -0
- package/commands/account/removeOverride.js +93 -0
- package/commands/account/rename.d.ts +3 -7
- package/commands/account/rename.js +16 -9
- package/commands/account/use.d.ts +5 -9
- package/commands/account/use.js +27 -6
- package/commands/account.d.ts +3 -4
- package/commands/account.js +33 -53
- package/commands/app/migrate.d.ts +5 -6
- package/commands/app/migrate.js +60 -44
- package/commands/app/secret/add.d.ts +7 -0
- package/commands/app/secret/add.js +64 -0
- package/commands/app/secret/delete.d.ts +8 -0
- package/commands/app/secret/delete.js +87 -0
- package/commands/app/secret/list.d.ts +6 -0
- package/commands/app/secret/list.js +64 -0
- package/commands/app/secret/update.d.ts +7 -0
- package/commands/app/secret/update.js +77 -0
- package/commands/app/secret.d.ts +3 -0
- package/commands/app/secret.js +30 -0
- package/commands/app.d.ts +2 -5
- package/commands/app.js +10 -10
- package/commands/auth.d.ts +5 -7
- package/commands/auth.js +37 -33
- package/commands/cms/convertFields.d.ts +7 -1
- package/commands/cms/convertFields.js +57 -41
- package/commands/cms/getReactModule.d.ts +7 -1
- package/commands/cms/getReactModule.js +52 -34
- package/commands/cms/lighthouseScore.d.ts +8 -1
- package/commands/cms/lighthouseScore.js +129 -100
- package/commands/cms.d.ts +3 -1
- package/commands/cms.js +22 -16
- package/commands/completion.d.ts +3 -1
- package/commands/completion.js +23 -13
- package/commands/config/migrate.d.ts +6 -0
- package/commands/config/migrate.js +75 -0
- package/commands/config/set.d.ts +10 -1
- package/commands/config/set.js +56 -32
- package/commands/config.d.ts +3 -1
- package/commands/config.js +19 -11
- package/commands/create/api-sample.d.ts +3 -1
- package/commands/create/api-sample.js +34 -38
- package/commands/create/app.d.ts +3 -1
- package/commands/create/app.js +9 -7
- package/commands/create/function.d.ts +3 -1
- package/commands/create/function.js +11 -10
- package/commands/create/index.d.ts +5 -1
- package/commands/create/index.js +23 -11
- package/commands/create/module.d.ts +3 -1
- package/commands/create/module.js +14 -13
- package/commands/create/react-app.d.ts +3 -1
- package/commands/create/react-app.js +10 -7
- package/commands/create/template.d.ts +3 -1
- package/commands/create/template.js +14 -14
- package/commands/create/vue-app.d.ts +3 -1
- package/commands/create/vue-app.js +10 -7
- package/commands/create/webpack-serverless.d.ts +3 -1
- package/commands/create/webpack-serverless.js +10 -7
- package/commands/create/website-theme.d.ts +3 -1
- package/commands/create/website-theme.js +10 -9
- package/commands/create.d.ts +4 -24
- package/commands/create.js +62 -75
- package/commands/customObject/create.d.ts +4 -9
- package/commands/customObject/create.js +17 -10
- package/commands/customObject/schema/create.d.ts +4 -9
- package/commands/customObject/schema/create.js +18 -11
- package/commands/customObject/schema/delete.d.ts +4 -9
- package/commands/customObject/schema/delete.js +17 -10
- package/commands/customObject/schema/fetch-all.d.ts +4 -9
- package/commands/customObject/schema/fetch-all.js +17 -10
- package/commands/customObject/schema/fetch.d.ts +4 -9
- package/commands/customObject/schema/fetch.js +17 -10
- package/commands/customObject/schema/list.d.ts +4 -8
- package/commands/customObject/schema/list.js +17 -10
- package/commands/customObject/schema/update.d.ts +4 -9
- package/commands/customObject/schema/update.js +18 -11
- package/commands/customObject/schema.d.ts +3 -5
- package/commands/customObject/schema.js +27 -54
- package/commands/customObject.d.ts +3 -4
- package/commands/customObject.js +20 -48
- package/commands/doctor.d.ts +6 -8
- package/commands/doctor.js +30 -22
- package/commands/feedback.d.ts +4 -1
- package/commands/feedback.js +38 -48
- package/commands/fetch.d.ts +12 -1
- package/commands/fetch.js +49 -34
- package/commands/filemanager/fetch.d.ts +4 -9
- package/commands/filemanager/fetch.js +18 -11
- package/commands/filemanager/upload.d.ts +4 -9
- package/commands/filemanager/upload.js +17 -11
- package/commands/filemanager.d.ts +3 -4
- package/commands/filemanager.js +18 -42
- package/commands/function/deploy.d.ts +6 -1
- package/commands/function/deploy.js +70 -50
- package/commands/function/list.d.ts +6 -1
- package/commands/function/list.js +44 -32
- package/commands/function/server.d.ts +10 -1
- package/commands/function/server.js +49 -38
- package/commands/function.d.ts +5 -1
- package/commands/function.js +22 -11
- package/commands/getStarted.d.ts +9 -0
- package/commands/getStarted.js +227 -0
- package/commands/hubdb/clear.d.ts +4 -9
- package/commands/hubdb/clear.js +21 -15
- package/commands/hubdb/create.d.ts +4 -9
- package/commands/hubdb/create.js +23 -17
- package/commands/hubdb/delete.d.ts +4 -9
- package/commands/hubdb/delete.js +24 -16
- package/commands/hubdb/fetch.d.ts +4 -9
- package/commands/hubdb/fetch.js +20 -14
- package/commands/hubdb/list.d.ts +4 -0
- package/commands/hubdb/list.js +83 -0
- package/commands/hubdb.d.ts +3 -2
- package/commands/hubdb.js +24 -47
- package/commands/init.d.ts +3 -7
- package/commands/init.js +31 -24
- package/commands/lint.d.ts +6 -4
- package/commands/lint.js +42 -44
- package/commands/list.d.ts +3 -7
- package/commands/list.js +21 -16
- package/commands/logs.d.ts +10 -1
- package/commands/logs.js +53 -45
- package/commands/mcp/setup.d.ts +7 -0
- package/commands/mcp/setup.js +50 -0
- package/commands/mcp/start.d.ts +3 -0
- package/commands/mcp/start.js +75 -0
- package/commands/mcp.d.ts +3 -0
- package/commands/mcp.js +26 -0
- package/commands/module/marketplace-validate.d.ts +6 -1
- package/commands/module/marketplace-validate.js +39 -30
- package/commands/module.d.ts +3 -1
- package/commands/module.js +23 -12
- package/commands/mv.d.ts +3 -7
- package/commands/mv.js +20 -15
- package/commands/open.d.ts +3 -7
- package/commands/open.js +20 -15
- package/commands/project/add.d.ts +8 -9
- package/commands/project/add.js +53 -85
- package/commands/project/cloneApp.d.ts +6 -8
- package/commands/project/cloneApp.js +51 -47
- package/commands/project/create.d.ts +4 -1
- package/commands/project/create.js +132 -81
- package/commands/project/deploy.d.ts +5 -6
- package/commands/project/deploy.js +93 -37
- package/commands/project/dev/deprecatedFlow.d.ts +8 -2
- package/commands/project/dev/deprecatedFlow.js +41 -26
- package/commands/project/dev/index.d.ts +4 -5
- package/commands/project/dev/index.js +103 -33
- package/commands/project/dev/unifiedFlow.d.ts +11 -2
- package/commands/project/dev/unifiedFlow.js +85 -46
- package/commands/project/download.d.ts +3 -7
- package/commands/project/download.js +18 -19
- package/commands/project/installDeps.d.ts +6 -1
- package/commands/project/installDeps.js +48 -32
- package/commands/project/listBuilds.d.ts +3 -7
- package/commands/project/listBuilds.js +32 -30
- package/commands/project/logs.d.ts +10 -1
- package/commands/project/logs.js +73 -65
- package/commands/project/migrate.d.ts +7 -8
- package/commands/project/migrate.js +49 -26
- package/commands/project/migrateApp.d.ts +3 -8
- package/commands/project/migrateApp.js +23 -20
- package/commands/project/open.d.ts +3 -7
- package/commands/project/open.js +29 -21
- package/commands/project/profile/add.d.ts +7 -0
- package/commands/project/profile/add.js +209 -0
- package/commands/project/profile/delete.d.ts +6 -0
- package/commands/project/profile/delete.js +123 -0
- package/commands/project/profile.d.ts +3 -0
- package/commands/project/profile.js +25 -0
- package/commands/project/upload.d.ts +10 -1
- package/commands/project/upload.js +94 -56
- package/commands/project/validate.d.ts +6 -0
- package/commands/project/validate.js +81 -0
- package/commands/project/watch.d.ts +6 -1
- package/commands/project/watch.js +95 -61
- package/commands/project.d.ts +3 -1
- package/commands/project.js +49 -37
- package/commands/remove.d.ts +3 -7
- package/commands/remove.js +22 -20
- package/commands/sandbox/create.d.ts +4 -9
- package/commands/sandbox/create.js +27 -21
- package/commands/sandbox/delete.d.ts +4 -9
- package/commands/sandbox/delete.js +35 -29
- package/commands/sandbox.d.ts +3 -4
- package/commands/sandbox.js +18 -44
- package/commands/secret/addSecret.d.ts +4 -9
- package/commands/secret/addSecret.js +21 -15
- package/commands/secret/deleteSecret.d.ts +4 -9
- package/commands/secret/deleteSecret.js +28 -18
- package/commands/secret/listSecret.d.ts +4 -9
- package/commands/secret/listSecret.js +19 -13
- package/commands/secret/updateSecret.d.ts +4 -9
- package/commands/secret/updateSecret.js +25 -17
- package/commands/secret.d.ts +3 -4
- package/commands/secret.js +23 -49
- package/commands/theme/generate-selectors.d.ts +3 -7
- package/commands/theme/generate-selectors.js +20 -16
- package/commands/theme/marketplace-validate.d.ts +4 -9
- package/commands/theme/marketplace-validate.js +22 -18
- package/commands/theme/preview.d.ts +4 -9
- package/commands/theme/preview.js +36 -30
- package/commands/theme.d.ts +3 -4
- package/commands/theme.js +22 -48
- package/commands/upload.d.ts +12 -1
- package/commands/upload.js +116 -135
- package/commands/watch.d.ts +14 -1
- package/commands/watch.js +74 -76
- package/lang/en.d.ts +3218 -0
- package/lang/en.js +3075 -3313
- package/lang/en.lyaml +96 -228
- package/lib/accountTypes.d.ts +1 -0
- package/lib/accountTypes.js +11 -0
- package/lib/app/migrate.d.ts +33 -4
- package/lib/app/migrate.js +172 -91
- package/lib/app/migrate_legacy.d.ts +2 -2
- package/lib/app/migrate_legacy.js +12 -11
- package/lib/app/urls.d.ts +16 -0
- package/lib/app/urls.js +16 -0
- package/lib/buildAccount.d.ts +1 -2
- package/lib/buildAccount.js +11 -10
- package/lib/commonOpts.d.ts +4 -7
- package/lib/commonOpts.js +47 -19
- package/lib/configMigrate.d.ts +2 -0
- package/lib/configMigrate.js +83 -0
- package/lib/configOptions.d.ts +4 -0
- package/lib/configOptions.js +41 -45
- package/lib/constants.d.ts +33 -0
- package/lib/constants.js +34 -1
- package/lib/dependencyManagement.d.ts +0 -5
- package/lib/dependencyManagement.js +14 -40
- package/lib/doctor/Diagnosis.d.ts +1 -2
- package/lib/doctor/Diagnosis.js +19 -16
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
- package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
- package/lib/doctor/Doctor.d.ts +1 -0
- package/lib/doctor/Doctor.js +60 -46
- package/lib/errorHandlers/index.js +13 -7
- package/lib/errorHandlers/suppressError.js +18 -26
- package/lib/filesystem.d.ts +1 -1
- package/lib/generateSelectors.js +3 -6
- package/lib/hasFeature.d.ts +3 -1
- package/lib/interpolation.d.ts +2 -3
- package/lib/lang.d.ts +2 -3
- package/lib/marketplaceValidate.d.ts +12 -2
- package/lib/marketplaceValidate.js +22 -29
- package/lib/mcp/setup.d.ts +12 -0
- package/lib/mcp/setup.js +216 -0
- package/lib/middleware/__test__/yargsChecksMiddleware.test.js +3 -3
- package/lib/middleware/autoUpdateMiddleware.d.ts +1 -0
- package/lib/middleware/autoUpdateMiddleware.js +89 -0
- package/lib/middleware/configMiddleware.js +37 -3
- package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
- package/lib/middleware/fireAlarmMiddleware.js +125 -0
- package/lib/middleware/yargsChecksMiddleware.js +2 -2
- package/lib/npm.d.ts +9 -0
- package/lib/npm.js +36 -0
- package/lib/oauth.js +1 -2
- package/lib/process.js +1 -2
- package/lib/projectProfiles.d.ts +7 -0
- package/lib/projectProfiles.js +83 -0
- package/lib/projects/ProjectLogsManager.d.ts +1 -1
- package/lib/projects/ProjectLogsManager.js +16 -21
- package/lib/projects/add/legacyAddComponent.d.ts +5 -0
- package/lib/projects/add/legacyAddComponent.js +48 -0
- package/lib/projects/add/v3AddComponent.d.ts +8 -0
- package/lib/projects/add/v3AddComponent.js +85 -0
- package/lib/projects/buildAndDeploy.js +46 -42
- package/lib/projects/components.d.ts +2 -0
- package/lib/projects/components.js +82 -0
- package/lib/projects/config.d.ts +9 -0
- package/lib/projects/config.js +79 -0
- package/lib/projects/create/index.d.ts +23 -0
- package/lib/projects/create/index.js +33 -0
- package/lib/projects/create/legacy.d.ts +6 -0
- package/lib/projects/{create.js → create/legacy.js} +23 -15
- package/lib/projects/create/v3.d.ts +27 -0
- package/lib/projects/create/v3.js +158 -0
- package/lib/projects/ensureProjectExists.d.ts +11 -0
- package/lib/projects/ensureProjectExists.js +97 -0
- package/lib/projects/localDev/AppDevModeInterface.d.ts +30 -0
- package/lib/projects/localDev/AppDevModeInterface.js +214 -0
- package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
- package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
- package/lib/projects/localDev/DevServerManagerV2.d.ts +22 -0
- package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +22 -19
- package/lib/projects/localDev/LocalDevLogger.d.ts +30 -0
- package/lib/projects/localDev/LocalDevLogger.js +159 -0
- package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
- package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +57 -83
- package/lib/projects/localDev/LocalDevProcess.d.ts +34 -0
- package/lib/projects/localDev/LocalDevProcess.js +201 -0
- package/lib/projects/localDev/LocalDevState.d.ts +50 -0
- package/lib/projects/localDev/LocalDevState.js +119 -0
- package/lib/projects/localDev/LocalDevWatcher.d.ts +10 -0
- package/lib/projects/localDev/LocalDevWatcher.js +53 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +20 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.js +131 -0
- package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +6 -4
- package/lib/{localDev.js → projects/localDev/helpers.js} +127 -114
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +15 -0
- package/lib/projects/upload.d.ts +17 -2
- package/lib/projects/upload.js +74 -50
- package/lib/projects/urls.d.ts +4 -0
- package/lib/projects/urls.js +23 -1
- package/lib/projects/watch.d.ts +1 -1
- package/lib/projects/watch.js +21 -18
- package/lib/prompts/accountNamePrompt.js +16 -13
- package/lib/prompts/accountsPrompt.js +1 -2
- package/lib/prompts/cmsFieldPrompt.js +1 -2
- package/lib/prompts/createApiSamplePrompt.d.ts +2 -10
- package/lib/prompts/createApiSamplePrompt.js +4 -5
- package/lib/prompts/createFunctionPrompt.js +13 -14
- package/lib/prompts/createModulePrompt.js +8 -9
- package/lib/prompts/createProjectPrompt.d.ts +20 -4
- package/lib/prompts/createProjectPrompt.js +43 -13
- package/lib/prompts/createTemplatePrompt.d.ts +22 -4
- package/lib/prompts/createTemplatePrompt.js +1 -2
- package/lib/prompts/downloadProjectPrompt.js +3 -4
- package/lib/prompts/installAppPrompt.d.ts +2 -0
- package/lib/prompts/installAppPrompt.js +45 -0
- package/lib/prompts/personalAccessKeyPrompt.js +35 -25
- package/lib/prompts/previewPrompt.js +5 -6
- package/lib/prompts/projectAddPrompt.d.ts +5 -1
- package/lib/prompts/projectAddPrompt.js +35 -8
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +6 -1
- package/lib/prompts/projectDevTargetAccountPrompt.js +15 -16
- package/lib/prompts/projectNamePrompt.js +5 -6
- package/lib/prompts/projectsLogsPrompt.js +3 -2
- package/lib/prompts/promptUtils.d.ts +4 -2
- package/lib/prompts/promptUtils.js +3 -1
- package/lib/prompts/sandboxesPrompt.js +5 -6
- package/lib/prompts/secretPrompt.js +2 -3
- package/lib/prompts/selectAppPrompt.d.ts +2 -0
- package/lib/prompts/selectAppPrompt.js +40 -0
- package/lib/prompts/selectHubDBTablePrompt.js +11 -8
- package/lib/prompts/{selectPublicAppPrompt.d.ts → selectPublicAppForMigrationPrompt.d.ts} +1 -1
- package/lib/prompts/{selectPublicAppPrompt.js → selectPublicAppForMigrationPrompt.js} +8 -9
- package/lib/prompts/setAsDefaultAccountPrompt.js +11 -2
- package/lib/prompts/uploadPrompt.js +4 -5
- package/lib/sandboxSync.js +15 -14
- package/lib/sandboxes.js +12 -13
- package/lib/serverlessLogs.js +4 -6
- package/lib/testUtils.d.ts +3 -3
- package/lib/testUtils.js +8 -9
- package/lib/ui/boxen.d.ts +5 -0
- package/lib/ui/boxen.js +30 -0
- package/lib/ui/git.js +8 -9
- package/lib/ui/index.d.ts +4 -2
- package/lib/ui/index.js +20 -17
- package/lib/ui/logger.d.ts +10 -0
- package/lib/ui/logger.js +15 -0
- package/lib/ui/serverlessFunctionLogs.js +2 -3
- package/lib/upload.d.ts +1 -1
- package/lib/validation.js +4 -5
- package/lib/yargsUtils.d.ts +5 -1
- package/lib/yargsUtils.js +6 -0
- package/mcp-server/server.d.ts +1 -0
- package/mcp-server/server.js +18 -0
- package/mcp-server/tools/index.d.ts +2 -0
- package/mcp-server/tools/index.js +17 -0
- package/mcp-server/tools/project/AddFeatureToProject.d.ts +29 -0
- package/mcp-server/tools/project/AddFeatureToProject.js +85 -0
- package/mcp-server/tools/project/CreateProjectTool.d.ts +35 -0
- package/mcp-server/tools/project/CreateProjectTool.js +100 -0
- package/mcp-server/tools/project/DeployProject.d.ts +20 -0
- package/mcp-server/tools/project/DeployProject.js +50 -0
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +17 -0
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +58 -0
- package/mcp-server/tools/project/UploadProjectTools.d.ts +17 -0
- package/mcp-server/tools/project/UploadProjectTools.js +35 -0
- package/mcp-server/tools/project/constants.d.ts +3 -0
- package/mcp-server/tools/project/constants.js +13 -0
- package/mcp-server/types.d.ts +14 -0
- package/mcp-server/types.js +17 -0
- package/mcp-server/utils/command.d.ts +3 -0
- package/mcp-server/utils/command.js +16 -0
- package/mcp-server/utils/content.d.ts +3 -0
- package/mcp-server/utils/content.js +21 -0
- package/mcp-server/utils/project.d.ts +5 -0
- package/mcp-server/utils/project.js +17 -0
- package/package.json +19 -11
- package/types/Cms.d.ts +30 -0
- package/types/Cms.js +2 -0
- package/types/LocalDev.d.ts +35 -0
- package/types/LocalDev.js +2 -0
- package/types/Projects.d.ts +19 -2
- package/types/Prompts.d.ts +0 -7
- package/types/Yargs.d.ts +14 -14
- package/lib/DevServerManagerV2.d.ts +0 -33
- package/lib/LocalDevManagerV2.d.ts +0 -64
- package/lib/LocalDevManagerV2.js +0 -377
- package/lib/projects/create.d.ts +0 -5
- package/lib/projects/index.d.ts +0 -21
- package/lib/projects/index.js +0 -194
- package/lib/prompts/installPublicAppPrompt.d.ts +0 -1
- package/lib/prompts/installPublicAppPrompt.js +0 -40
|
@@ -3,37 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.describe = exports.command = void 0;
|
|
7
|
-
exports.handler = handler;
|
|
8
|
-
exports.builder = builder;
|
|
9
6
|
const fs_1 = __importDefault(require("fs"));
|
|
10
7
|
const path_1 = __importDefault(require("path"));
|
|
11
8
|
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
12
|
-
const
|
|
13
|
-
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
9
|
+
const en_1 = require("../../lang/en");
|
|
14
10
|
const path_2 = require("@hubspot/local-dev-lib/path");
|
|
15
11
|
const files_1 = require("@hubspot/local-dev-lib/constants/files");
|
|
16
12
|
const themes_1 = require("@hubspot/local-dev-lib/cms/themes");
|
|
17
13
|
const theme_preview_dev_server_1 = require("@hubspot/theme-preview-dev-server");
|
|
18
|
-
const commonOpts_1 = require("../../lib/commonOpts");
|
|
19
14
|
const upload_1 = require("../../lib/upload");
|
|
20
15
|
const usageTracking_1 = require("../../lib/usageTracking");
|
|
21
16
|
const previewPrompt_1 = require("../../lib/prompts/previewPrompt");
|
|
22
17
|
const exitCodes_1 = require("../../lib/enums/exitCodes");
|
|
23
18
|
const index_1 = require("../../lib/errorHandlers/index");
|
|
24
19
|
const process_1 = require("../../lib/process");
|
|
25
|
-
const
|
|
20
|
+
const config_1 = require("../../lib/projects/config");
|
|
26
21
|
const structure_1 = require("../../lib/projects/structure");
|
|
27
22
|
const Projects_1 = require("../../types/Projects");
|
|
28
23
|
const hasFeature_1 = require("../../lib/hasFeature");
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
const constants_1 = require("../../lib/constants");
|
|
25
|
+
const yargsUtils_1 = require("../../lib/yargsUtils");
|
|
26
|
+
const logger_1 = require("../../lib/ui/logger");
|
|
27
|
+
const command = 'preview [--src] [--dest]';
|
|
28
|
+
const describe = en_1.commands.theme.subcommands.preview.describe;
|
|
32
29
|
function validateSrcPath(src) {
|
|
33
30
|
const logInvalidPath = () => {
|
|
34
|
-
logger_1.
|
|
35
|
-
path: src,
|
|
36
|
-
}));
|
|
31
|
+
logger_1.uiLogger.error(en_1.commands.theme.subcommands.preview.errors.invalidPath(src));
|
|
37
32
|
};
|
|
38
33
|
try {
|
|
39
34
|
const stats = fs_1.default.statSync(src);
|
|
@@ -50,7 +45,7 @@ function validateSrcPath(src) {
|
|
|
50
45
|
}
|
|
51
46
|
function handleUserInput() {
|
|
52
47
|
const onTerminate = () => {
|
|
53
|
-
logger_1.
|
|
48
|
+
logger_1.uiLogger.log(en_1.commands.theme.subcommands.preview.logs.processExited);
|
|
54
49
|
process.exit(exitCodes_1.EXIT_CODES.SUCCESS);
|
|
55
50
|
};
|
|
56
51
|
(0, process_1.handleExit)(onTerminate);
|
|
@@ -63,7 +58,7 @@ function handleUserInput() {
|
|
|
63
58
|
async function determineSrcAndDest(args) {
|
|
64
59
|
let absoluteSrc;
|
|
65
60
|
let dest;
|
|
66
|
-
const { projectDir, projectConfig } = await (0,
|
|
61
|
+
const { projectDir, projectConfig } = await (0, config_1.getProjectConfig)();
|
|
67
62
|
if (!(projectDir && projectConfig)) {
|
|
68
63
|
// Not in a project, prompt for src and dest of traditional theme
|
|
69
64
|
const previewPromptAnswers = await (0, previewPrompt_1.previewPrompt)(args);
|
|
@@ -81,7 +76,7 @@ async function determineSrcAndDest(args) {
|
|
|
81
76
|
const projectComponents = await (0, structure_1.findProjectComponents)(projectDir);
|
|
82
77
|
const themeComponents = projectComponents.filter(c => c.type === Projects_1.ComponentTypes.HublTheme);
|
|
83
78
|
if (themeComponents.length === 0) {
|
|
84
|
-
logger_1.
|
|
79
|
+
logger_1.uiLogger.error(en_1.commands.theme.subcommands.preview.errors.noThemeComponents);
|
|
85
80
|
process.exit(exitCodes_1.EXIT_CODES.ERROR);
|
|
86
81
|
}
|
|
87
82
|
const answer = await (0, previewPrompt_1.previewProjectPrompt)(themeComponents);
|
|
@@ -105,7 +100,7 @@ async function handler(args) {
|
|
|
105
100
|
hideCursor: true,
|
|
106
101
|
}, cli_progress_1.default.Presets.rect);
|
|
107
102
|
initialUploadProgressBar.start(numFiles, 0, {
|
|
108
|
-
label:
|
|
103
|
+
label: en_1.commands.theme.subcommands.preview.initialUploadProgressBar.start,
|
|
109
104
|
});
|
|
110
105
|
let uploadsHaveStarted = false;
|
|
111
106
|
const uploadOptions = {
|
|
@@ -117,7 +112,8 @@ async function handler(args) {
|
|
|
117
112
|
if (!uploadsHaveStarted) {
|
|
118
113
|
uploadsHaveStarted = true;
|
|
119
114
|
initialUploadProgressBar.update(0, {
|
|
120
|
-
label:
|
|
115
|
+
label: en_1.commands.theme.subcommands.preview.initialUploadProgressBar
|
|
116
|
+
.uploading,
|
|
121
117
|
});
|
|
122
118
|
}
|
|
123
119
|
},
|
|
@@ -130,12 +126,12 @@ async function handler(args) {
|
|
|
130
126
|
onFinalErrorCallback: () => initialUploadProgressBar.increment(),
|
|
131
127
|
onFinishCallback: (results) => {
|
|
132
128
|
initialUploadProgressBar.update(numFiles, {
|
|
133
|
-
label:
|
|
129
|
+
label: en_1.commands.theme.subcommands.preview.initialUploadProgressBar.finish,
|
|
134
130
|
});
|
|
135
131
|
initialUploadProgressBar.stop();
|
|
136
132
|
results.forEach(result => {
|
|
137
133
|
if (result.resultType == files_1.FILE_UPLOAD_RESULT_TYPES.FAILURE) {
|
|
138
|
-
logger_1.
|
|
134
|
+
logger_1.uiLogger.error(en_1.commands.theme.subcommands.preview.errors.uploadFailed(result.file, dest));
|
|
139
135
|
(0, index_1.logError)(result.error, new index_1.ApiErrorContext({
|
|
140
136
|
accountId: derivedAccountId,
|
|
141
137
|
request: dest,
|
|
@@ -157,9 +153,9 @@ async function handler(args) {
|
|
|
157
153
|
createUnifiedDevServer = createDevServer;
|
|
158
154
|
}
|
|
159
155
|
catch (e) {
|
|
160
|
-
logger_1.
|
|
156
|
+
logger_1.uiLogger.warn('Unified dev server requires node 20 to run. Defaulting to legacy preview.');
|
|
161
157
|
}
|
|
162
|
-
const isUngatedForUnified = await (0, hasFeature_1.hasFeature)(derivedAccountId,
|
|
158
|
+
const isUngatedForUnified = await (0, hasFeature_1.hasFeature)(derivedAccountId, constants_1.FEATURES.UNIFIED_THEME_PREVIEW);
|
|
163
159
|
if (isUngatedForUnified && createUnifiedDevServer) {
|
|
164
160
|
if (port) {
|
|
165
161
|
process.env['PORT'] = port.toString();
|
|
@@ -183,32 +179,30 @@ async function handler(args) {
|
|
|
183
179
|
});
|
|
184
180
|
}
|
|
185
181
|
}
|
|
186
|
-
function
|
|
187
|
-
(0, commonOpts_1.addConfigOptions)(yargs);
|
|
188
|
-
(0, commonOpts_1.addAccountOptions)(yargs);
|
|
182
|
+
function themePreviewBuilder(yargs) {
|
|
189
183
|
yargs
|
|
190
184
|
.option('src', {
|
|
191
|
-
describe:
|
|
185
|
+
describe: en_1.commands.theme.subcommands.preview.positionals.src,
|
|
192
186
|
type: 'string',
|
|
193
187
|
requiresArg: true,
|
|
194
188
|
})
|
|
195
189
|
.option('dest', {
|
|
196
|
-
describe:
|
|
190
|
+
describe: en_1.commands.theme.subcommands.preview.positionals.dest,
|
|
197
191
|
type: 'string',
|
|
198
192
|
requiresArg: true,
|
|
199
193
|
})
|
|
200
194
|
.option('notify', {
|
|
201
195
|
alias: 'n',
|
|
202
|
-
describe:
|
|
196
|
+
describe: en_1.commands.theme.subcommands.preview.options.notify,
|
|
203
197
|
type: 'string',
|
|
204
198
|
requiresArg: true,
|
|
205
199
|
})
|
|
206
200
|
.option('no-ssl', {
|
|
207
|
-
describe:
|
|
201
|
+
describe: en_1.commands.theme.subcommands.preview.options.noSsl,
|
|
208
202
|
type: 'boolean',
|
|
209
203
|
})
|
|
210
204
|
.option('port', {
|
|
211
|
-
describe:
|
|
205
|
+
describe: en_1.commands.theme.subcommands.preview.options.port,
|
|
212
206
|
type: 'number',
|
|
213
207
|
})
|
|
214
208
|
.option('resetSession', {
|
|
@@ -221,3 +215,15 @@ function builder(yargs) {
|
|
|
221
215
|
});
|
|
222
216
|
return yargs;
|
|
223
217
|
}
|
|
218
|
+
const builder = (0, yargsUtils_1.makeYargsBuilder)(themePreviewBuilder, command, describe, {
|
|
219
|
+
useGlobalOptions: true,
|
|
220
|
+
useConfigOptions: true,
|
|
221
|
+
useAccountOptions: true,
|
|
222
|
+
});
|
|
223
|
+
const themePreviewCommand = {
|
|
224
|
+
command,
|
|
225
|
+
describe,
|
|
226
|
+
handler,
|
|
227
|
+
builder,
|
|
228
|
+
};
|
|
229
|
+
exports.default = themePreviewCommand;
|
package/commands/theme.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export declare function builder(yargs: Argv): Argv;
|
|
1
|
+
import { YargsCommandModuleBucket } from '../types/Yargs';
|
|
2
|
+
declare const themeCommand: YargsCommandModuleBucket;
|
|
3
|
+
export default themeCommand;
|
package/commands/theme.js
CHANGED
|
@@ -1,54 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
exports.command = ['theme', 'themes'];
|
|
45
|
-
exports.describe = (0, lang_1.i18n)(`${i18nKey}.describe`);
|
|
46
|
-
function builder(yargs) {
|
|
47
|
-
(0, commonOpts_1.addGlobalOptions)(yargs);
|
|
6
|
+
const marketplace_validate_1 = __importDefault(require("./theme/marketplace-validate"));
|
|
7
|
+
const generate_selectors_1 = __importDefault(require("./theme/generate-selectors"));
|
|
8
|
+
const preview_1 = __importDefault(require("./theme/preview"));
|
|
9
|
+
const en_1 = require("../lang/en");
|
|
10
|
+
const yargsUtils_1 = require("../lib/yargsUtils");
|
|
11
|
+
const command = ['theme', 'themes'];
|
|
12
|
+
const describe = en_1.commands.theme.describe;
|
|
13
|
+
function themeBuilder(yargs) {
|
|
48
14
|
yargs
|
|
49
|
-
.command(
|
|
50
|
-
.command(
|
|
51
|
-
.command(
|
|
15
|
+
.command(preview_1.default)
|
|
16
|
+
.command(marketplace_validate_1.default)
|
|
17
|
+
.command(generate_selectors_1.default)
|
|
52
18
|
.demandCommand(1, '');
|
|
53
19
|
return yargs;
|
|
54
20
|
}
|
|
21
|
+
const builder = (0, yargsUtils_1.makeYargsBuilder)(themeBuilder, command, describe);
|
|
22
|
+
const themeCommand = {
|
|
23
|
+
command,
|
|
24
|
+
describe,
|
|
25
|
+
builder,
|
|
26
|
+
handler: () => { },
|
|
27
|
+
};
|
|
28
|
+
exports.default = themeCommand;
|
package/commands/upload.d.ts
CHANGED
|
@@ -1 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { CommonArgs, ConfigArgs, AccountArgs, EnvironmentArgs, CmsPublishModeArgs, YargsCommandModule } from '../types/Yargs';
|
|
2
|
+
type UploadArgs = CommonArgs & ConfigArgs & AccountArgs & EnvironmentArgs & CmsPublishModeArgs & {
|
|
3
|
+
src?: string;
|
|
4
|
+
dest?: string;
|
|
5
|
+
fieldOptions?: string | string[];
|
|
6
|
+
saveOutput?: boolean;
|
|
7
|
+
convertFields?: boolean;
|
|
8
|
+
clean?: boolean;
|
|
9
|
+
force?: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare const uploadCommand: YargsCommandModule<unknown, UploadArgs>;
|
|
12
|
+
export default uploadCommand;
|
package/commands/upload.js
CHANGED
|
@@ -1,236 +1,217 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
const previewUrl = getThemePreviewUrl(filePath, accountId);
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const uploadFolder_1 = require("@hubspot/local-dev-lib/cms/uploadFolder");
|
|
9
|
+
const fileMapper_1 = require("@hubspot/local-dev-lib/fileMapper");
|
|
10
|
+
const fileMapper_2 = require("@hubspot/local-dev-lib/api/fileMapper");
|
|
11
|
+
const path_2 = require("@hubspot/local-dev-lib/path");
|
|
12
|
+
const modules_1 = require("@hubspot/local-dev-lib/cms/modules");
|
|
13
|
+
const ignoreRules_1 = require("@hubspot/local-dev-lib/ignoreRules");
|
|
14
|
+
const themes_1 = require("@hubspot/local-dev-lib/cms/themes");
|
|
15
|
+
const handleFieldsJS_1 = require("@hubspot/local-dev-lib/cms/handleFieldsJS");
|
|
16
|
+
const index_1 = require("../lib/errorHandlers/index");
|
|
17
|
+
const commonOpts_1 = require("../lib/commonOpts");
|
|
18
|
+
const uploadPrompt_1 = require("../lib/prompts/uploadPrompt");
|
|
19
|
+
const promptUtils_1 = require("../lib/prompts/promptUtils");
|
|
20
|
+
const validation_1 = require("../lib/validation");
|
|
21
|
+
const usageTracking_1 = require("../lib/usageTracking");
|
|
22
|
+
const upload_1 = require("../lib/upload");
|
|
23
|
+
const en_1 = require("../lang/en");
|
|
24
|
+
const exitCodes_1 = require("../lib/enums/exitCodes");
|
|
25
|
+
const yargsUtils_1 = require("../lib/yargsUtils");
|
|
26
|
+
const logger_1 = require("../lib/ui/logger");
|
|
27
|
+
const command = 'upload [src] [dest]';
|
|
28
|
+
const describe = en_1.commands.upload.describe;
|
|
29
|
+
function logThemePreview(filePath, accountId) {
|
|
30
|
+
const previewUrl = (0, themes_1.getThemePreviewUrl)(filePath, accountId);
|
|
29
31
|
// Only log if we are actually in a theme
|
|
30
32
|
if (previewUrl) {
|
|
31
|
-
|
|
32
|
-
previewUrl,
|
|
33
|
-
}));
|
|
33
|
+
logger_1.uiLogger.log(en_1.commands.upload.previewUrl(previewUrl));
|
|
34
34
|
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (!validateCmsPublishMode(
|
|
38
|
-
process.exit(EXIT_CODES.WARNING);
|
|
35
|
+
}
|
|
36
|
+
async function handler(args) {
|
|
37
|
+
if (!(0, validation_1.validateCmsPublishMode)(args)) {
|
|
38
|
+
process.exit(exitCodes_1.EXIT_CODES.WARNING);
|
|
39
39
|
}
|
|
40
|
-
const { derivedAccountId } =
|
|
41
|
-
const cmsPublishMode = getCmsPublishMode(
|
|
42
|
-
const uploadPromptAnswers = await uploadPrompt(
|
|
43
|
-
const src =
|
|
44
|
-
const saveOutput =
|
|
45
|
-
let dest =
|
|
46
|
-
let absoluteSrcPath =
|
|
40
|
+
const { derivedAccountId } = args;
|
|
41
|
+
const cmsPublishMode = (0, commonOpts_1.getCmsPublishMode)(args);
|
|
42
|
+
const uploadPromptAnswers = await (0, uploadPrompt_1.uploadPrompt)(args);
|
|
43
|
+
const src = args.src || uploadPromptAnswers.src;
|
|
44
|
+
const saveOutput = args.saveOutput;
|
|
45
|
+
let dest = args.dest || uploadPromptAnswers.dest;
|
|
46
|
+
let absoluteSrcPath = path_1.default.resolve((0, path_2.getCwd)(), src);
|
|
47
47
|
if (!dest) {
|
|
48
|
-
|
|
48
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.destinationRequired);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
// Check for theme.json file and determine the root path for the project based on it if it exists
|
|
52
|
-
const themeJsonPath = getThemeJSONPath(absoluteSrcPath);
|
|
52
|
+
const themeJsonPath = (0, themes_1.getThemeJSONPath)(absoluteSrcPath);
|
|
53
53
|
const projectRoot = themeJsonPath
|
|
54
|
-
?
|
|
55
|
-
:
|
|
54
|
+
? path_1.default.dirname(themeJsonPath)
|
|
55
|
+
: path_1.default.dirname((0, path_2.getCwd)());
|
|
56
56
|
const convertFields = projectRoot &&
|
|
57
|
-
isConvertableFieldJs(projectRoot, absoluteSrcPath,
|
|
57
|
+
(0, handleFieldsJS_1.isConvertableFieldJs)(projectRoot, absoluteSrcPath, args.convertFields);
|
|
58
58
|
let fieldsJs;
|
|
59
59
|
if (convertFields) {
|
|
60
|
-
fieldsJs = await new FieldsJs(projectRoot, absoluteSrcPath, undefined,
|
|
60
|
+
fieldsJs = await new handleFieldsJS_1.FieldsJs(projectRoot, absoluteSrcPath, undefined, args.fieldOptions).init();
|
|
61
61
|
if (fieldsJs.rejected)
|
|
62
62
|
return;
|
|
63
63
|
// Ensures that the dest path is a .json. The user might pass '.js' accidentally - this ensures it just works.
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
if (fieldsJs.outputPath) {
|
|
65
|
+
absoluteSrcPath = fieldsJs.outputPath;
|
|
66
|
+
}
|
|
67
|
+
dest = path_1.default.join(path_1.default.dirname(dest), 'fields.json');
|
|
66
68
|
}
|
|
67
69
|
let stats;
|
|
68
70
|
try {
|
|
69
|
-
stats =
|
|
71
|
+
stats = fs_1.default.statSync(absoluteSrcPath);
|
|
70
72
|
if (!stats.isFile() && !stats.isDirectory()) {
|
|
71
|
-
|
|
72
|
-
path: src,
|
|
73
|
-
}));
|
|
73
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.invalidPath(src));
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
catch (e) {
|
|
78
|
-
|
|
79
|
-
path: src,
|
|
80
|
-
}));
|
|
78
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.invalidPath(src));
|
|
81
79
|
return;
|
|
82
80
|
}
|
|
83
|
-
const normalizedDest = convertToUnixPath(dest);
|
|
84
|
-
trackCommandUsage('upload', { mode: cmsPublishMode, type: stats.isFile() ? 'file' : 'folder' }, derivedAccountId);
|
|
85
|
-
const srcDestIssues = await validateSrcAndDestPaths({ isLocal: true, path: src }, { isHubSpot: true, path: dest });
|
|
81
|
+
const normalizedDest = (0, path_2.convertToUnixPath)(dest);
|
|
82
|
+
(0, usageTracking_1.trackCommandUsage)('upload', { mode: cmsPublishMode, type: stats.isFile() ? 'file' : 'folder' }, derivedAccountId);
|
|
83
|
+
const srcDestIssues = await (0, modules_1.validateSrcAndDestPaths)({ isLocal: true, path: src }, { isHubSpot: true, path: dest });
|
|
86
84
|
if (srcDestIssues.length) {
|
|
87
|
-
srcDestIssues.forEach(({ message }) =>
|
|
88
|
-
process.exit(EXIT_CODES.WARNING);
|
|
85
|
+
srcDestIssues.forEach(({ message }) => logger_1.uiLogger.error(message));
|
|
86
|
+
process.exit(exitCodes_1.EXIT_CODES.WARNING);
|
|
89
87
|
}
|
|
90
88
|
if (stats.isFile()) {
|
|
91
|
-
if (!isAllowedExtension(src) && !convertFields) {
|
|
92
|
-
|
|
93
|
-
path: src,
|
|
94
|
-
}));
|
|
89
|
+
if (!(0, path_2.isAllowedExtension)(src) && !convertFields) {
|
|
90
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.invalidPath(src));
|
|
95
91
|
return;
|
|
96
92
|
}
|
|
97
|
-
if (shouldIgnoreFile(absoluteSrcPath)) {
|
|
98
|
-
|
|
99
|
-
path: src,
|
|
100
|
-
}));
|
|
93
|
+
if ((0, ignoreRules_1.shouldIgnoreFile)(absoluteSrcPath)) {
|
|
94
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.fileIgnored(src));
|
|
101
95
|
return;
|
|
102
96
|
}
|
|
103
|
-
upload(derivedAccountId, absoluteSrcPath, normalizedDest,
|
|
97
|
+
(0, fileMapper_2.upload)(derivedAccountId, absoluteSrcPath, normalizedDest, (0, fileMapper_1.getFileMapperQueryValues)(cmsPublishMode))
|
|
104
98
|
.then(() => {
|
|
105
|
-
|
|
106
|
-
accountId: derivedAccountId,
|
|
107
|
-
dest: normalizedDest,
|
|
108
|
-
src,
|
|
109
|
-
}));
|
|
99
|
+
logger_1.uiLogger.success(en_1.commands.upload.success.fileUploaded(src, normalizedDest, derivedAccountId));
|
|
110
100
|
logThemePreview(src, derivedAccountId);
|
|
111
101
|
})
|
|
112
102
|
.catch(error => {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
src,
|
|
116
|
-
}));
|
|
117
|
-
logError(error, new ApiErrorContext({
|
|
103
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.uploadFailed(src, normalizedDest));
|
|
104
|
+
(0, index_1.logError)(error, new index_1.ApiErrorContext({
|
|
118
105
|
accountId: derivedAccountId,
|
|
119
106
|
request: normalizedDest,
|
|
120
107
|
payload: src,
|
|
121
108
|
}));
|
|
122
|
-
process.exit(EXIT_CODES.WARNING);
|
|
109
|
+
process.exit(exitCodes_1.EXIT_CODES.WARNING);
|
|
123
110
|
})
|
|
124
111
|
.finally(() => {
|
|
125
112
|
if (!convertFields)
|
|
126
113
|
return;
|
|
127
|
-
if (saveOutput) {
|
|
114
|
+
if (saveOutput && fieldsJs) {
|
|
128
115
|
fieldsJs.saveOutput();
|
|
129
116
|
}
|
|
130
|
-
|
|
117
|
+
if (fieldsJs) {
|
|
118
|
+
(0, handleFieldsJS_1.cleanupTmpDirSync)(fieldsJs.rootWriteDir);
|
|
119
|
+
}
|
|
131
120
|
});
|
|
132
121
|
}
|
|
133
122
|
else {
|
|
134
|
-
|
|
135
|
-
accountId: derivedAccountId,
|
|
136
|
-
dest,
|
|
137
|
-
src,
|
|
138
|
-
}));
|
|
123
|
+
logger_1.uiLogger.log(en_1.commands.upload.uploading(src, dest, derivedAccountId));
|
|
139
124
|
// Generate the first-pass file list in here, and pass to uploadFolder.
|
|
140
|
-
const filePaths = await getUploadableFileList(absoluteSrcPath,
|
|
141
|
-
if (
|
|
125
|
+
const filePaths = await (0, upload_1.getUploadableFileList)(absoluteSrcPath, args.convertFields ?? false);
|
|
126
|
+
if (args.clean) {
|
|
142
127
|
// If clean is true, will first delete the dest folder and then upload src. Cleans up files that only exist on HS.
|
|
143
|
-
let cleanUpload =
|
|
144
|
-
if (!
|
|
145
|
-
cleanUpload = await confirmPrompt(
|
|
146
|
-
accountId: derivedAccountId,
|
|
147
|
-
path: dest,
|
|
148
|
-
}), { defaultAnswer: false });
|
|
128
|
+
let cleanUpload = args.force;
|
|
129
|
+
if (!args.force) {
|
|
130
|
+
cleanUpload = await (0, promptUtils_1.confirmPrompt)(en_1.commands.upload.confirmCleanUpload(dest, derivedAccountId), { defaultAnswer: false });
|
|
149
131
|
}
|
|
150
132
|
if (cleanUpload) {
|
|
151
133
|
try {
|
|
152
|
-
await deleteFile(derivedAccountId, dest);
|
|
153
|
-
|
|
154
|
-
accountId: derivedAccountId,
|
|
155
|
-
filePath: dest,
|
|
156
|
-
}));
|
|
134
|
+
await (0, fileMapper_2.deleteFile)(derivedAccountId, dest);
|
|
135
|
+
logger_1.uiLogger.log(en_1.commands.upload.cleaning(dest, derivedAccountId));
|
|
157
136
|
}
|
|
158
137
|
catch (error) {
|
|
159
|
-
|
|
160
|
-
accountId: derivedAccountId,
|
|
161
|
-
path: dest,
|
|
162
|
-
}));
|
|
138
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.deleteFailed(dest, derivedAccountId));
|
|
163
139
|
}
|
|
164
140
|
}
|
|
165
141
|
}
|
|
166
|
-
uploadFolder(derivedAccountId, absoluteSrcPath, dest, {
|
|
167
|
-
|
|
168
|
-
|
|
142
|
+
(0, uploadFolder_1.uploadFolder)(derivedAccountId, absoluteSrcPath, dest, {}, {
|
|
143
|
+
convertFields: args.convertFields,
|
|
144
|
+
// @ts-expect-error - fieldOptions is a string or string[]
|
|
145
|
+
fieldOptions: args.fieldOptions ?? undefined,
|
|
146
|
+
saveOutput: args.saveOutput,
|
|
147
|
+
}, filePaths)
|
|
169
148
|
.then(results => {
|
|
170
|
-
if (!hasUploadErrors(results)) {
|
|
171
|
-
|
|
172
|
-
dest,
|
|
173
|
-
}));
|
|
149
|
+
if (!(0, uploadFolder_1.hasUploadErrors)(results)) {
|
|
150
|
+
logger_1.uiLogger.success(en_1.commands.upload.success.uploadComplete(dest));
|
|
174
151
|
logThemePreview(src, derivedAccountId);
|
|
175
152
|
}
|
|
176
153
|
else {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}));
|
|
180
|
-
process.exit(EXIT_CODES.WARNING);
|
|
154
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.someFilesFailed(dest));
|
|
155
|
+
process.exit(exitCodes_1.EXIT_CODES.WARNING);
|
|
181
156
|
}
|
|
182
157
|
})
|
|
183
158
|
.catch(error => {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
src,
|
|
187
|
-
}));
|
|
188
|
-
logError(error, {
|
|
159
|
+
logger_1.uiLogger.error(en_1.commands.upload.errors.uploadFailed(src, dest));
|
|
160
|
+
(0, index_1.logError)(error, {
|
|
189
161
|
accountId: derivedAccountId,
|
|
190
162
|
});
|
|
191
|
-
process.exit(EXIT_CODES.WARNING);
|
|
163
|
+
process.exit(exitCodes_1.EXIT_CODES.WARNING);
|
|
192
164
|
});
|
|
193
165
|
}
|
|
194
|
-
}
|
|
195
|
-
|
|
166
|
+
}
|
|
167
|
+
function uploadBuilder(yargs) {
|
|
196
168
|
yargs.positional('src', {
|
|
197
|
-
describe:
|
|
169
|
+
describe: en_1.commands.upload.positionals.src,
|
|
198
170
|
type: 'string',
|
|
199
171
|
});
|
|
200
172
|
yargs.positional('dest', {
|
|
201
|
-
describe:
|
|
173
|
+
describe: en_1.commands.upload.positionals.dest,
|
|
202
174
|
type: 'string',
|
|
203
175
|
});
|
|
204
176
|
yargs.option('fieldOptions', {
|
|
205
|
-
describe:
|
|
177
|
+
describe: en_1.commands.upload.options.options,
|
|
206
178
|
type: 'array',
|
|
207
179
|
default: [''],
|
|
208
180
|
hidden: true,
|
|
209
181
|
});
|
|
210
182
|
yargs.option('saveOutput', {
|
|
211
|
-
describe:
|
|
183
|
+
describe: en_1.commands.upload.options.saveOutput,
|
|
212
184
|
type: 'boolean',
|
|
213
185
|
default: false,
|
|
214
186
|
});
|
|
215
187
|
yargs.option('convertFields', {
|
|
216
|
-
describe:
|
|
188
|
+
describe: en_1.commands.upload.options.convertFields,
|
|
217
189
|
type: 'boolean',
|
|
218
190
|
default: false,
|
|
219
191
|
});
|
|
220
192
|
yargs.option('clean', {
|
|
221
|
-
describe:
|
|
193
|
+
describe: en_1.commands.upload.options.clean,
|
|
222
194
|
type: 'boolean',
|
|
223
195
|
default: false,
|
|
224
196
|
});
|
|
225
197
|
yargs.option('force', {
|
|
226
|
-
describe:
|
|
198
|
+
describe: en_1.commands.upload.options.force,
|
|
227
199
|
type: 'boolean',
|
|
228
200
|
default: false,
|
|
229
201
|
});
|
|
230
|
-
addConfigOptions(yargs);
|
|
231
|
-
addAccountOptions(yargs);
|
|
232
|
-
addCmsPublishModeOptions(yargs, { write: true });
|
|
233
|
-
addUseEnvironmentOptions(yargs);
|
|
234
|
-
addGlobalOptions(yargs);
|
|
235
202
|
return yargs;
|
|
203
|
+
}
|
|
204
|
+
const builder = (0, yargsUtils_1.makeYargsBuilder)(uploadBuilder, command, describe, {
|
|
205
|
+
useGlobalOptions: true,
|
|
206
|
+
useConfigOptions: true,
|
|
207
|
+
useAccountOptions: true,
|
|
208
|
+
useEnvironmentOptions: true,
|
|
209
|
+
useCmsPublishModeOptions: true,
|
|
210
|
+
});
|
|
211
|
+
const uploadCommand = {
|
|
212
|
+
command,
|
|
213
|
+
describe,
|
|
214
|
+
handler,
|
|
215
|
+
builder,
|
|
236
216
|
};
|
|
217
|
+
exports.default = uploadCommand;
|
package/commands/watch.d.ts
CHANGED
|
@@ -1 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { AccountArgs, CmsPublishModeArgs, CommonArgs, ConfigArgs, EnvironmentArgs, YargsCommandModule } from '../types/Yargs';
|
|
2
|
+
type WatchCommandArgs = ConfigArgs & AccountArgs & EnvironmentArgs & CommonArgs & CmsPublishModeArgs & {
|
|
3
|
+
src?: string;
|
|
4
|
+
dest?: string;
|
|
5
|
+
fieldOptions?: string[];
|
|
6
|
+
remove?: boolean;
|
|
7
|
+
initialUpload?: boolean;
|
|
8
|
+
disableInitial?: boolean;
|
|
9
|
+
notify?: string;
|
|
10
|
+
convertFields?: boolean;
|
|
11
|
+
saveOutput?: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare const watchCommand: YargsCommandModule<unknown, WatchCommandArgs>;
|
|
14
|
+
export default watchCommand;
|