Interface: FileSystemAPI
Defined in: packages/core/src/runtime.ts:165
File system operations interface
Remarks
Subset of Node.js fs module needed by unblessed for:
- Reading terminfo/termcap files
- Loading font definitions
- Logging and debugging
- Temporary file operations
Examples
const runtime = getRuntime();
const data = runtime.fs.readFileSync('/usr/share/terminfo/x/xterm');
const runtime = getRuntime();
if (runtime.fs.existsSync('/path/to/file')) {
const content = runtime.fs.readFileSync('/path/to/file', 'utf8');
}
Properties
readFileSync()
readFileSync: {(
path,options?):Buffer; (path,options):string; (path,options?):string|Buffer; }
Defined in: packages/core/src/runtime.ts:166
Call Signature
(
path,options?):Buffer
Returns the contents of the path.
For detailed information, see the documentation of the asynchronous version of this API: readFile.
If the encoding option is specified then this function returns a
string. Otherwise it returns a buffer.
Similar to readFile, when the path is a directory, the behavior of fs.readFileSync() is platform-specific.
import { readFileSync } from 'node:fs';
// macOS, Linux, and Windows
readFileSync('<directory>');
// => [Error: EISDIR: illegal operation on a directory, read <directory>]
// FreeBSD
readFileSync('<directory>'); // => <data>
Parameters
path
PathOrFileDescriptor
filename or file descriptor
options?
{ encoding?: null; flag?: string; } | null
Returns
Buffer
Since
v0.1.8
Call Signature
(
path,options):string
Synchronously reads the entire contents of a file.
Parameters
path
PathOrFileDescriptor
A path to a file. If a URL is provided, it must use the file: protocol.
If a file descriptor is provided, the underlying file will not be closed automatically.
options
Either the encoding for the result, or an object that contains the encoding and an optional flag.
If a flag is not provided, it defaults to 'r'.
BufferEncoding | { encoding: BufferEncoding; flag?: string; }
Returns
string
Call Signature
(
path,options?):string|Buffer
Synchronously reads the entire contents of a file.
Parameters
path
PathOrFileDescriptor
A path to a file. If a URL is provided, it must use the file: protocol.
If a file descriptor is provided, the underlying file will not be closed automatically.
options?
Either the encoding for the result, or an object that contains the encoding and an optional flag.
If a flag is not provided, it defaults to 'r'.
BufferEncoding | ObjectEncodingOptions & object | null
Returns
string | Buffer
readdirSync()
readdirSync: {(
path,options?):string[]; (path,options):Buffer[]; (path,options?):string[] |Buffer[]; (path,options):Dirent<string>[]; (path,options):Dirent<Buffer>[]; }
Defined in: packages/core/src/runtime.ts:167
Call Signature
(
path,options?):string[]
Reads the contents of the directory.
See the POSIX readdir(3) documentation for more details.
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 filenames returned. If the encoding is set to 'buffer',
the filenames returned will be passed as Buffer objects.
If options.withFileTypes is set to true, the result will contain fs.Dirent objects.
Parameters
path
PathLike
options?
BufferEncoding | { encoding: BufferEncoding | null; withFileTypes?: false; recursive?: boolean; } | null
Returns
string[]
Since
v0.1.21
Call Signature
(
path,options):Buffer[]
Synchronous readdir(3) - read a directory.
Parameters
path
PathLike
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.
{ encoding: "buffer"; withFileTypes?: false; recursive?: boolean; } | "buffer"
Returns
Buffer[]
Call Signature
(
path,options?):string[] |Buffer[]
Synchronous readdir(3) - read a directory.
Parameters
path
PathLike
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.
BufferEncoding | ObjectEncodingOptions & object | null
Returns
string[] | Buffer[]
Call Signature
(
path,options):Dirent<string>[]
Synchronous readdir(3) - read a directory.
Parameters
path
PathLike
A path to a file. If a URL is provided, it must use the file: protocol.
options
ObjectEncodingOptions & object
If called with withFileTypes: true the result data will be an array of Dirent.
Returns
Dirent<string>[]
Call Signature
(
path,options):Dirent<Buffer>[]
Synchronous readdir(3) - read a directory.
Parameters
path
PathLike
A path to a file. If a URL is provided, it must use the file: protocol.
options
Must include withFileTypes: true and encoding: 'buffer'.
encoding
"buffer"
withFileTypes
true
recursive?
boolean
Returns
Dirent<Buffer>[]
existsSync()
existsSync: (
path) =>boolean
Defined in: packages/core/src/runtime.ts:168
Returns true if the path exists, false otherwise.
For detailed information, see the documentation of the asynchronous version of this API: exists.
fs.exists() is deprecated, but fs.existsSync() is not. The callback parameter to fs.exists() accepts parameters that are inconsistent with other
Node.js callbacks. fs.existsSync() does not use a callback.
import { existsSync } from 'node:fs';
if (existsSync('/etc/passwd'))
console.log('The path exists.');
Parameters
path
PathLike
Returns
boolean
Since
v0.1.21
statSync
statSync:
StatSyncFn
Defined in: packages/core/src/runtime.ts:169
mkdirSync()
mkdirSync: {(
path,options):string|undefined; (path,options?):void; (path,options?):string|undefined; }
Defined in: packages/core/src/runtime.ts:170
Call Signature
(
path,options):string|undefined
Synchronously creates a directory. Returns undefined, or if recursive is true, the first directory path created.
This is the synchronous version of mkdir.
See the POSIX mkdir(2) documentation for more details.
Parameters
path
PathLike
options
MakeDirectoryOptions & object
Returns
string | undefined
Since
v0.1.21
Call Signature
(
path,options?):void
Synchronous mkdir(2) - create a directory.
Parameters
path
PathLike
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.
Mode | MakeDirectoryOptions & object | null
Returns
void
Call Signature
(
path,options?):string|undefined
Synchronous mkdir(2) - create a directory.
Parameters
path
PathLike
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.
MakeDirectoryOptions | Mode | null
Returns
string | undefined
createWriteStream()
createWriteStream: (
path,options?) =>WriteStream
Defined in: packages/core/src/runtime.ts:171
options may also include a start option to allow writing data at some
position past the beginning of the file, allowed values are in the
[0, Number.MAX_SAFE_INTEGER] range. Modifying a file rather than
replacing it may require the flags option to be set to r+ rather than the
default w. The encoding can be any one of those accepted by Buffer.
If autoClose is set to true (default behavior) on 'error' or 'finish' the file descriptor will be closed automatically. If autoClose is false,
then the file descriptor won't be closed, even if there's an error.
It is the application's responsibility to close it and make sure there's no
file descriptor leak.
By default, the stream will emit a 'close' event after it has been
destroyed. Set the emitClose option to false to change this behavior.
By providing the fs option it is possible to override the corresponding fs implementations for open, write, writev, and close. Overriding write() without writev() can reduce
performance as some optimizations (_writev())
will be disabled. When providing the fs option, overrides for at least one of write and writev are required. If no fd option is supplied, an override
for open is also required. If autoClose is true, an override for close is also required.
Like fs.ReadStream, if fd is specified, fs.WriteStream will ignore the path argument and will use the specified file descriptor. This means that no 'open' event will be
emitted. fd should be blocking; non-blocking fds
should be passed to net.Socket.
If options is a string, then it specifies the encoding.
Parameters
path
PathLike
options?
BufferEncoding | WriteStreamOptions
Returns
WriteStream
Since
v0.1.31
readFile
readFile: typeof
readFile
Defined in: packages/core/src/runtime.ts:172
unlink
unlink: typeof
unlink
Defined in: packages/core/src/runtime.ts:173
writeFile
writeFile: typeof
writeFile
Defined in: packages/core/src/runtime.ts:174
stat
stat: typeof
stat
Defined in: packages/core/src/runtime.ts:175
readdir
readdir: typeof
readdir
Defined in: packages/core/src/runtime.ts:176
lstatSync
lstatSync:
StatSyncFn
Defined in: packages/core/src/runtime.ts:177
readlinkSync()
readlinkSync: {(
path,options?):string; (path,options):Buffer; (path,options?):string|Buffer; }
Defined in: packages/core/src/runtime.ts:178
Call Signature
(
path,options?):string
Returns the symbolic link's string value.
See the POSIX readlink(2) documentation for more details.
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 link path returned. If the encoding is set to 'buffer',
the link path returned will be passed as a Buffer object.
Parameters
path
PathLike
options?
EncodingOption
Returns
string
Since
v0.1.31
Call Signature
(
path,options):Buffer
Synchronous readlink(2) - read value of a symbolic link.
Parameters
path
PathLike
A path to a file. If a URL is provided, it must use the file: protocol.
options
BufferEncodingOption
The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, 'utf8' is used.
Returns
Buffer
Call Signature
(
path,options?):string|Buffer
Synchronous readlink(2) - read value of a symbolic link.
Parameters
path
PathLike
A path to a file. If a URL is provided, it must use the file: protocol.
options?
EncodingOption
The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, 'utf8' is used.
Returns
string | Buffer