UNPKG

@aivec/wp-docker-dev-factory

Version:

Spin up local WordPress environments with Docker.

54 lines (53 loc) 2.87 kB
"use strict"; 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 errors_1 = require("../errors"); var validateSSHMeta = function (sshMeta, filepath) { if (!sshMeta.host) { logger_1.default.logContext(sshMeta); logger_1.default.syntaxError("".concat(logger_1.default.yellow('host'), " is not defined."), filepath); throw new errors_1.GenericError(errors_1.ERR_PROPERTY_REQUIRED, 'host is not defined'); } if (!sshMeta.user) { logger_1.default.logContext(sshMeta); logger_1.default.syntaxError("".concat(logger_1.default.yellow('user'), " is not defined."), filepath); throw new errors_1.GenericError(errors_1.ERR_PROPERTY_REQUIRED, 'user is not defined'); } if (!sshMeta.privateKeyPath) { logger_1.default.logContext(sshMeta); logger_1.default.syntaxError("".concat(logger_1.default.yellow('privateKeyPath'), " is not defined."), filepath); throw new errors_1.GenericError(errors_1.ERR_PROPERTY_REQUIRED, 'privateKeyPath is not defined'); } var keypath = (0, utils_1.resolvePathToAbsolute)(path_1.default.dirname(filepath), sshMeta.privateKeyPath); if (!(0, fs_1.existsSync)(keypath)) { logger_1.default.error("SSH key at ".concat(logger_1.default.yellow(keypath), " does not exist.")); throw new errors_1.GenericError(errors_1.ERR_FILE_NOT_FOUND, "SSH key at ".concat(keypath, " does not exist.")); } }; var validateSSHConfig = function (ssh, workingdir) { ssh.forEach(function (sshConfig) { if (sshConfig.confpath) { var p = (0, utils_1.resolvePathToAbsolute)(workingdir, sshConfig.confpath); var sshMeta = JSON.parse((0, fs_1.readFileSync)(p, 'utf8')); validateSSHMeta(sshMeta, p); } else { if ((0, fs_1.existsSync)("".concat(constants_1.serverConfigsDirpath, "/").concat(sshConfig.confname, ".json"))) { var sshMeta = JSON.parse((0, fs_1.readFileSync)("".concat(constants_1.serverConfigsDirpath, "/").concat(sshConfig.confname, ".json"), 'utf8')); validateSSHMeta(sshMeta, "".concat(constants_1.serverConfigsDirpath, "/").concat(sshConfig.confname, ".json")); } else { var allConfigs = JSON.parse((0, fs_1.readFileSync)(constants_1.sshConfigsFilepath, 'utf8')); validateSSHMeta(allConfigs[sshConfig.confname], constants_1.sshConfigsFilepath); } } }); }; exports.default = validateSSHConfig;