Skip to main content
promises.mkdtemp - fs - Node documentation
function promises.mkdtemp

Usage in Deno

import { promises } from "node:fs";
mkdtemp(
prefix: string,
options?:
ObjectEncodingOptions
| BufferEncoding
| null
,
): Promise<string>

Creates a unique temporary directory. A unique directory name is generated by appending six random characters to the end of the provided prefix. Due to platform inconsistencies, avoid trailing X characters in prefix. Some platforms, notably the BSDs, can return more than six random characters, and replace trailing X characters in prefix with random characters.

The optional options argument can be a string specifying an encoding, or an object with an encoding property specifying the character encoding to use.

import { mkdtemp } from 'node:fs/promises';
import { join } from 'node:path';
import { tmpdir } from 'node:os';

try {
  await mkdtemp(join(tmpdir(), 'foo-'));
} catch (err) {
  console.error(err);
}

The fsPromises.mkdtemp() method will append the six randomly selected characters directly to the prefix string. For instance, given a directory /tmp, if the intention is to create a temporary directory within /tmp, the prefix must end with a trailing platform-specific path separator (import { sep } from 'node:path').

Parameters

prefix: string
optional
options:
ObjectEncodingOptions
| BufferEncoding
| null

Return Type

Promise<string>

Fulfills with a string containing the file system path of the newly created temporary directory.

mkdtemp(
prefix: string,
): Promise<Buffer>

Asynchronously creates a unique temporary directory. Generates six random characters to be appended behind a required prefix to create a unique temporary directory.

Parameters

prefix: string

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

Return Type

Promise<Buffer>
mkdtemp(
prefix: string,
options?:
ObjectEncodingOptions
| BufferEncoding
| null
,
): Promise<string | Buffer>

Asynchronously creates a unique temporary directory. Generates six random characters to be appended behind a required prefix to create a unique temporary directory.

Parameters

prefix: string
optional
options:
ObjectEncodingOptions
| BufferEncoding
| null

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

Return Type

Promise<string | Buffer>