realpath

external fun realpath(path: PathLike, options: EncodingOption, callback: (err: ErrnoException?, resolvedPath: String) -> Unit)(source)

Asynchronously computes the canonical pathname by resolving ., .., and symbolic links.

A canonical pathname is not necessarily unique. Hard links and bind mounts can expose a file system entity through many pathnames.

This function behaves like realpath(3), with some exceptions:

  1. No case conversion is performed on case-insensitive file systems.

  2. The maximum number of symbolic links is platform-independent and generally (much) higher than what the native realpath(3) implementation supports.

The callback gets two arguments (err, resolvedPath). May use process.cwd to resolve relative paths.

Only paths that can be converted to UTF8 strings are supported.

The optional options argument can be a string specifying an encoding, or an object with an encoding property specifying the character encoding to use for the path passed to the callback. If the encoding is set to 'buffer', the path returned will be passed as a Buffer object.

If path resolves to a socket or a pipe, the function will return a system dependent name for that object.

Since

v0.1.31


external fun realpath(path: PathLike, options: BufferEncodingOption, callback: (err: ErrnoException?, resolvedPath: Buffer) -> Unit)(source)
external fun realpath(path: PathLike, options: EncodingOption, callback: (err: ErrnoException?, resolvedPath: Any) -> Unit)(source)

Asynchronous realpath(3) - return the canonicalized absolute pathname.

Parameters

path

A path to a file. If a URL is provided, it must use the file: protocol.

options

The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, 'utf8' is used.


external fun realpath(path: PathLike, callback: (err: ErrnoException?, resolvedPath: String) -> Unit)(source)

Asynchronous realpath(3) - return the canonicalized absolute pathname.

Parameters

path

A path to a file. If a URL is provided, it must use the file: protocol.


suspend external fun realpath(path: PathLike): String(source)
suspend external fun realpath(path: PathLike, options: BufferEncodingOption): Buffer(source)


suspend external fun realpath(path: PathLike, options: ObjectEncodingOptions? = definedExternally): String(source)
suspend external fun realpath(path: PathLike, options: BufferEncoding? = definedExternally): String(source)

Determines the actual location of path using the same semantics as the fs.realpath.native() function.

Only paths that can be converted to UTF8 strings are supported.

The optional options argument can be a string specifying an encoding, or an object with an encoding property specifying the character encoding to use for the path. If the encoding is set to 'buffer', the path returned will be passed as a Buffer object.

On Linux, when Node.js is linked against musl libc, the procfs file system must be mounted on /proc in order for this function to work. Glibc does not have this restriction.

Since

v10.0.0

Return

Fulfills with the resolved path upon success.