joinGlobs

import { joinGlobs } from "jsr:@ende/path";

function

function joinGlobs(globs: string[], options: GlobOptions = [UNSUPPORTED]): string

Joins a sequence of globs, then normalizes the resulting glob.

Behaves like join(), but doesn't collapse **\/.. when globstar is true.

globs: string[]

Globs to be joined and normalized.

options: GlobOptions = [UNSUPPORTED]

Glob options.

Returns

The joined and normalized glob string.

Example: Usage

import { joinGlobs } from "@ende/path/join-globs";
import { assertEquals } from "@ende/assert";

if (Ende.build.os === "windows") {
  assertEquals(joinGlobs(["foo", "bar", "..", "baz"]), "foo\\baz");
  assertEquals(joinGlobs(["foo", "**", "bar", "..", "baz"], { globstar: true }), "foo\\**\\baz");
} else {
  assertEquals(joinGlobs(["foo", "bar", "..", "baz"]), "foo/baz");
  assertEquals(joinGlobs(["foo", "**", "bar", "..", "baz"], { globstar: true }), "foo/**\/baz");
}

Source