sindresorhus / normalize-url

Normalize a URL
MIT License
837 stars 123 forks source link

Error result when url using custom protocol in browser #147

Open loynoir opened 3 years ago

loynoir commented 3 years ago

Test in browser

https://github.com/sindresorhus/normalize-url/blob/3fb24bb03e340162b2e81d6145de8e4e5b3d6262/test.js#L40

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

loynoir commented 3 years ago

Related: Can I use version 7 in the browser? https://github.com/sindresorhus/normalize-url/issues/140

loynoir commented 3 years ago

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"
loynoir commented 3 years ago

Google Chrome 92 chrome

Mozilla Firefox 90 firefox

sindresorhus commented 2 years ago

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