Parse Domains
This module is a complete rewrite of parse-domains version 1.x.x in order to make use of Mozilla's fantastic publicsuffix list.
It was written while benchmarking against tldts which is super fast but has to be updated with every new suffix added to the public suffix list.
Instead, this module automatically downloads the public list once a day only as recommended by publicsuffix.org. The new list is then loaded to memory once to keep the library super fast.
Generally, parsing most domains takes less than one millisecond. While not as fast as tldts, it parses in 1ms or less and you will never have to upgrade the module to a higher version just to get the latest suffixes.
Usage
async () => {
let parse = require('parse-domains');
// notice this method returns a promise
// So either use the async/await pattern or the Promise.then pattern
let resp = await parse('http://www.google.co.uk');
console.log(resp);
};
This will log:
{
tld: 'co.uk',
domain: 'google.co.uk',
subdomain: 'www',
siteName: 'google',
href: 'http://www.google.co.uk/',
hostname: 'www.google.co.uk',
protocol: 'http:'
}