@forestadmin/forest-cloud
Version:
Utility to bootstrap and publish forest admin cloud projects customization
54 lines • 5.25 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9wdWJsaXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsNkVBQW9EO0FBQ3BELGlIQUFzRjtBQUN0RiwyRkFBaUU7QUFDakUsc0NBQTBDO0FBQzFDLDZFQUFpRjtBQUNqRiwwRUFBaUQ7QUFDakQsa0VBQTBDO0FBQzFDLHNDQUE0RTtBQUU1RSxNQUFNLDBDQUEwQyxHQUFHLEtBQUssRUFDdEQsTUFBYyxFQUNkLFVBQXNCLEVBQ1AsRUFBRTtJQUNqQixJQUNFLENBQUMsQ0FBQyxNQUFNLElBQUEseUNBQTRCLEVBQ2xDLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsVUFBVSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDeEQsQ0FBQyxFQUNGLENBQUM7UUFDRCxNQUFNLElBQUksc0JBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixrQkFBZSxDQUFDLE9BQWdCLEVBQUUsT0FBcUIsRUFBRSxFQUFFO0lBQ3pELE1BQU0sRUFDSixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixLQUFLLEdBQ04sR0FBRyxPQUFPLENBQUM7SUFDWixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTNCLE9BQU87U0FDSixPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2xCLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQztTQUMvQyxNQUFNLENBQUMsYUFBYSxFQUFFLHVEQUF1RCxDQUFDO1NBQzlFLE1BQU0sQ0FDTCxJQUFBLHVCQUFZLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUEyQixFQUFFLEVBQUU7UUFDMUQsTUFBTSxJQUFBLDhCQUFrQixFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxFQUFFLHFCQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVwRixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLHdEQUErQyxFQUNoRSxLQUFLLEVBQ0wsTUFBTSxFQUNOLHVCQUF1QixDQUN4QixDQUFDO1FBQ0YsSUFBQSxvREFBNEIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQUUsTUFBTSwwQ0FBMEMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFekYsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxVQUFVLENBQUMsNEJBQTRCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFaEYsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLHNCQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLENBQUM7Z0JBQVMsQ0FBQztZQUNULFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNOLENBQUMsQ0FBQyJ9