An advanced url parser supporting git urls too.
$ npm i --save parse-url
// Dependencies
const parseUrl = require("parse-url");
console.log(parseUrl("http://ionicabizau.net/blog"));
// { protocols: [ 'http' ],
// protocol: 'http',
// port: null,
// resource: 'ionicabizau.net',
// user: '',
// pathname: '/blog',
// hash: '',
// search: '',
// href: 'http://ionicabizau.net/blog' }
console.log(parseUrl("http://domain.com/path/name?foo=bar&bar=42#some-hash"));
// { protocols: [ 'http' ],
// protocol: 'http',
// port: null,
// resource: 'domain.com',
// user: '',
// pathname: '/path/name',
// hash: 'some-hash',
// search: 'foo=bar&bar=42',
// href: 'http://domain.com/path/name?foo=bar&bar=42#some-hash' }
console.log(parseUrl("git+ssh://git@host.xz/path/name.git"));
// { protocols: [ 'git', 'ssh' ],
// protocol: 'git',
// port: null,
// resource: 'host.xz',
// user: 'git',
// pathname: '/path/name.git',
// hash: '',
// search: '',
// href: 'git+ssh://git@host.xz/path/name.git' }
console.log(parseUrl("git@github.com:IonicaBizau/git-stats.git"));
// { protocols: [],
// protocol: 'ssh',
// port: null,
// resource: 'github.com',
// user: 'git',
// pathname: '/IonicaBizau/git-stats.git',
// hash: '',
// search: '',
// href: 'git@github.com:IonicaBizau/git-stats.git' }
Parses the input url.
- String
url
: The input url.
- Object An object containing the following fields:
protocols
(Array): An array with the url protocols (usually it has one element).protocol
(String): The first protocol,"ssh"
(if the url is a ssh url) or"file"
.port
(null|Number): The domain port.resource
(String): The url domain (including subdomains).user
(String): The authentication user (usually for ssh urls).pathname
(String): The url pathname.hash
(String): The url hash.search
(String): The url querystring value.href
(String): The input url.
Have an idea? Found a bug? See how to contribute.
If you are using this library in one of your projects, add it in this list. ✨
deploy-versioning
—Deploy your code keeping older versions.git-up
—A low level git url parser.hubot-will-it-connect
(by gambtho)—Connects hubot with willitconnect, to validate CF's ability to connect to external resourceskakapo
(by devlucky)—Next generation mocking framework in Javascriptlien
—Another lightweight NodeJS framework. Lien is the link between request and response objects.microbe.js
(by Brandon Dail)—A small Node.js framework for simple routingtumblr-text
(by cobaimelan)—[
](https://david-dm.org/ayhan
url-local
—Checks if a given url is a local url or not.