1 line
21 KiB
Plaintext
1 line
21 KiB
Plaintext
{"_id":"parseuri","_rev":"29-2f367946a0dbb7b1e861956eb7e57cf8","name":"parseuri","description":"Mighty but tiny URI parser","dist-tags":{"latest":"3.0.2"},"versions":{"0.0.1":{"name":"parseuri","version":"0.0.1","description":"Method that parses a URI and returns an array of its components","main":"./lib/parseuri.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"bin":{"parseuri":"./bin/parseuri"},"dependencies":{},"devDependencies":{},"optionalDependencies":{},"author":"","license":"MIT","_id":"parseuri@0.0.1","dist":{"shasum":"1f76aaa4a04cc927f872da463608fc12108eb9be","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.1.tgz","integrity":"sha512-gMJuyzGd+5Cm6iNX92JmfHESQqSoOGA1Zu0tt4dc6CbeSswZ0z+aqVJhtnNIQ1csXjgv113DNaZyBB4znJBsGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHczVh60/r6h+kKr4n2WjfXVMLY3VeKuvCnwsbkW6YK4AiEAgWX7iDgzUhx3fYPkecm7963OvA+4rUoIkjeBDv8QM50="}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.2":{"name":"parseuri","version":"0.0.2","description":"Method that parses a URI and returns an array of its components","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"_id":"parseuri@0.0.2","dist":{"shasum":"db41878f2d6964718be870b3140973d8093be156","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz","integrity":"sha512-m0H+R0u5LXOx8sbxufnvgKrRLpkVpvtMf0AyWXYSqLwo2MWrVEgCIbgpaSVa398xl6wTLe0A7CGhiC4hBdEzHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzOjalmgwuyx2sDiuP7UcWuuXyH9xHOVBUNZ0enr19dgIhALoz+8KawQ4L73C+v61fsiPAwopB3lqfxcG4ysCcItIz"}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.3":{"name":"parseuri","version":"0.0.3","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.3","dist":{"shasum":"28d442d488a8e218194f535f5040f451d4282b32","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.3.tgz","integrity":"sha512-4hO2G/BPpwRtYuM/t+y2tEsr2d1q3898Vu0L8XuMoTmt0JVl8JKcJBcxFuNo+W38/UeZqnnVhfqSYvzfmGtVhQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9CwkB/1lypv9oXYfRcc2JqQKKo5JQHHo+uxTtQelq/gIhAJ3kgVLeH0976Z1lM5NZp7XPjeeaTdWI0NuXjtcpn8Yj"}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.4":{"name":"parseuri","version":"0.0.4","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.4","dist":{"shasum":"806582a39887e1ea18dd5e2fe0e01902268e9350","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz","integrity":"sha512-9pW0ZCCDtEIzW7beHfLg2N13pgctOVRq1Z+1PKdpsF4wD9GhYUMAAxBhmPRPVVy1fg2z+eH/8uw8dgA0j9DNzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4tA2qfT88q4UI6WYetk6/BKeZ1egcnZKbjr84b1ajdwIgWEKvK/e+9pA2vkj1qcyWHmRiL3y6FwwhK5rUtXWXAdw="}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.5":{"name":"parseuri","version":"0.0.5","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"git+https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1","better-assert":"1.0.0"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"gitHead":"792c9a63162a4484eb6b4f95fc611ccf224a24b6","bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.5","_shasum":"80204a50d4dbb779bfdc6ebe2778d90e4bce320a","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"gal","email":"koren@mit.edu"},"dist":{"shasum":"80204a50d4dbb779bfdc6ebe2778d90e4bce320a","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz","integrity":"sha512-ijhdxJu6l5Ru12jF0JvzXVPvsC+VibqeaExlNoMhWN6VQ79PGjkmc7oA4W1lp00sFkNyj0fx6ivPLdV51/UMog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANaUofrjfZfdpd/RuBHRoxxAxzN/UHO/37OVY1eud6jAiEAlsfKgEDWJJp/jFtTuPci8Ifa1JzbeVehPs4f+vqB3+s="}]},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/parseuri-0.0.5.tgz_1477582137634_0.3768787120934576"},"directories":{}},"0.0.6":{"name":"parseuri","version":"0.0.6","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"git+https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"better-assert":"~1.0.0","mocha":"1.17.1","expect.js":"^0.3.1"},"author":{"name":"Gal Koren"},"license":"MIT","gitHead":"ad9e2495173e763ab9edc46a5c15f89c324455d9","bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"gal","email":"koren@mit.edu"},"dist":{"integrity":"sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==","shasum":"e1496e829e3ac2ff47f39a4dd044b32823c4a25a","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz","fileCount":7,"unpackedSize":5914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgk76CRA9TVsSAnZWagAAnH8QAKKlQVaYBSSLcgxCzG/I\nlaiQ7vIoQpIcdSvIzTmmzzyy6szz8uzSa/Ad/Shxbf96kAhWAmYjNtELFCrx\nGs4VEtCw1wz007GsNGu//DUGXmADC7x8J13VJh5tVX9u+N5/8cYjP7MVHBIY\nkcvzlKi5omUW81w0tOe0lGxhs6/Dg31rKdTkmB0LTMPArLbutrEHIxLekc4S\n1LdLfIetpBVK8ZqOS34OLPjAThkH4MiOxrNwoQRR1uQtvxza3zuJ9BvugKRr\n0g6kulpYrx54XxxTJx/APgq4ve3U690Y1y9aQ5XnEqTaLR/X+jMpp2r/bY1r\n4Guv1EsfqmztHcRWXGQ0p/YUJ6eLsmufkGLoUsbnFoT6AnjC13Mao588lk9L\nMWlLjTTGkgfZmY9x92NPnRaBiC8VM0Yv7/mvFIKno9BfSIS1m7++KrgreUls\npFP6uX6QsYlqPaFfrhPqZ91Jh0sXvhqDLvwYugk0EquBCu9LRyFkoICbh7rE\nmOf1r0LGmihHLhDNNcHc0ZRI7n0eUcQfgsmAxjMgW7hKY4MB7vA/mQe+eT7m\nNQ4oqcGj6G1cur5CjlMG0RfVUyxv5x73JbO0I/OMJsssS2qk/tGhJxcV8XrJ\ns2zUYj7Xnux5p2CJo+YrjHuP31Ux28RjzCN98J3VwbJt7TfytR35r1xJ5w/c\nDLdD\r\n=J2vk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7VGfp0FWqs8at082tLN3RLM27n7JqPLmpqKb1ahQxKAiAo1UFffKWa6i//5WTqpVL8fMyRcuMCtBIXcuMq0Jwdug=="}]},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parseuri_0.0.6_1568820986115_0.7809546772297578"},"_hasShrinkwrap":false},"3.0.1":{"name":"parseuri","version":"3.0.1","description":"Mighty but tiny URI parser","homepage":"https://slevithan.github.io/parseuri/demo/","main":"src/index.js","type":"module","scripts":{"build":"esbuild src/index.js --bundle --minify --outfile=dist/parseuri.min.js --global-name=parseUri --footer:js=parseUri.parseUri.setTlds=parseUri.setTlds;globalThis.parseUri=parseUri.parseUri;","pretest":"npm run build","test":"jasmine","prepublish":"npm test"},"author":{"name":"Steven Levithan"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/slevithan/parseuri.git"},"keywords":["uri","url","urn"],"devDependencies":{"esbuild":"^0.21.3","jasmine":"^5.1.0"},"_id":"parseuri@3.0.1","gitHead":"8645f913bc232339fee562cd7094de781fe93b51","bugs":{"url":"https://github.com/slevithan/parseuri/issues"},"_nodeVersion":"21.7.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-zdrHA3BP2iREUXdW/9oPCKERrn+ybrrzeQjShnQMIpuFquW9nXuGvqwYUqCnjsnlUP3W7jSuYSIoxLbAARnhhA==","shasum":"928c7513f69f70c4420a76da5530f2c1614d9989","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-3.0.1.tgz","fileCount":23,"unpackedSize":113189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEzfXN48m0yd0SpSxqz0uiwMuOcqSzHdhTzubIo7oy9AiEAxJNFrML8annqbZr4iwNrl3zb23GeObI6fL4QpN/kg8w="}]},"_npmUser":{"name":"slevithan","email":"steves_list@hotmail.com"},"directories":{},"maintainers":[{"name":"slevithan","email":"steves_list@hotmail.com"},{"name":"gal","email":"galkrn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parseuri_3.0.1_1716417023462_0.004743029253144959"},"_hasShrinkwrap":false},"3.0.2":{"name":"parseuri","version":"3.0.2","description":"Mighty but tiny URI parser","homepage":"https://slevithan.github.io/parseuri/demo/","exports":"./src/index.js","type":"module","scripts":{"build":"esbuild src/index.js --bundle --minify --outfile=dist/parseuri.min.js --global-name=parseUri --footer:js=parseUri.parseUri.setTlds=parseUri.setTlds;globalThis.parseUri=parseUri.parseUri;","pretest":"npm run build","test":"jasmine","prepublish":"npm test"},"author":{"name":"Steven Levithan"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/slevithan/parseuri.git"},"keywords":["uri","url","urn"],"devDependencies":{"esbuild":"^0.21.3","jasmine":"^5.1.0"},"_id":"parseuri@3.0.2","gitHead":"34f6a96d9110ce08ea156da58f1b7bfe83853ddc","bugs":{"url":"https://github.com/slevithan/parseuri/issues"},"_nodeVersion":"22.2.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-eNmfF+mj9fyyZFFW9keXPsIscduBQub8oqnXXPYnl6hGs6P0mshf9ArriI9vB6w08GuuzgQnTWRrWWDTeoCLEQ==","shasum":"dc12f44d01a10331b002e99779246320c08dce52","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-3.0.2.tgz","fileCount":22,"unpackedSize":111247,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/TffbQKeJ6NagrUa+hL5ghX3xEo1maWo/+ab3tbXvSAiEAsRbQ7k1CEl9V0Q4FxbnfVcN1sWHXBVD/fONBbbg3iRs="}]},"_npmUser":{"name":"slevithan","email":"steves_list@hotmail.com"},"directories":{},"maintainers":[{"name":"slevithan","email":"steves_list@hotmail.com"},{"name":"gal","email":"galkrn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parseuri_3.0.2_1716519306679_0.34461780259944663"},"_hasShrinkwrap":false}},"readme":"# parseUri\n\n`parseUri` is a mighty but tiny JavaScript URI/URN/URL parser that splits any URI into its parts (all of which are optional). Its combination of accuracy, comprehensiveness, and brevity is unrivaled (1KB min/gzip, with no dependencies).\n\n## Breaking changes\n\nVersion 2 was a major, breaking change that probably requires updating URI part names in your code. See details in the [release notes](https://github.com/slevithan/parseuri/releases/tag/v2.0.0) and compare results on the [demo page](https://slevithan.github.io/parseuri/demo/?compareV1=true&friendlyMode=true). Version 3 was a small update published on npm as pure ESM.\n\n## Compared to the `URL` constructor\n\n`parseUri` includes several advantages over the built-in [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL):\n\n* It gives you many additional properties (`authority`, `userinfo`, `subdomain`, `domain`, `tld`, `resource`, `directory`, `filename`, `suffix`) that aren’t available from `URL`.\n* `URL` throws e.g. if not given a protocol, and in many other cases of valid (but not supported) and invalid URIs. `parseUri` makes a best case effort even with partial or invalid URIs and is extremely good with edge cases.\n* `URL`’s rules don’t allow correctly handling many non-web protocols. For example, `URL` doesn’t throw on any of `'git://localhost:1234'`, `'ssh://myid@192.168.1.101'`, or `'t2ab:///path/entry'`, but it also doesn’t get their details correct since it treats everything after `<non-web-protocol>:` up to `?` or `#` as part of the `pathname`.\n* `parseUri` includes a “friendly” parsing mode (in addition to its default mode) that handles human-friendly URLs like `'example.com/file.html'` as expected.\n* `parseUri` supports providing a list of second-level domains that should be treated as part of the top-level domain (ex: `co.uk`).\n\nConversely, `parseUri` is single-purpose and doesn’t apply normalization.\n\nThe [demo page](https://slevithan.github.io/parseuri/demo/?urlStandard=true) allows easily comparing with `URL`’s results.\n\n## Results / URI parts\n\nReturns an object with 20 URI parts as properties plus `queryParams`, a [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) object that includes methods `get(key)`, `getAll(key)`, etc.\n\nHere’s an example of what each part contains:\n\n```text\n┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐\n│ href │\n├────────────────────────────────────────────────────────────────┬─────────────────────────────────────────┤\n│ origin │ resource │\n├──────────┬─┬───────────────────────────────────────────────────┼──────────────────────┬───────┬──────────┤\n│ protocol │ │ authority │ pathname │ query │ fragment │\n│ │ ├─────────────────────┬─────────────────────────────┼───────────┬──────────┤ │ │\n│ │ │ userinfo │ host │ directory │ filename │ │ │\n│ │ ├──────────┬──────────┼──────────────────────┬──────┤ ├─┬────────┤ │ │\n│ │ │ username │ password │ hostname │ port │ │ │ suffix │ │ │\n│ │ │ │ ├───────────┬──────────┤ │ │ ├────────┤ │ │\n│ │ │ │ │ subdomain │ domain │ │ │ │ │ │ │\n│ │ │ │ │ ├────┬─────┤ │ │ │ │ │ │\n│ │ │ │ │ │ │ tld │ │ │ │ │ │ │\n\" https :// user : pass @ sub1.sub2 . dom.com : 8080 /p/a/t/h/ a.html ? q=1 # hash \"\n└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n> If this chart doesn’t appear correctly, view it on [GitHub](https://github.com/slevithan/parseuri/blob/main/README.md#results--uri-parts).\n\n`parseUri` additionally supports IPv4 and IPv6 addresses, URNs, and many edge cases not shown here. See the extensive [tests](https://slevithan.github.io/parseuri/spec/).\n\n## Parsing modes\n\n`parseUri` has two parsing modes: default and friendly. The default mode follows official URI rules. Friendly mode doesn’t require `'<protocol>:'`, `':'`, or `'//'` to signal the start of an authority, which allows handling human-friendly URLs like `'example.com/file.html'` as expected. This change has several effects:\n\n- It allows starting a URI with an authority (as noted above).\n- It precludes friendly mode from properly handling relative paths (that don’t start from root `'/'`) such as `'dir/file.html'`.\n- Since the web protocols `http`, `https`, `ws`, `wss`, and `ftp` don’t require `'//'`, this also means that friendly mode extends this behavior to non-web protocols.\n\n## Examples\n\n```js\nlet uri = parseUri('https://a.b.example.com:80/@user/a/my.img.jpg?q=x&q=#hash');\nuri.protocol // → 'https'\nuri.host // → 'a.b.example.com:80'\nuri.hostname // → 'a.b.example.com'\nuri.subdomain // → 'a.b'\nuri.domain // → 'example.com'\nuri.port // → '80'\nuri.resource // → '/@user/a/my.img.jpg?q=x&q=#hash'\nuri.pathname // → '/@user/a/my.img.jpg'\nuri.directory // → '/@user/a/'\nuri.filename // → 'my.img.jpg'\nuri.suffix // → 'jpg'\nuri.query // → 'q=x&q='\nuri.fragment // → 'hash'\nuri.queryParams.get('q') // → 'x'\nuri.queryParams.getAll('q') // → ['x', '']\nuri.queryParams.get('not-present') // → null\nuri.queryParams.getAll('not-present') // → []\n// Also available: href, origin, authority, userinfo, username, password, tld\n\n// Relative path (not starting from root /)\nuri = parseUri('dir/file.html?q=x');\nuri.hostname // → ''\nuri.directory // → 'dir/'\nuri.filename // → 'file.html'\nuri.query // → 'q=x'\n\n// Friendly mode allows starting with an authority\nuri = parseUri('example.com/file.html', 'friendly');\nuri.hostname // → 'example.com'\nuri.directory // → '/'\nuri.filename // → 'file.html'\n\n// IPv4 address\nuri = parseUri('ssh://myid@192.168.1.101');\nuri.protocol // → 'ssh'\nuri.username // → 'myid'\nuri.hostname // → '192.168.1.101'\nuri.domain // → ''\n\n// IPv6 address\nuri = parseUri('https://[2001:db8:85a3::7334]:80?q=x');\nuri.hostname // → '[2001:db8:85a3::7334]'\nuri.port // → '80'\nuri.domain // → ''\nuri.query // → 'q=x'\n\n// Mailto\nuri = parseUri('mailto:first@my.com,second@my.com?subject=Hey&body=Sign%20me%20up!');\nuri.protocol // → 'mailto'\nuri.username // → ''\nuri.hostname // → ''\nuri.pathname // → 'first@my.com,second@my.com'\nuri.query // → 'subject=Hey&body=Sign%20me%20up!'\nuri.queryParams.get('body') // → 'Sign me up!'\n\n// Mailto in friendly mode\nuri = parseUri('mailto:me@my.com?subject=Hey', 'friendly');\nuri.protocol // → 'mailto'\nuri.username // → 'me'\nuri.hostname // → 'my.com'\nuri.pathname // → ''\n\n/* Also supports e.g.:\n- https://[2001:db8:85a3::7334%en1]/ipv6-with-zone-identifier\n- git://localhost:1234\n- file:///path/file\n- tel:+1-800-555-1212\n- urn:uuid:c5542ab6-3d96-403e-8e6b-b8bb52f48d9a?q=x\n*/\n```\n\nUse the [demo page](https://slevithan.github.io/parseuri/demo/) to easily test and compare results.\n\n## Install\n\n```bash\nnpm install parseuri\n```\n\n## Use\n\n```js\nimport { parseUri, setTlds } from 'parseuri';\n```\n\nIn browsers:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/parseuri/dist/parseuri.min.js\"></script>\n<script>\n console.log(parseUri('https://example.com/'));\n // If needed, use `parseUri.setTlds`\n</script>\n```\n","maintainers":[{"name":"slevithan","email":"steves_list@hotmail.com"},{"name":"gal","email":"galkrn@gmail.com"}],"time":{"modified":"2024-05-24T02:55:07.023Z","created":"2014-02-09T18:38:17.833Z","0.0.1":"2014-02-09T18:40:42.208Z","0.0.2":"2014-02-09T19:22:25.004Z","0.0.3":"2014-07-04T03:39:01.363Z","0.0.4":"2014-07-20T00:10:40.568Z","0.0.5":"2016-10-27T15:29:00.405Z","0.0.6":"2019-09-18T15:36:26.251Z","3.0.1":"2024-05-22T22:30:23.668Z","3.0.2":"2024-05-24T02:55:06.846Z"},"readmeFilename":"README.md","users":{"h02e56":true,"zenanyoo":true},"license":"MIT","homepage":"https://slevithan.github.io/parseuri/demo/","repository":{"type":"git","url":"git+https://github.com/slevithan/parseuri.git"},"bugs":{"url":"https://github.com/slevithan/parseuri/issues"},"author":{"name":"Steven Levithan"},"keywords":["uri","url","urn"]} |