close
Skip to main content

@std/path@1.1.6
Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Browsers
JSR Score100%
License
MIT
Downloads87,560/wk
Published20 hours ago (1.1.6)

Utilities for working with file system paths

// Copyright 2018-2026 the Deno authors. MIT license. // This module is browser compatible. import { isWindows } from "jsr:@std/internal@^1.0.14/os"; import { normalize as posixNormalize } from "./posix/normalize.ts"; import { normalize as windowsNormalize } from "./windows/normalize.ts"; /** * Normalize the path, resolving `'..'` and `'.'` segments. * * Note: Resolving these segments does not necessarily mean that all will be * eliminated. A `'..'` at the top-level will be preserved, and an empty path is * canonically `'.'`. * * @example Usage * ```ts * import { normalize } from "@std/path/normalize"; * import { assertEquals } from "@std/assert"; * * if (Deno.build.os === "windows") { * assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux"); * assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux"); * } else { * assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux"); * assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux"); * } * ``` * * @param path Path to be normalized * @returns The normalized path. */ export function normalize(path: string | URL): string { return isWindows ? windowsNormalize(path) : posixNormalize(path); }