You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict';
const url = require('url'); const ip = require('internal-ip');
function createDomain(options, server) { const protocol = options.https ? 'https' : 'http'; const hostname = options.useLocalIp ? ip.v4.sync() || 'localhost' : options.host || 'localhost';
// eslint-disable-next-line no-nested-ternary
const port = options.socket ? 0 : server ? server.address().port : 0; // use explicitly defined public url
// (prefix with protocol if not explicitly given)
if (options.public) { return /^[a-zA-Z]+:\/\//.test(options.public) ? `${options.public}` : `${protocol}://${options.public}`; } // the formatted domain (url without path) of the webpack server
return url.format({ protocol, hostname, port, }); }
module.exports = createDomain;
|