sindresorhus/normalize-url

Error result when url using custom protocol in browser

loynoir opened this issue · 4 comments

Test in browser

t.is(normalizeUrl('sindre://www.sorhus.com'), 'sindre://sorhus.com');

Expected

normalizeUrl=(await import('https://cdn.jsdelivr.net/npm/normalize-url@7.0.1/index.js')).default
normalizeUrl('sindre://www.sorhus.com')
"sindre://www.sorhus.com"

Actual

normalizeUrl=(await import('https://cdn.jsdelivr.net/npm/normalize-url@7.0.1/index.js')).default
normalizeUrl('sindre://www.sorhus.com')
"sindre:/www.sorhus.com"

Related rejected fork

https://github.com/loynoir/normalize-url

Related: Can I use version 7 in the browser?
#140

Node

> new URL("sindre://www.sorhus.com").protocol
'sindre:'
> new URL("sindre://www.sorhus.com").host
'www.sorhus.com'
> new URL("sindre://www.sorhus.com").pathname
''

Google Chrome 92

> new URL("sindre://www.sorhus.com").protocol
"sindre:"
> new URL("sindre://www.sorhus.com").host
""
> new URL("sindre://www.sorhus.com").pathname
"//www.sorhus.com"

Mozilla Firefox 90

> new URL("sindre://www.sorhus.com").protocol
"sindre:"
> new URL("sindre://www.sorhus.com").host
""
> new URL("sindre://www.sorhus.com").pathname
"//www.sorhus.com"

Google Chrome 92
chrome

Mozilla Firefox 90
firefox

You should report this bug to https://github.com/nodejs/node if it's still an issue.