UNPKG

@forestadmin/forest-cloud

Version:

Utility to bootstrap and publish forest admin cloud projects customization

54 lines 5.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const action_runner_1 = __importDefault(require("../dialogs/action-runner")); const ask_to_overwrite_customizations_1 = __importDefault(require("../dialogs/ask-to-overwrite-customizations")); const check_latest_version_1 = __importDefault(require("../dialogs/check-latest-version")); const errors_1 = require("../errors"); const environment_variables_1 = require("../services/environment-variables"); const http_server_1 = __importDefault(require("../services/http-server")); const publish_1 = __importDefault(require("../services/publish")); const shared_1 = require("../shared"); const askToOverwriteCustomizationsOrAbortCommand = async (logger, httpServer) => { if (!(await (0, ask_to_overwrite_customizations_1.default)(logger.spinner, httpServer.getLastPublishedCodeDetails.bind(httpServer)))) { throw new errors_1.BusinessError('Operation aborted'); } }; exports.default = (program, context) => { const { logger, getCurrentVersion, distPathManager, buildEventSubscriber, buildHttpServer, getEnvironmentVariables, login, } = context; const { spinner } = logger; program .command('publish') .description('Publish your code customizations') .option('-f, --force', 'Force the publication without asking for confirmation') .action((0, action_runner_1.default)(spinner, async (options) => { await (0, check_latest_version_1.default)(spinner, getCurrentVersion(), http_server_1.default.getLatestVersion); spinner.start('Publishing code customizations'); const vars = await (0, shared_1.loginIfMissingAuthAndReturnEnvironmentVariables)(login, logger, getEnvironmentVariables); (0, environment_variables_1.validateEnvironmentVariables)(vars); const httpServer = buildHttpServer(vars); if (!options.force) await askToOverwriteCustomizationsOrAbortCommand(logger, httpServer); spinner.start('Publishing code customizations'); const subscriptionId = await (0, publish_1.default)(httpServer, distPathManager); const subscriber = buildEventSubscriber(vars); try { const { error } = await subscriber.subscribeToCodeCustomization(subscriptionId); if (error) { spinner.fail(`Something went wrong: ${error}`); } else { spinner.succeed('Code customizations published'); } } catch (error) { throw new errors_1.BusinessError(error.message); } finally { subscriber.destroy(); } })); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9wdWJsaXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsNkVBQW9EO0FBQ3BELGlIQUFzRjtBQUN0RiwyRkFBaUU7QUFDakUsc0NBQTBDO0FBQzFDLDZFQUFpRjtBQUNqRiwwRUFBaUQ7QUFDakQsa0VBQTBDO0FBQzFDLHNDQUE0RTtBQUc1RSxNQUFNLDBDQUEwQyxHQUFHLEtBQUssRUFDdEQsTUFBYyxFQUNkLFVBQXNCLEVBQ1AsRUFBRTtJQUNqQixJQUNFLENBQUMsQ0FBQyxNQUFNLElBQUEseUNBQTRCLEVBQ2xDLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsVUFBVSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDeEQsQ0FBQyxFQUNGO1FBQ0EsTUFBTSxJQUFJLHNCQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQUM5QztBQUNILENBQUMsQ0FBQztBQUVGLGtCQUFlLENBQUMsT0FBZ0IsRUFBRSxPQUFxQixFQUFFLEVBQUU7SUFDekQsTUFBTSxFQUNKLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLEtBQUssR0FDTixHQUFHLE9BQU8sQ0FBQztJQUNaLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFM0IsT0FBTztTQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUM7U0FDbEIsV0FBVyxDQUFDLGtDQUFrQyxDQUFDO1NBQy9DLE1BQU0sQ0FBQyxhQUFhLEVBQUUsdURBQXVELENBQUM7U0FDOUUsTUFBTSxDQUNMLElBQUEsdUJBQVksRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQTJCLEVBQUUsRUFBRTtRQUMxRCxNQUFNLElBQUEsOEJBQWtCLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEVBQUUscUJBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBGLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsd0RBQStDLEVBQ2hFLEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLENBQ3hCLENBQUM7UUFDRixJQUFBLG9EQUE0QixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFBRSxNQUFNLDBDQUEwQyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDaEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLElBQUk7WUFDRixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxVQUFVLENBQUMsNEJBQTRCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFaEYsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7YUFDbEQ7U0FDRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLHNCQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO2dCQUFTO1lBQ1IsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNOLENBQUMsQ0FBQyJ9