normalizeGlob

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

function

function normalizeGlob(glob: string, options: GlobOptions = [UNSUPPORTED]): string

Normalizes a glob string.

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

glob: string

Glob string to normalize.

options: GlobOptions = [UNSUPPORTED]

Glob options.

Returns

The normalized glob string.

Example: Usage

import { normalizeGlob } from "@ende/path/normalize-glob";
import { assertEquals } from "@ende/assert";

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

Source