@aivec/wp-docker-dev-factory
Version:
Spin up local WordPress environments with Docker.
77 lines (76 loc) • 3.86 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var path_1 = __importDefault(require("path"));
var fs_1 = require("fs");
var logger_1 = __importDefault(require("../logger"));
var constants_1 = require("../constants");
var utils_1 = require("../utils");
var buildSSHConfig = function (ssh, workingdir) {
var finalSSHConfig = [];
ssh.forEach(function (sshConfig) {
if (sshConfig.confpath) {
try {
var p = (0, utils_1.resolvePathToAbsolute)(workingdir, sshConfig.confpath);
var sshMeta = JSON.parse((0, fs_1.readFileSync)(p, 'utf8'));
sshMeta.privateKeyPath = (0, utils_1.resolvePathToAbsolute)(path_1.default.dirname(p), sshMeta.privateKeyPath);
sshMeta.privateKeyFilename = path_1.default.basename(sshMeta.privateKeyPath);
finalSSHConfig = __spreadArray(__spreadArray([], finalSSHConfig, true), [__assign(__assign({}, sshConfig), sshMeta)], false);
}
catch (err) {
logger_1.default.error(err);
process.exit(1);
}
}
else {
if ((0, fs_1.existsSync)("".concat(constants_1.serverConfigsDirpath, "/").concat(sshConfig.confname, ".json"))) {
try {
var sshMeta = JSON.parse((0, fs_1.readFileSync)("".concat(constants_1.serverConfigsDirpath, "/").concat(sshConfig.confname, ".json"), 'utf8'));
sshMeta.privateKeyPath = (0, utils_1.resolvePathToAbsolute)(constants_1.serverConfigsDirpath, sshMeta.privateKeyPath);
sshMeta.privateKeyFilename = path_1.default.basename(sshMeta.privateKeyPath);
finalSSHConfig = __spreadArray(__spreadArray([], finalSSHConfig, true), [__assign(__assign({}, sshConfig), sshMeta)], false);
}
catch (err) {
logger_1.default.error(err);
process.exit(1);
}
}
else if ((0, fs_1.existsSync)(constants_1.sshConfigsFilepath)) {
try {
var allConfigs = JSON.parse((0, fs_1.readFileSync)(constants_1.sshConfigsFilepath, 'utf8'));
allConfigs[sshConfig.confname].privateKeyPath = (0, utils_1.resolvePathToAbsolute)(constants_1.serverConfigsDirpath, allConfigs[sshConfig.confname].privateKeyPath);
allConfigs[sshConfig.confname].privateKeyFilename = path_1.default.basename(allConfigs[sshConfig.confname].privateKeyPath);
finalSSHConfig = __spreadArray(__spreadArray([], finalSSHConfig, true), [__assign(__assign({}, sshConfig), allConfigs[sshConfig.confname])], false);
}
catch (err) {
logger_1.default.error(err);
process.exit(1);
}
}
}
});
return finalSSHConfig;
};
exports.default = buildSSHConfig;