fix(path): handle lone slash (#1713)

This commit is contained in:
Aaron Pham 2025-01-07 16:00:09 -05:00 committed by GitHub
parent c90dbacab0
commit 7e828252bb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 1 deletions

View file

@ -171,6 +171,10 @@ describe("transforms", () => {
assert.strictEqual(path.joinSegments("/a", "b/"), "/a/b/")
assert.strictEqual(path.joinSegments("/a/", "b/"), "/a/b/")
// lone slash
assert.strictEqual(path.joinSegments("/a/", "b", "/"), "/a/b/")
assert.strictEqual(path.joinSegments("a/", "b" + "/"), "a/b/")
// works with protocol specifiers
assert.strictEqual(path.joinSegments("https://example.com", "a"), "https://example.com/a")
assert.strictEqual(path.joinSegments("https://example.com/", "a"), "https://example.com/a")

View file

@ -188,7 +188,7 @@ export function joinSegments(...args: string[]): string {
}
let joined = args
.filter((segment) => segment !== "")
.filter((segment) => segment !== "" && segment !== "/")
.map((segment) => stripSlashes(segment))
.join("/")