UNPKG

@aivec/wp-docker-dev-factory

Version:

Spin up local WordPress environments with Docker.

85 lines (84 loc) 5.12 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 utils_1 = require("../utils"); var logger_1 = __importDefault(require("../logger")); var constants_1 = require("../constants"); var os_1 = require("os"); var validatePrivateRemoteFilesConfig = function (prfconfigs, confkey) { var prfConfFileName = "".concat(confkey, ".json"); var prfConfFilePath = "".concat(constants_1.serverConfigsDirpath, "/").concat(prfConfFileName); prfconfigs.forEach(function (prfconfig, index) { if (!(0, utils_1.isObject)(prfconfig)) { logger_1.default.logContext(prfconfig); logger_1.default.syntaxError("".concat(confkey, " config value at index ").concat(logger_1.default.yellow(index), " is not an object."), constants_1.instanceConfFilename); process.exit(1); } if (prfconfig.plugins && !Array.isArray(prfconfig.plugins)) { logger_1.default.logContext(prfconfig); logger_1.default.error("".concat(logger_1.default.yellow('plugins'), " is not an array")); process.exit(1); } if (prfconfig.themes && !Array.isArray(prfconfig.themes)) { logger_1.default.logContext(prfconfig); logger_1.default.error("".concat(logger_1.default.yellow('themes'), " is not an array")); process.exit(1); } if (prfconfig.confpath) { var p = prfconfig.confpath; if (path_1.default.isAbsolute(p)) { p = "".concat((0, os_1.homedir)()).concat(p); } if (!(0, fs_1.existsSync)(p)) { logger_1.default.error("No such file exists: ".concat(logger_1.default.yellow(p))); process.exit(1); } } else { if (!prfconfig.confname) { logger_1.default.logContext(prfconfig); logger_1.default.syntaxError("".concat(logger_1.default.yellow('confname'), " in ").concat(confkey, " config at index ").concat(logger_1.default.yellow(index), " is not defined."), constants_1.instanceConfFilename); process.exit(1); } if ((0, fs_1.existsSync)("".concat(constants_1.serverConfigsDirpath, "/").concat(prfconfig.confname, ".json"))) { try { JSON.parse((0, fs_1.readFileSync)("".concat(constants_1.serverConfigsDirpath, "/").concat(prfconfig.confname, ".json"), 'utf8')); } catch (err) { logger_1.default.error(err); process.exit(1); } } else if ((0, fs_1.existsSync)(prfConfFilePath)) { try { var allConfigs = JSON.parse((0, fs_1.readFileSync)(prfConfFilePath, 'utf8')); if (!allConfigs[prfconfig.confname]) { logger_1.default.logContext(allConfigs); logger_1.default.syntaxError("".concat(logger_1.default.yellow(prfconfig.confname), " is not defined in ").concat(logger_1.default.yellow(prfConfFilePath), ". Either create a new file named ").concat(logger_1.default.yellow("".concat(prfconfig.confname, ".json")), " in ").concat(logger_1.default.yellow(constants_1.serverConfigsDirpath), ", or add ").concat(logger_1.default.yellow(prfconfig.confname), " to ").concat(logger_1.default.yellow(prfConfFileName), "."), prfConfFileName); process.exit(1); } if (!(0, utils_1.isObject)(allConfigs[prfconfig.confname])) { logger_1.default.logContext(allConfigs); logger_1.default.syntaxError("".concat(logger_1.default.yellow(prfconfig.confname), " is defined in ").concat(logger_1.default.yellow(prfConfFilePath), " but it is not an object."), prfConfFileName); process.exit(1); } } catch (err) { logger_1.default.error(err); process.exit(1); } } else { logger_1.default.logContext(prfconfig); var ftpfile = "".concat(prfconfig.confname, ".json"); logger_1.default.error("A file named ".concat(logger_1.default.yellow(ftpfile), " nor a file named ").concat(logger_1.default.yellow(prfConfFileName), " exists in ").concat(logger_1.default.yellow(constants_1.serverConfigsDirpath), ". Either create a new file named ").concat(logger_1.default.yellow(ftpfile), " in ").concat(logger_1.default.yellow(constants_1.serverConfigsDirpath), ", or create a ").concat(logger_1.default.yellow(prfConfFileName), " file with ").concat(logger_1.default.yellow(prfconfig.confname), " as a key.")); process.exit(1); } } }); }; exports.default = validatePrivateRemoteFilesConfig;