mirror of
https://github.com/denoland/deno.git
synced 2025-08-03 18:38:33 +00:00
fix(cli/js/web/url): Support UNC paths on Windows (#6418)
This commit is contained in:
parent
175867ab76
commit
ed0b1d4627
3 changed files with 53 additions and 33 deletions
|
@ -62,12 +62,15 @@ function parse(url: string, isBase = true): URLParts | undefined {
|
|||
parts.password = "";
|
||||
[parts.hostname, restUrl] = takePattern(restUrl, /^[/\\]{2}([^/\\?#]*)/);
|
||||
parts.port = "";
|
||||
if (build.os == "windows" && parts.hostname == "") {
|
||||
// UNC paths. e.g. "\\\\localhost\\foo\\bar" on Windows should be
|
||||
// representable as `new URL("file:////localhost/foo/bar")` which is
|
||||
// equivalent to: `new URL("file://localhost/foo/bar")`.
|
||||
[parts.hostname, restUrl] = takePattern(restUrl, /^[/\\]{2,}([^/\\?#]*)/);
|
||||
}
|
||||
} else if (specialSchemes.includes(parts.protocol)) {
|
||||
let restAuthority;
|
||||
[restAuthority, restUrl] = takePattern(
|
||||
restUrl,
|
||||
/^[/\\]{2}[/\\]*([^/\\?#]+)/
|
||||
);
|
||||
[restAuthority, restUrl] = takePattern(restUrl, /^[/\\]{2,}([^/\\?#]+)/);
|
||||
if (isBase && restAuthority == "") {
|
||||
return undefined;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue