@metacall/deploy
Version:
Tool for deploying into MetaCall FaaS platform.
32 lines (31 loc) • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.force = void 0;
const args_1 = __importDefault(require("./cli/args"));
const messages_1 = require("./cli/messages");
const delete_1 = require("./delete");
const force = async (api) => {
var _a;
(0, messages_1.info)('Trying to deploy forcefully!');
const suffix = args_1.default['addrepo']
? (_a = args_1.default['addrepo']) === null || _a === void 0 ? void 0 : _a.split('com/')[1].split('/').join('-')
: args_1.default['projectName'].toLowerCase();
let res = '';
try {
const repoSubscriptionDetails = (await api.listSubscriptionsDeploys()).filter(dep => dep.deploy === suffix);
const repo = (await api.inspect()).filter(dep => dep.suffix == suffix);
if (repo) {
res = await (0, delete_1.del)(repo[0].prefix, repo[0].suffix, repo[0].version, api);
args_1.default['plan'] = repoSubscriptionDetails[0].plan;
}
}
catch (e) {
(0, messages_1.error)('Deployment Aborted because this directory is not being used by any applications.');
}
return res;
};
exports.force = force;
// One improvement can be done is, if with force flag, a person tries to deploy an app, and the app is not present actually there then it should behave as normal deployment procedure