-
Notifications
You must be signed in to change notification settings - Fork 27
Description
Currently is_iri fails on any characters, which don't match this regex:
Line 28 in 8d1fc52
| if (/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(value)) return; |
Example:
t.ok(is_uri('http://localhost/ä'), 'http://localhost/ä');As far as I understand the main difference between URI and IRI is:
IRIs extend URIs by using the Universal Character Set, where URIs were limited to ASCII, with far fewer characters.
https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier
Therefore is_iri should allow all UTF-8 characters and these exports aren't correct:
module.exports.is_uri = is_iri;
module.exports.isUri = is_iri;Instead there should be two exports: is_iri and is_uri.
I saw there wasn't any commit to this repo since 2015, but since this affects a Gatsby issue I was wondering, what you plans with the module are? Do you think about handing it over, @ogt?
The module is used heavily according to npms download numbers, so it might be in the interest of the community to give it some 💌 .