mkdirAsync

Asynchronously creates a directory.

The optional options argument can be an integer specifying mode (permission and sticky bits), or an object with a mode property and a recursive property indicating whether parent directories should be created. Calling fsPromises.mkdir() when path is a directory that exists results in a rejection only when recursive is false.

import { mkdir } from 'node:fs/promises';

try {
const projectFolder = new URL('./test/project/', import.meta.url);
const createDir = await mkdir(projectFolder, { recursive: true });

console.log(`created ${createDir}`);
} catch (err) {
console.error(err.message);
}

Since

v10.0.0

Return

Upon success, fulfills with undefined if recursive is false, or the first directory path created if recursive is true.


external fun mkdirAsync(path: PathLike): Promise<Void>(source)
external fun mkdirAsync(path: PathLike, options: Mode? = definedExternally): Promise<Void>(source)
external fun mkdirAsync(path: PathLike, options: MkdirAsyncOptions? = definedExternally): Promise<Void>(source)
external fun mkdirAsync(path: PathLike, options: MakeDirectoryOptions? = definedExternally): Promise<String?>(source)

Asynchronous mkdir(2) - create a directory.

Parameters

path

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

options

Either the file mode, or an object optionally specifying the file mode and whether parent folders should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to 0o777.