{"_id":"is-relative-url","_rev":"16-145e7c1c6f1fc44ab346d43f5ce90253","name":"is-relative-url","dist-tags":{"latest":"4.1.0"},"versions":{"0.1.0":{"name":"is-relative-url","version":"0.1.0","keywords":["url","relative","absolute","uri","is","check"],"author":{"url":"http://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"is-relative-url@0.1.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/is-relative-url","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"dist":{"shasum":"4700d6a445c2f6b8757e6037710e9a5e375b399d","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-0.1.0.tgz","integrity":"sha512-E+m+eFzXFrvtqFU5SlqEQgGQ8VxzRSpvMJM3xeoBWEwm5BKEogDQvWQdb10pJ0XfhZNWAFnAYqkSKWi26EU6+w==","signatures":[{"sig":"MEQCIB879E2pAAm6TaqCm+XGQ5ZOzNccl3RG/ETazLrl0A8hAiBZ/8HdRUlcUwky9x+Z3x9HC8E4vLxPa7JrC3BKynQFvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["index.js"],"_shasum":"4700d6a445c2f6b8757e6037710e9a5e375b399d","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git://github.com/sindresorhus/is-relative-url","type":"git"},"_npmVersion":"1.4.9","description":"Check if an URL is relative","directories":{},"dependencies":{"is-absolute-url":"^0.1.0"},"devDependencies":{"mocha":"*"}},"0.1.1":{"name":"is-relative-url","version":"0.1.1","keywords":["url","relative","absolute","uri","is","check"],"author":{"url":"http://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"is-relative-url@0.1.1","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/is-relative-url","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"dist":{"shasum":"47f54974586dcd86ae2b6e41bac7a6642583fc02","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-0.1.1.tgz","integrity":"sha512-YPOlOP9f50N58NWs8uj07p19C+1UNH3ni1QVfyk6Vf3ghiKb9Ub2jt94AfTP0OS9Xopg3BDmxvGu154I3WCONw==","signatures":[{"sig":"MEYCIQDKBcHsKzNTmPFH3zpm75TepR1a24OJRXcLYLBMdV8z/wIhAKmyB35LRcfyFwVrd7GuxfeTrzF0Gi3fyJFW5JlHBu56","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["index.js"],"_shasum":"47f54974586dcd86ae2b6e41bac7a6642583fc02","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git://github.com/sindresorhus/is-relative-url","type":"git"},"_npmVersion":"1.4.9","description":"Check if an URL is relative","directories":{},"dependencies":{"is-absolute-url":"^0.1.0"},"devDependencies":{"mocha":"*"}},"1.0.0":{"name":"is-relative-url","version":"1.0.0","keywords":["url","relative","absolute","uri","is","check"],"author":{"url":"http://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"is-relative-url@1.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/is-relative-url","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"dist":{"shasum":"87a9d35e8a789b49e079b4d7d69d64612e8e0e1f","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-1.0.0.tgz","integrity":"sha512-SUCmJSpZdmG6sYWo8+kuAQ4riL6POBU2eLlU24cIMpcqt88y5S0kBRC6AeHj8NnCIvDFzocWN4eYmiaHmUMhxA==","signatures":[{"sig":"MEYCIQCut6du0L1i1J/Y6PG44v6tlOd6Vcsqh1snBgelnOdyJgIhAN95FdpbQLkbWWrgEuxIRx7GxtOl5mDce5CsziUHKOXT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["index.js"],"_shasum":"87a9d35e8a789b49e079b4d7d69d64612e8e0e1f","engines":{"node":">=0.10.0"},"gitHead":"95c6f6fc8082e1d1d0c9be792312b799cc8f190c","scripts":{"test":"mocha"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"https://github.com/sindresorhus/is-relative-url","type":"git"},"_npmVersion":"1.4.21","description":"Check if an URL is relative","directories":{},"dependencies":{"is-absolute-url":"^1.0.0"},"devDependencies":{"mocha":"*"}},"2.0.0":{"name":"is-relative-url","version":"2.0.0","keywords":["url","relative","absolute","uri","is","check"],"author":{"url":"http://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"is-relative-url@2.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/is-relative-url","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"dist":{"shasum":"72902d7fe04b3d4792e7db15f9db84b7204c9cef","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-2.0.0.tgz","integrity":"sha512-UMyEi3F+Rvjpc29IAQQ5OuMoKylt8npO0eQdXPQ2M3A5iFvh1qG+MtiLQR2tyHcVVsqwWrQiztjPAe9hnSHYeQ==","signatures":[{"sig":"MEYCIQCJeMVB5KTaMuXRvaDwdIq2M00iqkRcNt8L4ZXzgl93AAIhAKAqFmbwBw7sZihdMU/pAoaQpIPbLL5sEZ6oZZt5fxAP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["index.js"],"_shasum":"72902d7fe04b3d4792e7db15f9db84b7204c9cef","engines":{"node":">=0.10.0"},"gitHead":"239b1fff1f28e27ce843828452f3d8926f1c7165","scripts":{"test":"xo && ava"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"https://github.com/sindresorhus/is-relative-url","type":"git"},"_npmVersion":"2.14.7","description":"Check if an URL is relative","directories":{},"_nodeVersion":"4.2.1","dependencies":{"is-absolute-url":"^2.0.0"},"devDependencies":{"xo":"*","ava":"*"}},"3.0.0":{"name":"is-relative-url","version":"3.0.0","keywords":["url","relative","absolute","uri","is","check"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"is-relative-url@3.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/is-relative-url#readme","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"dist":{"shasum":"f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz","fileCount":5,"integrity":"sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==","signatures":[{"sig":"MEUCIF+z5/oTTma9JyfDblo7onJotktt/EwxhhgI4ahKU/SmAiEAwNMb8g3+k/j4swMvJ00RDuy2ZED6P7Vk8UIeW7heocY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqIqyCRA9TVsSAnZWagAA+C0P/32NgavFTUP3qG556u/7\n3iAtGZk74EJqx1S4+KkbdC+JV4Zje/ec6gCGur1FQo2szhzICzZq3ks95oaO\nIgYoPnfw0Zh7EjAEh40UiHOTyzlUsQMt3JaNSFfMxSmi0tAbJ6RwI9E69qqI\nvF+WFVR51H2FUN3d9pgsmNEh+EILbQIFOKoYmGuYLQTO+arTd5mWQBnh29aj\n0g79RX2GYwqd/bx6y2vXxTbf3Rzrxyfy+1m7cHR8CkzVkcXaBm27CVqy1ACH\nQl+JS7WcXWcU7sUdq+BHWWCvd4/hl48IHz6JixUMTbRIAOMARvFeNEVECqSk\nkEE3wpsgi7TXfLUPQO1xd3P8UZY6s0t85kb00uvDW+HeUWHme+KdAbud3Jgj\noegBIKsPQG9NJguVsQNLRf6pTgShVYjk2oTnMI9VmLiq5L65phXu4CsXQ58G\nI+vpM7FQFazlidVWuAj598nQi92wJ1T+fJe4qasAZJaa9TUpj2BEjWI9DWSa\nWmleqk/QwFMgQH9Hca4jTiwNsbiQHhhdRZksEQ2Gia8lqnHFolRBe8TDlfwr\nN9WqEun5LBcqeoTZGvvY2ID8IndpVliKIVFQ3a06dO5XYwFUqARTyl4J5CRi\nBsvBR4wndclzbWkxhDV0/081DeZEcKiRtR4OxpeNANtwujfWKy3aY39N2nin\nM3V5\r\n=kZ8X\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=8"},"gitHead":"877c5e12b2d8783dafb92d7d3aaa3bdcb7964060","scripts":{"test":"xo && ava && tsd"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/is-relative-url.git","type":"git"},"_npmVersion":"6.4.1","description":"Check if an URL is relative","directories":{},"_nodeVersion":"10.15.1","dependencies":{"is-absolute-url":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.24.0","ava":"^1.4.1","tsd":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/is-relative-url_3.0.0_1554549425650_0.33735883000511624","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"is-relative-url","version":"4.0.0","keywords":["url","relative","absolute","uri","is","check"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"is-relative-url@4.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/is-relative-url#readme","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"dist":{"shasum":"4d8371999ff6033b76e4d9972fb5bf496fddfa97","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-4.0.0.tgz","fileCount":5,"integrity":"sha512-PkzoL1qKAYXNFct5IKdKRH/iBQou/oCC85QhXj6WKtUQBliZ4Yfd3Zk27RHu9KQG8r6zgvAA2AQKC9p+rqTszg==","signatures":[{"sig":"MEYCIQDUqefOrWLF7bQU1wZGJ/RDIDJ38qCMF1LAeplKadle/wIhAJw+DGNMCmgmVaQPNcVFJS3tILLCEKffLSoZGkPwxi+R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinboxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUJw//ZgXhTuCAxnIGhZ37/SIHRZbAejlvMqLVTebE532eIQnS102O\r\n1oKRfrUYdzT9KR9065reUH6oi/TjIw5jYQVDJJeAcK2dWmVKZLpq4llXN7aR\r\nVdY0MeHCnA0HcHnsrUEkPhbXm6L9wCCRnQTgB8b3B3GkuWoxWZF/skneANWX\r\nf0gJIUt2Y6WC9wHtWoZkofsEj8hzGuJGD8Li1kZSUTf38T5C7tsN8qrV+0PK\r\nrWoSeiCZSxKpq76Vo/5yV2wk1l9Ib9vNBCcZkT+OQ7uMEHsy2Nxc+pfmSbHj\r\nFvyICTwdJSiQWqqiOL5LHDSiLoAYuZRcS5Udo6kv4u55uujT8KzQ69s35xoq\r\ngBYlodW1v4vbLsAIL7k1pL5V+PMvI8bVihrOxjClGYx1wdb53WJX7VRP5PmF\r\nxQ/ARLOydnd8Yul90NYa9refpVdCU+0WUPXUmF/LqYk4GEpEBOIO0EkAT/ja\r\nFRyvQV58fZ2bO/G7AAG6/PwORR4Ye/ouFu4DOsPGGDPwtSn3Iw5wph8SpRsg\r\n3gx0ZXi/vo4f/SbI1ZkcafaSp1FWFFfwQ6MmyYhvubewIW4x3fZWyrjn74DW\r\nkmTfbBot79UDzthXrALABTy8vpnEv7qCiUPb2XSHa6DgHJUjq1b/TQYJdkG5\r\nerjd8nYAxB1BB/wB5yLrAcjBICgug4ex3FA=\r\n=Cp/1\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","types":"./index.d.ts","engines":{"node":">=14.16"},"exports":"./index.js","funding":"https://github.com/sponsors/sindresorhus","gitHead":"a4bfb70ab2e4672320978b4c3fc815e4c3f53018","scripts":{"test":"xo && ava && tsd"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/is-relative-url.git","type":"git"},"_npmVersion":"8.3.2","description":"Check if a URL is relative","directories":{},"_nodeVersion":"18.3.0","dependencies":{"is-absolute-url":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.49.0","ava":"^4.3.0","tsd":"^0.20.0"},"_npmOperationalInternal":{"tmp":"tmp/is-relative-url_4.0.0_1654503985322_0.6035265034306472","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"is-relative-url","version":"4.1.0","description":"Check if a URL is relative","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/is-relative-url.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","types":"./index.d.ts","sideEffects":false,"engines":{"node":">=14.16"},"scripts":{"//test":"xo && ava && tsd","test":"ava && tsd"},"keywords":["url","relative","absolute","uri","is","check"],"dependencies":{"is-absolute-url":"^4.0.1"},"devDependencies":{"ava":"^4.3.0","tsd":"^0.20.0","xo":"^0.49.0"},"_id":"is-relative-url@4.1.0","gitHead":"2cfc1d54714e84432f074ae2844ce99e71978b00","bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"homepage":"https://github.com/sindresorhus/is-relative-url#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-vhIXKasjAuxS7n+sdv7pJQykEAgS+YU8VBQOENXwo/VZpOHDgBBsIbHo7zFKaWBjYWF4qxERdhbPRRtFAeJKfg==","shasum":"fe8efb2616b272cf141d3c9de9760594e53453a7","tarball":"https://registry.npmjs.org/is-relative-url/-/is-relative-url-4.1.0.tgz","fileCount":5,"unpackedSize":5012,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCm7qL8hh0r+fc5MosWyAk0sGiM9S1UxYMBRMKUTUHvlwIgJFLa+7LROg0dBGC2qmllVPy31CIGBjMzXJfZaQoLc/4="}]},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/is-relative-url_4.1.0_1757501878468_0.9645864111764497"},"_hasShrinkwrap":false}},"time":{"created":"2014-07-04T22:04:36.305Z","modified":"2025-09-10T10:57:58.826Z","0.1.0":"2014-07-04T22:04:36.305Z","0.1.1":"2014-07-05T01:10:55.436Z","1.0.0":"2014-08-13T19:21:08.650Z","2.0.0":"2015-11-14T18:29:19.357Z","3.0.0":"2019-04-06T11:17:05.790Z","4.0.0":"2022-06-06T08:26:25.566Z","4.1.0":"2025-09-10T10:57:58.656Z"},"bugs":{"url":"https://github.com/sindresorhus/is-relative-url/issues"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"license":"MIT","homepage":"https://github.com/sindresorhus/is-relative-url#readme","keywords":["url","relative","absolute","uri","is","check"],"repository":{"type":"git","url":"git+https://github.com/sindresorhus/is-relative-url.git"},"description":"Check if a URL is relative","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"readme":"# is-relative-url\n\n> Check if a URL is relative\n\n## Install\n\n```sh\nnpm install is-relative-url\n```\n\n## Usage\n\n```js\nimport isRelativeUrl from 'is-relative-url';\n\nisRelativeUrl('foo/bar');\n//=> true\n\nisRelativeUrl('https://sindresorhus.com/foo/bar');\n//=> false\n\nisRelativeUrl('//sindresorhus.com');\n//=> true\n```\n\n## API\n\n### isRelativeUrl(url, options?)\n\n#### url\n\nType: `string`\n\nThe URL to check.\n\n#### options\n\nType: `object`\n\n##### allowProtocolRelative\n\nType: `boolean`\\\nDefault: `true`\n\nAllow [protocol-relative URLs](https://en.wikipedia.org/wiki/URL#Protocol-relative_URLs) (e.g., `//example.com`) to be considered relative.\n\nSetting this to `false` will treat protocol-relative URLs as absolute, which can be useful for security purposes when you want to ensure a URL won't redirect to an external domain.\n\n> [!NOTE]\n> Protocol-relative URLs are [technically relative](https://datatracker.ietf.org/doc/html/rfc3986#section-4.2) according to [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986), as they require the current page's protocol to resolve into absolute URLs. However, they can still navigate to external domains, which may be a security concern in certain contexts (e.g., preventing open redirects).\n\n## Related\n\nSee [is-absolute-url](https://github.com/sindresorhus/is-absolute-url) for the inverse.\n","readmeFilename":"readme.md","users":{"bikai":true,"rocket0191":true}}