@aivec/wp-docker-dev-factory
Version:
Spin up local WordPress environments with Docker.
37 lines (36 loc) • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HOST_OR_PORT_REQUIRED = exports.HOST_INVALID = exports.PORT_INVALID = void 0;
var errors_1 = require("../errors");
var logger_1 = __importDefault(require("../logger"));
exports.PORT_INVALID = 'PortInvalid';
exports.HOST_INVALID = 'HostInvalid';
exports.HOST_OR_PORT_REQUIRED = 'HostOrPortRequired';
var validateFullUrl = function (config) {
if (config.containerPort) {
var port = Number(config.containerPort);
if (port < 1023 || port > 65353) {
var emsg = "Port number ".concat(port, " is out of range. Valid port range: 1023-65353");
logger_1.default.error(emsg);
throw new errors_1.GenericError(exports.PORT_INVALID, emsg);
}
}
if (config.hostName) {
var host = String(config.hostName);
var hpieces = host.split('.');
if (hpieces[hpieces.length - 1] !== 'localhost') {
var emsg = "Expected ".concat(logger_1.default.yellow('hostName'), " to be a sub-domain of localhost (eg. test.wp.localhost). Got ").concat(host);
logger_1.default.error(emsg);
throw new errors_1.GenericError(exports.HOST_INVALID, emsg);
}
}
if (!config.containerPort && !config.hostName) {
var emsg = "At least one of ".concat(logger_1.default.yellow('containerPort'), " or ").concat(logger_1.default.yellow('hostName'), " is required.");
logger_1.default.error(emsg);
throw new errors_1.GenericError(exports.HOST_OR_PORT_REQUIRED, emsg);
}
};
exports.default = validateFullUrl;