diff options
| author | David Sherret <dsherret@users.noreply.github.com> | 2024-04-27 17:11:57 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-27 21:11:57 +0000 |
| commit | 651e3e9e6daf3243dd21b7f66ce9738abdc39a37 (patch) | |
| tree | 0417415c1a5fa79d0ae5d8f0f75561138275e34e /tests/testdata/jsr/registry/@std/url/0.220.1/normalize.ts | |
| parent | e0f849289fdb2c2d86f7fb04182c37012ce2bb69 (diff) | |
fix(compile): certain jsr specifiers sometimes can't load (#23567)
When returning a jsr specifier for resolve it seems like deno core does
not work properly and hangs.
Closes https://github.com/denoland/deno/issues/23551
Closes https://github.com/denoland/deno/issues/23139
Diffstat (limited to 'tests/testdata/jsr/registry/@std/url/0.220.1/normalize.ts')
| -rw-r--r-- | tests/testdata/jsr/registry/@std/url/0.220.1/normalize.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/testdata/jsr/registry/@std/url/0.220.1/normalize.ts b/tests/testdata/jsr/registry/@std/url/0.220.1/normalize.ts new file mode 100644 index 000000000..dc2305701 --- /dev/null +++ b/tests/testdata/jsr/registry/@std/url/0.220.1/normalize.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { normalize as posixNormalize } from "jsr:/@std/path@^0.220.1/posix/normalize"; + +/** + * Normalize the `URL`, resolving `'..'` and `'.'` segments and multiple + * `'/'`s into `'//'` after protocol and remaining into `'/'`. + * + * @example + * ```ts + * import { normalize } from "@std/url/normalize"; + * + * console.log(normalize("https:///deno.land///std//assert//.//mod.ts").href); + * // Outputs: "https://deno.land/std/path/mod.ts" + * + * console.log(normalize("https://deno.land/std/assert/../async/retry.ts").href); + * // Outputs: "https://deno.land/std/async/retry.ts" + * ``` + * + * @param url to be normalized + * @returns normalized URL + */ +export function normalize(url: string | URL): URL { + url = new URL(url); + url.pathname = posixNormalize(url.pathname); + return url; +} |
