@forestadmin/forest-cloud
Version:
Utility to bootstrap and publish forest admin cloud projects customization
54 lines • 5.17 kB
JavaScript
;
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