"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidDomain = isValidDomain; /** * A simple test to determine if a hostname is a properly-formatted domain name * * A "valid domain" is defined here: https://url.spec.whatwg.org/#valid-domain * * Regex was originally sourced from here, then remixed to add punycode support: * https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html */ function isValidDomain(hostname) { return ( // Consider localhost valid as well since it's okay wrt Secure Contexts hostname === 'localhost' || // Support punycode (ACE) or ascii labels and domains /^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(hostname)); }