url-parse-lax
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/url-parse-lax package

    5.0.0 • Public • Published

    url-parse-lax

    Lax url.parse() with support for protocol-less URLs & IPs

    Install

    $ npm install url-parse-lax
    

    Usage

    import urlParseLax from 'url-parse-lax';
    
    urlParseLax('sindresorhus.com');
    /*
    {
    	protocol: 'https:',
    	slashes: true,
    	auth: null,
    	host: 'sindresorhus.com',
    	port: null,
    	hostname: 'sindresorhus.com',
    	hash: null,
    	search: null,
    	query: null,
    	pathname: '/',
    	path: '/',
    	href: 'https://sindresorhus.com/'
    }
    */
    
    urlParseLax('[2001:db8::]:8000');
    /*
    {
    	protocol: null,
    	slashes: true,
    	auth: null,
    	host: '[2001:db8::]:8000',
    	port: '8000',
    	hostname: '2001:db8::',
    	hash: null,
    	search: null,
    	query: null,
    	pathname: '/',
    	path: '/',
    	href: 'http://[2001:db8::]:8000/'
    }
    */

    And with the built-in url.parse():

    import url from 'url';
    
    url.parse('sindresorhus.com');
    /*
    {
    	protocol: null,
    	slashes: null,
    	auth: null,
    	host: null,
    	port: null,
    	hostname: null,
    	hash: null,
    	search: null,
    	query: null,
    	pathname: 'sindresorhus',
    	path: 'sindresorhus',
    	href: 'sindresorhus'
    }
    */
    
    url.parse('[2001:db8::]:8000');
    /*
    {
    	protocol: null,
    	slashes: null,
    	auth: null,
    	host: null,
    	port: null,
    	hostname: null,
    	hash: null,
    	search: null,
    	query: null,
    	pathname: '[2001:db8::]:8000',
    	path: '[2001:db8::]:8000',
    	href: '[2001:db8::]:8000'
    }
    */

    API

    urlParseLax(url, options?)

    url

    Type: string

    The URL to parse.

    options

    Type: object

    https

    Type: boolean
    Default: true

    Prepend https:// instead of http:// to protocol-less URLs.

    Related

    • url-format-lax - Lax url.format() that formats a hostname and port into IPv6-compatible socket form of hostname:port

    Get professional support for this package with a Tidelift subscription
    Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies.

    Install

    npm i url-parse-lax

    DownloadsWeekly Downloads

    14,603,536

    Version

    5.0.0

    License

    MIT

    Unpacked Size

    4.52 kB

    Total Files

    4

    Last publish

    Collaborators

    • sindresorhus