Skip to content

path ​

luau
local path = require("@std/path")

WARNING

These APIs are still open to future evolution. In new major versions, they may change in backwards incompatible ways.

Summary ​

EntryDescription
PathA structured, platform-aware file system path.
PathlikeAnything that can be used as a path: a string, a Path, or raw path data.
basenameReturns the last component of path (the filename or directory name), or nil if the path has no components.
dirnameReturns the directory portion of path as a string (everything except the last component).
extnameReturns the file extension of path (including the leading dot), or "" if there is none.
formatConverts path to its string representation using the platform's separator.
isAbsoluteReturns true if path is absolute.
joinJoins one or more path segments together into a single Path. Each segment after the first must be relative.
normalizeReturns a normalized form of path, resolving . and .. components and removing redundant separators.
parseParses path into a structured Path value.
relativeReturns the relative path from from to to. Both paths must be of the same kind (both absolute or both relative).
resolveResolves a sequence of paths into an absolute Path, processing right-to-left and falling back to the current working directory.

Types ​

Path ​

A structured, platform-aware file system path.

luau
type Path = pathtypes.Path

Pathlike ​

Anything that can be used as a path: a string, a Path, or raw path data.

luau
type Pathlike = pathtypes.Pathlike

Functions and Properties ​

path.basename ​

Returns the last component of path (the filename or directory name), or nil if the path has no components.

luau
(path: Pathlike) -> string?

path.dirname ​

Returns the directory portion of path as a string (everything except the last component).

luau
(path: Pathlike) -> string

path.extname ​

Returns the file extension of path (including the leading dot), or "" if there is none.

luau
(path: Pathlike) -> string

path.format ​

Converts path to its string representation using the platform's separator.

luau
(path: Pathlike) -> string

path.isAbsolute ​

Returns true if path is absolute.

luau
(path: Pathlike) -> boolean

path.join ​

Joins one or more path segments together into a single Path. Each segment after the first must be relative.

luau
(...: Pathlike) -> Path

path.normalize ​

Returns a normalized form of path, resolving . and .. components and removing redundant separators.

luau
(path: Pathlike) -> Path

path.parse ​

Parses path into a structured Path value.

luau
(path: Pathlike) -> Path

path.relative ​

Returns the relative path from from to to. Both paths must be of the same kind (both absolute or both relative).

luau
(from: Pathlike, to: Pathlike) -> Path

path.resolve ​

Resolves a sequence of paths into an absolute Path, processing right-to-left and falling back to the current working directory.

luau
(...: Pathlike) -> Path