JSPM

  • Created
  • Published
  • Downloads 34216841
  • Score
    100M100P100Q228787F
  • License MIT

Normalize a URL

Package Exports

  • normalize-url

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (normalize-url) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

normalize-url Build Status

Normalize a URL

Useful when you need to display, store, deduplicate, sort, compare, etc, URLs.

Install

$ npm install --save normalize-url

Usage

const normalizeUrl = require('normalize-url');

normalizeUrl('sindresorhus.com');
//=> 'http://sindresorhus.com'

normalizeUrl('HTTP://xn--xample-hva.com:80/?b=bar&a=foo');
//=> 'http://êxample.com/?a=foo&b=bar'

API

normalizeUrl(url, [options])

url

Type: String

URL to normalize.

options

normalizeProtocol

Type: Boolean
Default: true

Prepend http: to the URL if it's protocol-relative.

normalizeUrl('//sindresorhus.com:80/');
//=> 'http://sindresorhus.com'

normalizeUrl('//sindresorhus.com:80/', {normalizeProtocol: false});
//=> '//sindresorhus.com'
stripFragment

Type: Boolean
Default: true

Remove the fragment at the end of the URL.

normalizeUrl('sindresorhus.com/about.html#contact');
//=> 'http://sindresorhus.com/about.html'

normalizeUrl('sindresorhus.com/about.html#contact', {stripFragment: false});
//=> 'http://sindresorhus.com/about.html#contact'
stripWWW

Type: Boolean
Default: true

Remove www. from the URL.

normalizeUrl('http://www.sindresorhus.com/about.html#contact');
//=> 'http://sindresorhus.com/about.html#contact'

normalizeUrl('http://www.sindresorhus.com/about.html#contact', {stripWWW: false});
//=> 'http://www.sindresorhus.com/about.html#contact'
removeQueryParameters

Type: Array<RegExp|String>
Default: [/^utm_\w+/i]

Remove query parameters that matches any of the provided strings or regexes.

normalizeUrl('www.sindresorhus.com?foo=bar&ref=test_ref', {
    ignoredQueryParameters: ['ref']
});
//=> 'http://sindresorhus.com/?foo=bar'

License

MIT © Sindre Sorhus