sardines-shoal
Version:
A built-in service provider for sardines.js
76 lines (75 loc) • 3.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRepositoryEntiryAddressesFromDeployPlan = exports.getServiceDefinitionsMap = exports.parseDeployPlanFile = exports.rmdir = void 0;
var fs = require("fs");
var path = require("path");
var sardines_core_1 = require("sardines-core");
exports.rmdir = function (dir) {
if (fs.lstatSync(dir).isDirectory()) {
for (var _i = 0, _a = fs.readdirSync(dir); _i < _a.length; _i++) {
var item = _a[_i];
var subFilePath = path.join(dir, "./" + item);
if (fs.lstatSync(subFilePath).isDirectory()) {
exports.rmdir(subFilePath);
}
else {
fs.unlinkSync(subFilePath);
}
}
fs.rmdirSync(dir);
}
else if (fs.lstatSync(dir).isFile()) {
fs.unlinkSync(dir);
}
};
exports.parseDeployPlanFile = function (filepath, verbose) {
if (verbose === void 0) { verbose = false; }
if (!fs.existsSync(filepath)) {
console.error("Can not access file " + filepath);
throw sardines_core_1.utils.unifyErrMesg("Can not access file " + filepath, 'deployer', 'settings file');
}
var plan = null;
try {
plan = JSON.parse(fs.readFileSync(filepath).toString());
if (verbose)
console.log("loaded provider setting file " + filepath);
}
catch (e) {
if (verbose)
console.error("ERROR when reading and parsing provider setting file " + filepath, e);
throw sardines_core_1.utils.unifyErrMesg("ERROR when reading and parsing provider setting file " + filepath + ": " + e, 'deployer', 'settings file');
}
return plan;
};
exports.getServiceDefinitionsMap = function (applications) {
if (!applications && !Array.isArray(applications))
return null;
var appMap = new Map();
for (var _i = 0, applications_1 = applications; _i < applications_1.length; _i++) {
var servDefs = applications_1[_i];
if (!servDefs.application || typeof servDefs.application !== 'string')
continue;
if (!servDefs || !servDefs.services || !Array.isArray(servDefs.services) || servDefs.services.length === 0)
continue;
var serviceMap = new Map();
appMap.set(servDefs.application, serviceMap);
for (var _a = 0, _b = servDefs.services; _a < _b.length; _a++) {
var service = _b[_a];
var servId = service.module + "/" + service.name;
serviceMap.set(servId, service);
}
}
return appMap;
};
exports.getRepositoryEntiryAddressesFromDeployPlan = function (deployPlan) {
var providers = [];
if (deployPlan && deployPlan.providers) {
for (var _i = 0, _a = deployPlan.providers; _i < _a.length; _i++) {
var provider = _a[_i];
if (provider.providerSettings && provider.providerSettings.public && provider.code && provider.code.name) {
providers.push(provider.providerSettings.public);
}
}
}
return providers;
};