Skip to main content

FileSystem module reference

The fs/promises module provides utilities for working with files and can be accessed using an import:

import { readFile } from 'fs/promises';

const content = await readFile('./foo.txt', 'utf8');

Path resolution

All fs/promises paths are resolved relative to the directory of the running operation or script (equivalent to using path.resolve from that directory).

Project sandbox

Kreya scripts can only access files within the Kreya project directory and its subdirectories; access outside this sandbox is blocked.

Functions

appendFile()

Call Signature

function appendFile(
path: string,
data: string,
encodingName?: string): Promise<void>;

Appends data to a file, replacing the file if it already exists.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
datastringThe data to append.
encodingName?stringThe encoding to use: utf8 (default), utf16le, ascii, hex, base64, or base64url.
Returns

Promise<void>

Call Signature

function appendFile(
path: string,
data: string,
options: FileAppendOptions): Promise<void>;

Appends data to a file.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
datastringThe data to append.
optionsFileAppendOptionsThe options.
Returns

Promise<void>

Call Signature

function appendFile(path: string, data: Uint8Array): Promise<void>;

Appends data to a file, replacing the file if it already exists.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
dataUint8ArrayThe data to append.
Returns

Promise<void>

Call Signature

function appendFile(
path: string,
data: Uint8Array,
options: FileAppendOptions): Promise<void>;

Appends data to a file, replacing the file if it already exists (depending on options.flag).

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
dataUint8ArrayThe data to append.
optionsFileAppendOptionsThe options.
Returns

Promise<void>

Call Signature

function appendFile(
path: string,
data: Uint8Array,
options: FileAppendOptions): Promise<void>;

Appends data to a file, replacing the file if it already exists (depending on options.flag).

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
dataUint8ArrayThe data to append.
optionsFileAppendOptionsThe options.
Returns

Promise<void>


readFile()

Call Signature

function readFile(path: string): Promise<Uint8Array<ArrayBufferLike>>;

Reads the entire content of a file.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
Returns

Promise<Uint8Array<ArrayBufferLike>>

The data of the file.

Call Signature

function readFile(path: string, encodingName: string): Promise<string>;

Reads the entire content of a file.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
encodingNamestringThe encoding to use: utf8 (default), utf16le, ascii, hex, base64, or base64url.
Returns

Promise<string>

The contents of the file.

Call Signature

function readFile(path: string, options: FileReadOptions): Promise<Uint8Array<ArrayBufferLike>> | Promise<string>;

Reads the entire content of a file.

Parameters
ParameterTypeDescription
pathstringThe path of the file (resolved relative to the running script).
optionsFileReadOptionsThe options to read the file, including encoding.
Returns

Promise<Uint8Array<ArrayBufferLike>> | Promise<string>

The file content as string if an encoding is provided, as Uint8Array otherwise.


writeFile()

Call Signature

function writeFile(
path: string,
data: string,
encodingName?: string): Promise<void>;

Writes data to a file, replacing the file if it already exists.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
datastringThe data to write.
encodingName?stringThe encoding to use: utf8 (default), utf16le, ascii, hex, base64, or base64url.
Returns

Promise<void>

Call Signature

function writeFile(
path: string,
data: string,
options: FileWriteOptions): Promise<void>;

Writes data to a file, replacing the file if it already exists (depending on options.flag).

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
datastringThe data to write.
optionsFileWriteOptionsThe options.
Returns

Promise<void>

Call Signature

function writeFile(path: string, data: Uint8Array): Promise<void>;

Writes data to a file, replacing the file if it already exists.

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
dataUint8ArrayThe data to write.
Returns

Promise<void>

Call Signature

function writeFile(
path: string,
data: Uint8Array,
options: FileWriteOptions): Promise<void>;

Writes data to a file, replacing the file if it already exists (depending on options.flag).

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
dataUint8ArrayThe data to write.
optionsFileWriteOptionsThe options.
Returns

Promise<void>

Call Signature

function writeFile(
path: string,
data: Uint8Array,
options: FileWriteOptions): Promise<void>;

Writes data to a file, replacing the file if it already exists (depending on options.flag).

Parameters
ParameterTypeDescription
pathstringThe path to the file (resolved relative to the directory of the running script/operation).
dataUint8ArrayThe data to write.
optionsFileWriteOptionsThe options.
Returns

Promise<void>

Type Aliases

FileAppendOptions

type FileAppendOptions = {
encoding?: string;
flag?: string;
};

Options to append to files.

Properties

encoding?
optional encoding: string;

The encoding to use: utf8 (default), utf16le, ascii, hex, base64, or base64url.

flag?
optional flag: string;

File system flag (default a). Supported values: a, ax, a+, ax+, as, as+, w, wx, w+, wx+, r, rs, r+, rs+. Use an x suffix to fail if the file exists, + to allow reading, and s to open synchronously. See also https://nodejs.org/api/fs.html#file-system-flags.


FileReadOptions

type FileReadOptions = {
encoding?: string;
};

Options when reading a file.

Properties

encoding?
optional encoding: string;

The encoding to use: utf8 (default), utf16le, ascii, hex, base64, or base64url.


FileWriteOptions

type FileWriteOptions = {
encoding?: string;
flag?: string;
};

Options to write files.

Properties

encoding?
optional encoding: string;

The encoding to use: utf8 (default), utf16le, ascii, hex, base64, or base64url.

flag?
optional flag: string;

File system flag (default w). Supported values: w, wx, w+, wx+, a, ax, a+, ax+, as, as+, r, rs, r+, rs+. Use an x suffix to fail if the file exists, + to allow reading, and s to open synchronously. See also https://nodejs.org/api/fs.html#file-system-flags.