{"_id":"normalizeurl","_rev":"14-f625acfc1603a73e7c58dcf1dbd98717","name":"normalizeurl","description":"Normalize a url or url fragment by percent-encoding exactly the chars encodeURIComponent does","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"normalizeurl","version":"0.1.0","description":"Normalize a url or url fragment by percent-encoding exactly the chars encodeURIComponent does","main":"lib/normalizeUrl.js","scripts":{"test":"mocha --recursive"},"keywords":["url","normalize","normalization","percent","encoding","href"],"author":{"name":"Andreas Lind Petersen","email":"andreas@one.com"},"license":"BSD","devDependencies":{"mocha":"=1.13.0","unexpected":"=1.0.1"},"dependencies":{"underscore":"~1.5.2"},"_id":"normalizeurl@0.1.0","dist":{"shasum":"e313ca80a79e6387643729a83dc34aa4cca8ae97","tarball":"https://registry.npmjs.org/normalizeurl/-/normalizeurl-0.1.0.tgz","integrity":"sha512-xqwwI7x2iGE8Sb516SRsIICBpIXvcZqpC82VGOVluPkJ6yc4zYrYgqH8NavGg/nL87gLhrwRt32CNg7pWpJBWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFapEQxmfK9sdktW1vobx4HEE7Dbp7wEhQ2mlE/mMf/EAiEAu0R+6HU8e0VFkO9+RZoPWA4lPiD8ShMKefzt+6Jy+JM="}]},"_from":".","_npmVersion":"1.2.10","_npmUser":{"name":"papandreou","email":"andreas@one.com"},"maintainers":[{"name":"papandreou","email":"andreas@one.com"}]},"0.1.1":{"name":"normalizeurl","version":"0.1.1","description":"Normalize a url or url fragment by percent-encoding exactly the chars encodeURIComponent does","main":"lib/normalizeUrl.js","scripts":{"test":"mocha --recursive"},"keywords":["url","normalize","normalization","percent","encoding","href"],"author":{"name":"Andreas Lind Petersen","email":"andreas@one.com"},"license":"BSD","devDependencies":{"mocha":"=1.13.0","unexpected":"=1.0.1"},"dependencies":{"underscore":"~1.5.2"},"_id":"normalizeurl@0.1.1","dist":{"shasum":"649c7a7bb978c904d79f0dbe0712578899f18228","tarball":"https://registry.npmjs.org/normalizeurl/-/normalizeurl-0.1.1.tgz","integrity":"sha512-BTo2RJUuUNdc6RjIBUCgq5I4Q69Q4w0cUrg2lMLPLt8O6hkNAwdP1LPKoLF/1kzisoLuIuLmvC4xasNwQ7KOOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxWEkAdPJ/F7XepgndfDG9EGUoymf7Lau/rP06n08DjAiAsL87S/P1kCBDQUB+QexcMA47vaReYFBRMq2K6XQgwrQ=="}]},"_from":".","_npmVersion":"1.2.10","_npmUser":{"name":"papandreou","email":"andreas@one.com"},"maintainers":[{"name":"papandreou","email":"andreas@one.com"}]},"0.1.2":{"name":"normalizeurl","version":"0.1.2","description":"Normalize a url or url fragment by percent-encoding exactly the chars encodeURIComponent does","main":"lib/normalizeUrl.js","scripts":{"test":"mocha --recursive"},"keywords":["url","normalize","normalization","percent","encoding","href"],"author":{"name":"Andreas Lind Petersen","email":"andreas@one.com"},"license":"BSD","devDependencies":{"mocha":"=1.17.1","unexpected":"=2.1.0"},"_id":"normalizeurl@0.1.2","dist":{"shasum":"91829ff641e27045c8fa2c664e7f38ec28438a70","tarball":"https://registry.npmjs.org/normalizeurl/-/normalizeurl-0.1.2.tgz","integrity":"sha512-KA6zQS25tZ+kyjVheitolnSgYny1iTKv+vnIJSXiTpVtNAbhtfLJffWuIYOb1c3Ojt/0HpTDONHRD9E2cYX/OA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC0xt6k/kFSnUdXXDbk+bRhRXOKbsumDQ6cyVFNHqLqpAiEAuW45Fu2VyqJQICjrzkSEYN3r5iNtFe09DRIW7j29MiM="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"papandreou","email":"andreas@one.com"},"maintainers":[{"name":"papandreou","email":"andreas@one.com"}]},"0.1.3":{"name":"normalizeurl","version":"0.1.3","description":"Normalize a url or url fragment by percent-encoding exactly the chars encodeURIComponent does","main":"lib/normalizeUrl.js","scripts":{"test":"mocha --recursive"},"keywords":["url","normalize","normalization","percent","encoding","href"],"author":{"name":"Andreas Lind Petersen","email":"andreas@one.com"},"license":"BSD","devDependencies":{"mocha":"=1.20.1","unexpected":"=3.2.2"},"_id":"normalizeurl@0.1.3","dist":{"shasum":"ecbee7b428219a59971557a97f9b50f0e6ce8071","tarball":"https://registry.npmjs.org/normalizeurl/-/normalizeurl-0.1.3.tgz","integrity":"sha512-YymhcaKupGv/HCmMNK5p7sep62NZYf+jf9DfI7SBEbToHPknOL9Oiui2JaDWi+CA2Xa/1qKWaXz8Khryww26Mw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7Zb53sp07Cm5PQtAFL4BvWJff0127oA053Vko6V2rPAiEA3kUZTEzl/yzHsy7Za/Y/c/3nqCGkHFw5dqoxD3AZAUM="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"papandreou","email":"andreas@one.com"},"maintainers":[{"name":"papandreou","email":"andreas@one.com"}]},"1.0.0":{"name":"normalizeurl","version":"1.0.0","description":"Normalize a url or url fragment by percent-encoding exactly the chars encodeURIComponent does","main":"lib/normalizeUrl.js","scripts":{"test":"mocha --recursive"},"keywords":["url","normalize","normalization","percent","encoding","href"],"author":{"name":"Andreas Lind Petersen","email":"andreas@one.com"},"license":"BSD","devDependencies":{"mocha":"2.4.5","unexpected":"10.13.2"},"gitHead":"07725d61d34dec15acc7afded1fa7f3f31c435b6","_id":"normalizeurl@1.0.0","_shasum":"4b1a458cd0c7d0856436f69c6b51047ab6855317","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"papandreou","email":"andreas@one.com"},"dist":{"shasum":"4b1a458cd0c7d0856436f69c6b51047ab6855317","tarball":"https://registry.npmjs.org/normalizeurl/-/normalizeurl-1.0.0.tgz","integrity":"sha512-GyndB0rq1FmO49Vwy88c3jzp5G3OnjEbwVlm+vst+P5ANKQVtm+2682qgRptcZeZvU1I2E5RgCeZirqLuUQQEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoYMhL+2gsu9ulrQTf/DDZJgxchNfvI3I/zUJ81m83kwIhAMblpgwtsiGDR51bbr3y9mfB/mXJfpgHrxONRa7UE7Lu"}]},"maintainers":[{"name":"papandreou","email":"andreas@one.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/normalizeurl-1.0.0.tgz_1471593971449_0.20894991979002953"}}},"readme":"# normalizeurl\n\nNormalize a url or url fragment by percent-encoding exactly the chars\nencodeURIComponent does and removing `/./` and `/foo/../` constructs\nlike `require('path').resolve` does.\n\nExample:\n\n```javascript\nvar normalizeUrl = require('normalizeurl');\n\nconsole.log(normalizeUrl('http://example.com/%7efoo%2Ebar'));\n// => 'http://example.com/~foo.bar'\n\nconsole.log(normalizeUrl('http://example.com/foo/./bar/quux/../blah'));\n// => 'http://example.com/foo/bar/blah'\n```\n\nIt also does the right thing for relative, root-relative, and protocol-relative urls:\n```javascript\nconsole.log(normalizeUrl('foo/bar/../blah'));\n// => 'foo/bar/blah'\n\nconsole.log(normalizeUrl('/hey/there/../you?blah?#foo%7e'));\n// => '/hey/you?blah?#foo~'\n\nconsole.log(normalizeUrl('//example.com/%7efoo'));\n// => '//example.com/~foo'\n```\n\nUrl objects already parsed by node.js' built-in `url` module are also supported:\n\n```javascript\nconsole.log(normalizeUrl(require('url').parse('htTP://foo.com/%7ebarf')));\n// => {protocol: 'http:', slashes: true, host: 'foo.com', hostname: 'foo.com', pathname: '/~barf', href: 'http://foo.com/~barf', path: '/~barf'}\n```\n\nThe module works also works in a browser, but only for url fragments\nfor now. It'll throw an exception if you attempt to normalize an\nabsolute or protocol-relative url, as that currently relies on\n`require('url').parse`.\n\n## License\n\nnormalizeurl is licensed under a standard 3-clause BSD license -- see the `LICENSE`-file for details.\n","maintainers":[{"name":"papandreou","email":"andreas@one.com"}],"time":{"modified":"2022-06-22T05:37:37.277Z","created":"2013-10-01T12:44:37.537Z","0.1.0":"2013-10-01T12:44:45.139Z","0.1.1":"2013-10-01T13:58:08.042Z","0.1.2":"2014-02-11T12:46:29.317Z","0.1.3":"2014-06-24T20:48:43.871Z","1.0.0":"2016-08-19T08:06:13.470Z"},"author":{"name":"Andreas Lind Petersen","email":"andreas@one.com"},"readmeFilename":"README.md","keywords":["url","normalize","normalization","percent","encoding","href"],"license":"BSD","users":{"igorissen":true}}