UNPKG

@visulima/fs

Version:

Human friendly file system utilities for Node.js

2,904 lines (1,625 loc) 72.6 kB
<div align="center"> <h3>Visulima fs</h3> <p> Human friendly file system utilities for Node.js </p> </div> <br /> <div align="center"> [![typescript-image]][typescript-url] [![npm-image]][npm-url] [![license-image]][license-url] </div> --- <div align="center"> <p> <sup> Daniel Bannert's open source work is supported by the community on <a href="https://github.com/sponsors/prisis">GitHub Sponsors</a> </sup> </p> </div> --- ## Install ```sh npm install @visulima/fs ``` ```sh yarn add @visulima/fs ``` ```sh pnpm add @visulima/fs ``` ## Usage ## walk ```typescript import { walk } from "@visulima/fs"; const filesAndFolders: string[] = []; for await (const index of walk(`${__dirname}/fixtures`, {})) { filesAndFolders.push(index.path); } console.log(filesAndFolders); ``` ## walkSync ```typescript import { walkSync } from "@visulima/fs"; const filesAndFolders: string[] = []; for (const index of walkSync(`${__dirname}/fixtures`, {})) { filesAndFolders.push(index.path); } console.log(filesAndFolders); ``` ### API for `walk` and `walkSync` #### path Type: `string` The directory to start from. #### options Type: `object` #### maxDepth Type: `number` Default: `Infinity` Optional: `true` Description: The maximum depth of the file tree to be walked recursively. #### includeFiles Type: `boolean` Default: `true` Optional: `true` Description: Indicates whether file entries should be included or not. #### includeDirs Type: `boolean` Default: `true` Optional: `true` Description: Indicates whether directory entries should be included or not. #### includeSymlinks Type: `boolean` Default: `true` Optional: `true` Description: Indicates whether symlink entries should be included or not. This option is meaningful only if followSymlinks is set to false. #### followSymlinks Type: `boolean` Default: `false` Optional: `true` Description: Indicates whether symlinks should be resolved or not. #### extensions Type: `string[]` Default: `undefined` Optional: `true` Description: List of file extensions used to filter entries. If specified, entries without the file extension specified by this option are excluded. #### match Type: `(RegExp | string)[]` Default: `undefined` Optional: `true` Description: List of regular expression or [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) patterns used to filter entries. If specified, entries that do not match the patterns specified by this option are excluded. #### skip Type: `(RegExp | string)[]` Default: `undefined` Optional: `true` Description: List of regular expression or [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) patterns used to filter entries. If specified, entries matching the patterns specified by this option are excluded. ## findUp Find a file or directory by walking up parent directories. ```typescript import { findUp } from "@visulima/fs"; // Returns a Promise for the found path or undefined if it could not be found. const file = await findUp("package.json"); console.log(file); ``` ## findUpSync Find a file or directory by walking up parent directories. ```typescript import { findUpSync } from "@visulima/fs"; // Returns the found path or undefined if it could not be found. const file = findUpSync("package.json"); console.log(file); ``` ### API for `findUp` and `findUpSync` #### name Type: `string[] | string | ((directory: PathLike) => PathLike | Promise<PathLike | typeof FIND_UP_STOP> | typeof FIND_UP_STOP)` \ Sync Type: `string[] | string | ((directory: PathLike) => PathLike | typeof FIND_UP_STOP)` The name of the file or directory to find. > If an array is specified, the first item that exists will be returned. > A function that will be called with each directory until it returns a string with the path, which stops the search, or the root directory has been reached and nothing was found. Useful if you want to match files with certain patterns, set of permissions, or other advanced use-cases. > > When using async mode, the matcher may optionally be an async or promise-returning function that returns the path. #### options Type: `object` ##### cwd Type: `URL | string`\ Default: `process.cwd()` The directory to start from. ##### type Type: `string`\ Default: `'file'`\ Values: `'file' | 'directory'` The type of path to match. ##### stopAt Type: `URL | string`\ Default: Root directory A directory path where the search halts if no matches are found before reaching this point. ##### allowSymlinks Type: `boolean`\ Default: `true` Allow symbolic links to match if they point to the target file or directory. ## readFile Read a file. ```typescript import { readFile } from "@visulima/fs"; // Returns a Promise for the file contents. const file = await readFile("package.json"); console.log(file); ``` ## readFileSync Read a file. ```typescript import { readFileSync } from "@visulima/fs"; // Returns the file contents. const file = readFileSync("package.json"); console.log(file); ``` ### API for `readFile` and `readFileSync` #### path Type: `string` The path to the file to read. #### options Type: `object` ##### buffer Type: `boolean` Default: `true` Optional: `true` Description: Indicates whether the file contents should be returned as a Buffer or a string. ##### compression Type: `"brotli" | "gzip" | undefined` Default: `undefined` Optional: `true` Description: The file compression. ##### encoding Type: `"ascii" | "base64" | "base64url" | "hex" | "latin1" | "ucs-2" | "ucs2" | "utf-8" | "utf-16le" | "utf8" | "utf16le" | undefined` Default: `utf8` Optional: `true` #### flag Type: `number | string | undefined` Default: `'r'` Optional: `true` ## isAccessible Check if a file or directory exists and is accessible. ```typescript import { isAccessible } from "@visulima/fs"; // Returns a Promise for the result. const file = await isAccessible("package.json"); console.log(file); ``` ## isAccessibleSync Check if a file or directory exists and is accessible. ```typescript import { isAccessibleSync } from "@visulima/fs"; // Returns the result. const file = isAccessibleSync("package.json"); console.log(file); ``` ### API for `isAccessible` and `isAccessibleSync` #### path Type: `string` The path to the file or directory to check. #### mode Type: `number` Default: `fs.constants.F_OK` Optional: `true` Description: The accessibility mode. --- # Utilities ## parseJson Parse JSON with more helpful errors. ```typescript import { parseJson, JSONError } from "@visulima/fs/utils"; const json = '{\n\t"foo": true,\n}'; JSON.parse(json); /* undefined:3 } ^ SyntaxError: Unexpected token } */ parseJson(json); /* JSONError: Unexpected token } in JSON at position 16 while parsing near '{ "foo": true,}' 1 | { 2 | "foo": true, > 3 | } | ^ */ parseJson(json, "foo.json"); /* JSONError: Unexpected token } in JSON at position 16 while parsing near '{ "foo": true,}' in foo.json 1 | { 2 | "foo": true, > 3 | } | ^ */ ``` ### API for `parseJson` #### json Type: `string` The JSON string to parse. #### reviver Type: `Function` Prescribes how the value originally produced by parsing is transformed, before being returned. See [JSON.parse docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter) for more. #### filename Type: `string` The filename to use in error messages. ### API for `JSONError` Exposed for use in `instanceof` checks. #### fileName Type: `string` The filename displayed in the error message. #### codeFrame Type: `string` The printable section of the JSON which produces the error. ## Api Docs <!-- TYPEDOC --> # error ## Classes ### AlreadyExistsError Error thrown when file already exists. #### Extends - `Error` #### Constructors ##### new AlreadyExistsError() ```ts new AlreadyExistsError(message): AlreadyExistsError ``` Creates a new instance. ###### Parameters • **message**: `string` The error message. ###### Returns [`AlreadyExistsError`](error.md#alreadyexistserror) ###### Overrides `Error.constructor` ###### Defined in [packages/fs/src/error/already-exists-error.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/already-exists-error.ts#L9) #### Accessors ##### code ```ts get code(): string ``` ```ts set code(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Defined in [packages/fs/src/error/already-exists-error.ts:14](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/already-exists-error.ts#L14) ##### name ```ts get name(): string ``` ```ts set name(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Overrides `Error.name` ###### Defined in [packages/fs/src/error/already-exists-error.ts:24](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/already-exists-error.ts#L24) #### Methods ##### captureStackTrace() ```ts static captureStackTrace(targetObject, constructorOpt?): void ``` Create .stack property on a target object ###### Parameters • **targetObject**: `object` • **constructorOpt?**: `Function` ###### Returns `void` ###### Inherited from `Error.captureStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:20 #### Properties ##### cause? ```ts optional cause: unknown; ``` ###### Inherited from `Error.cause` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24 ##### message ```ts message: string; ``` ###### Inherited from `Error.message` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1077 ##### stack? ```ts optional stack: string; ``` ###### Inherited from `Error.stack` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1078 ##### prepareStackTrace()? ```ts static optional prepareStackTrace: (err, stackTraces) => any; ``` Optional override for formatting stack traces ###### Parameters • **err**: `Error` • **stackTraces**: `CallSite`[] ###### Returns `any` ###### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces ###### Inherited from `Error.prepareStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:27 ##### stackTraceLimit ```ts static stackTraceLimit: number; ``` ###### Inherited from `Error.stackTraceLimit` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:29 --- ### DirectoryError Error thrown when an operation is not allowed on a directory. #### Extends - `Error` #### Constructors ##### new DirectoryError() ```ts new DirectoryError(message): DirectoryError ``` Creates a new instance. ###### Parameters • **message**: `string` The error message. ###### Returns [`DirectoryError`](error.md#directoryerror) ###### Overrides `Error.constructor` ###### Defined in [packages/fs/src/error/directory-error.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/directory-error.ts#L9) #### Accessors ##### code ```ts get code(): string ``` ```ts set code(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Defined in [packages/fs/src/error/directory-error.ts:14](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/directory-error.ts#L14) ##### name ```ts get name(): string ``` ```ts set name(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Overrides `Error.name` ###### Defined in [packages/fs/src/error/directory-error.ts:24](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/directory-error.ts#L24) #### Methods ##### captureStackTrace() ```ts static captureStackTrace(targetObject, constructorOpt?): void ``` Create .stack property on a target object ###### Parameters • **targetObject**: `object` • **constructorOpt?**: `Function` ###### Returns `void` ###### Inherited from `Error.captureStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:20 #### Properties ##### cause? ```ts optional cause: unknown; ``` ###### Inherited from `Error.cause` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24 ##### message ```ts message: string; ``` ###### Inherited from `Error.message` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1077 ##### stack? ```ts optional stack: string; ``` ###### Inherited from `Error.stack` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1078 ##### prepareStackTrace()? ```ts static optional prepareStackTrace: (err, stackTraces) => any; ``` Optional override for formatting stack traces ###### Parameters • **err**: `Error` • **stackTraces**: `CallSite`[] ###### Returns `any` ###### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces ###### Inherited from `Error.prepareStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:27 ##### stackTraceLimit ```ts static stackTraceLimit: number; ``` ###### Inherited from `Error.stackTraceLimit` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:29 --- ### NotEmptyError Error thrown when a directory is not empty. #### Extends - `Error` #### Constructors ##### new NotEmptyError() ```ts new NotEmptyError(message): NotEmptyError ``` Creates a new instance. ###### Parameters • **message**: `string` The error message. ###### Returns [`NotEmptyError`](error.md#notemptyerror) ###### Overrides `Error.constructor` ###### Defined in [packages/fs/src/error/not-empty-error.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/not-empty-error.ts#L9) #### Accessors ##### code ```ts get code(): string ``` ```ts set code(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Defined in [packages/fs/src/error/not-empty-error.ts:14](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/not-empty-error.ts#L14) ##### name ```ts get name(): string ``` ```ts set name(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Overrides `Error.name` ###### Defined in [packages/fs/src/error/not-empty-error.ts:24](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/not-empty-error.ts#L24) #### Methods ##### captureStackTrace() ```ts static captureStackTrace(targetObject, constructorOpt?): void ``` Create .stack property on a target object ###### Parameters • **targetObject**: `object` • **constructorOpt?**: `Function` ###### Returns `void` ###### Inherited from `Error.captureStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:20 #### Properties ##### cause? ```ts optional cause: unknown; ``` ###### Inherited from `Error.cause` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24 ##### message ```ts message: string; ``` ###### Inherited from `Error.message` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1077 ##### stack? ```ts optional stack: string; ``` ###### Inherited from `Error.stack` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1078 ##### prepareStackTrace()? ```ts static optional prepareStackTrace: (err, stackTraces) => any; ``` Optional override for formatting stack traces ###### Parameters • **err**: `Error` • **stackTraces**: `CallSite`[] ###### Returns `any` ###### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces ###### Inherited from `Error.prepareStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:27 ##### stackTraceLimit ```ts static stackTraceLimit: number; ``` ###### Inherited from `Error.stackTraceLimit` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:29 --- ### NotFoundError Error thrown when a file or directory is not found. #### Extends - `Error` #### Constructors ##### new NotFoundError() ```ts new NotFoundError(message): NotFoundError ``` Creates a new instance. ###### Parameters • **message**: `string` The error message. ###### Returns [`NotFoundError`](error.md#notfounderror) ###### Overrides `Error.constructor` ###### Defined in [packages/fs/src/error/not-found-error.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/not-found-error.ts#L9) #### Accessors ##### code ```ts get code(): string ``` ```ts set code(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Defined in [packages/fs/src/error/not-found-error.ts:14](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/not-found-error.ts#L14) ##### name ```ts get name(): string ``` ```ts set name(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Overrides `Error.name` ###### Defined in [packages/fs/src/error/not-found-error.ts:24](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/not-found-error.ts#L24) #### Methods ##### captureStackTrace() ```ts static captureStackTrace(targetObject, constructorOpt?): void ``` Create .stack property on a target object ###### Parameters • **targetObject**: `object` • **constructorOpt?**: `Function` ###### Returns `void` ###### Inherited from `Error.captureStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:20 #### Properties ##### cause? ```ts optional cause: unknown; ``` ###### Inherited from `Error.cause` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24 ##### message ```ts message: string; ``` ###### Inherited from `Error.message` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1077 ##### stack? ```ts optional stack: string; ``` ###### Inherited from `Error.stack` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1078 ##### prepareStackTrace()? ```ts static optional prepareStackTrace: (err, stackTraces) => any; ``` Optional override for formatting stack traces ###### Parameters • **err**: `Error` • **stackTraces**: `CallSite`[] ###### Returns `any` ###### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces ###### Inherited from `Error.prepareStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:27 ##### stackTraceLimit ```ts static stackTraceLimit: number; ``` ###### Inherited from `Error.stackTraceLimit` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:29 --- ### PermissionError Error thrown when an operation is not permitted. #### Extends - `Error` #### Constructors ##### new PermissionError() ```ts new PermissionError(message): PermissionError ``` Creates a new instance. ###### Parameters • **message**: `string` The error message. ###### Returns [`PermissionError`](error.md#permissionerror) ###### Overrides `Error.constructor` ###### Defined in [packages/fs/src/error/permission-error.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/permission-error.ts#L9) #### Accessors ##### code ```ts get code(): string ``` ```ts set code(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Defined in [packages/fs/src/error/permission-error.ts:14](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/permission-error.ts#L14) ##### name ```ts get name(): string ``` ```ts set name(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Overrides `Error.name` ###### Defined in [packages/fs/src/error/permission-error.ts:24](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/permission-error.ts#L24) #### Methods ##### captureStackTrace() ```ts static captureStackTrace(targetObject, constructorOpt?): void ``` Create .stack property on a target object ###### Parameters • **targetObject**: `object` • **constructorOpt?**: `Function` ###### Returns `void` ###### Inherited from `Error.captureStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:20 #### Properties ##### cause? ```ts optional cause: unknown; ``` ###### Inherited from `Error.cause` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24 ##### message ```ts message: string; ``` ###### Inherited from `Error.message` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1077 ##### stack? ```ts optional stack: string; ``` ###### Inherited from `Error.stack` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1078 ##### prepareStackTrace()? ```ts static optional prepareStackTrace: (err, stackTraces) => any; ``` Optional override for formatting stack traces ###### Parameters • **err**: `Error` • **stackTraces**: `CallSite`[] ###### Returns `any` ###### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces ###### Inherited from `Error.prepareStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:27 ##### stackTraceLimit ```ts static stackTraceLimit: number; ``` ###### Inherited from `Error.stackTraceLimit` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:29 --- ### WalkError Error thrown in walk or walkSync during iteration. #### Extends - `Error` #### Constructors ##### new WalkError() ```ts new WalkError(cause, root): WalkError ``` Constructs a new instance. ###### Parameters • **cause**: `unknown` • **root**: `string` ###### Returns [`WalkError`](error.md#walkerror) ###### Overrides `Error.constructor` ###### Defined in [packages/fs/src/error/walk-error.ts:12](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/walk-error.ts#L12) #### Accessors ##### name ```ts get name(): string ``` ```ts set name(_name): void ``` ###### Parameters • **\_name**: `string` ###### Returns `string` ###### Overrides `Error.name` ###### Defined in [packages/fs/src/error/walk-error.ts:21](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/walk-error.ts#L21) #### Methods ##### captureStackTrace() ```ts static captureStackTrace(targetObject, constructorOpt?): void ``` Create .stack property on a target object ###### Parameters • **targetObject**: `object` • **constructorOpt?**: `Function` ###### Returns `void` ###### Inherited from `Error.captureStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:20 #### Properties ##### cause? ```ts optional cause: unknown; ``` ###### Inherited from `Error.cause` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24 ##### message ```ts message: string; ``` ###### Inherited from `Error.message` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1077 ##### root ```ts root: string; ``` File path of the root that's being walked. ###### Defined in [packages/fs/src/error/walk-error.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/error/walk-error.ts#L9) ##### stack? ```ts optional stack: string; ``` ###### Inherited from `Error.stack` ###### Defined in node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts:1078 ##### prepareStackTrace()? ```ts static optional prepareStackTrace: (err, stackTraces) => any; ``` Optional override for formatting stack traces ###### Parameters • **err**: `Error` • **stackTraces**: `CallSite`[] ###### Returns `any` ###### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces ###### Inherited from `Error.prepareStackTrace` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:27 ##### stackTraceLimit ```ts static stackTraceLimit: number; ``` ###### Inherited from `Error.stackTraceLimit` ###### Defined in node_modules/.pnpm/@types+node@18.19.15/node_modules/@types/node/globals.d.ts:29 ## References ### JSONError Re-exports [JSONError](utils.md#jsonerror) # index ## Functions ### collect() ```ts function collect(directory, options): Promise<string[]>; ``` #### Parameters • **directory**: `string` • **options**: [`WalkOptions`](index.md#walkoptions) = `{}` #### Returns `Promise`\<`string`[]\> #### Defined in [packages/fs/src/find/collect.ts:4](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/find/collect.ts#L4) --- ### collectSync() ```ts function collectSync(directory, options): string[]; ``` #### Parameters • **directory**: `string` • **options**: [`WalkOptions`](index.md#walkoptions) = `{}` #### Returns `string`[] #### Defined in [packages/fs/src/find/collect-sync.ts:4](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/find/collect-sync.ts#L4) --- ### detect() ```ts function detect(content): "\n" | "\r\n"; ``` Detect the EOL character for string input. Returns null if no newline. #### Parameters • **content**: `string` #### Returns "\n" \| "\r\n" #### Defined in [packages/fs/src/eol.ts:20](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/eol.ts#L20) --- ### emptyDir() ```ts function emptyDir(dir, options?): Promise<void>; ``` Ensures that a directory is empty. Deletes directory contents if the directory is not empty. If the directory does not exist, it is created. The directory itself is not deleted. #### Parameters • **dir**: `string` \| `URL` • **options?**: [`EmptyDirOptions`](index.md#emptydiroptions) #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/remove/empty-dir.ts:19](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/remove/empty-dir.ts#L19) --- ### emptyDirSync() ```ts function emptyDirSync(dir, options?): void; ``` Ensures that a directory is empty. Deletes directory contents if the directory is not empty. If the directory does not exist, it is created. The directory itself is not deleted. #### Parameters • **dir**: `string` \| `URL` • **options?**: [`EmptyDirOptions`](index.md#emptydiroptions) #### Returns `void` #### Defined in [packages/fs/src/remove/empty-dir-sync.ts:18](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/remove/empty-dir-sync.ts#L18) --- ### ensureDir() ```ts function ensureDir(directory): Promise<void>; ``` Ensures that the directory exists. If the directory structure does not exist, it is created. Like mkdir -p. #### Parameters • **directory**: `string` \| `URL` #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/ensure/ensure-dir.ts:12](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-dir.ts#L12) --- ### ensureDirSync() ```ts function ensureDirSync(directory): void; ``` Ensures that the directory exists. If the directory structure does not exist, it is created. Like mkdir -p. #### Parameters • **directory**: `string` \| `URL` #### Returns `void` #### Defined in [packages/fs/src/ensure/ensure-dir-sync.ts:12](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-dir-sync.ts#L12) --- ### ensureFile() ```ts function ensureFile(filePath): Promise<void>; ``` Ensures that the file exists. If the file that is requested to be created is in directories that do not exist, these directories are created. If the file already exists, it is NOTMODIFIED. #### Parameters • **filePath**: `string` \| `URL` #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/ensure/ensure-file.ts:16](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-file.ts#L16) --- ### ensureFileSync() ```ts function ensureFileSync(filePath): void; ``` Ensures that the file exists. If the file that is requested to be created is in directories that do not exist, these directories are created. If the file already exists, it is NOTMODIFIED. #### Parameters • **filePath**: `string` \| `URL` #### Returns `void` #### Defined in [packages/fs/src/ensure/ensure-file-sync.ts:16](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-file-sync.ts#L16) --- ### ensureLink() ```ts function ensureLink(source, destination): Promise<void>; ``` Ensures that the hard link exists. If the directory structure does not exist, it is created. #### Parameters • **source**: `string` \| `URL` • **destination**: `string` \| `URL` #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/ensure/ensure-link.ts:15](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-link.ts#L15) --- ### ensureLinkSync() ```ts function ensureLinkSync(source, destination): void; ``` Ensures that the hard link exists. If the directory structure does not exist, it is created. #### Parameters • **source**: `string` \| `URL` • **destination**: `string` \| `URL` #### Returns `void` #### Defined in [packages/fs/src/ensure/ensure-link-sync.ts:15](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-link-sync.ts#L15) --- ### ensureSymlink() ```ts function ensureSymlink(target, linkName, type?): Promise<void>; ``` Ensures that the link exists, and points to a valid file. If the directory structure does not exist, it is created. If the link already exists, it is not modified but error is thrown if it is not point to the given target. #### Parameters • **target**: `string` \| `URL` the source file path • **linkName**: `string` \| `URL` the destination link path • **type?**: `Type` the type of the symlink, or null to use automatic detection #### Returns `Promise`\<`void`\> A void promise that resolves once the link exists. #### Defined in [packages/fs/src/ensure/ensure-symlink.ts:28](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-symlink.ts#L28) --- ### ensureSymlinkSync() ```ts function ensureSymlinkSync(target, linkName, type?): void; ``` Ensures that the link exists, and points to a valid file. If the directory structure does not exist, it is created. If the link already exists, it is not modified but error is thrown if it is not point to the given target. #### Parameters • **target**: `string` \| `URL` the source file path • **linkName**: `string` \| `URL` the destination link path • **type?**: `Type` the type of the symlink, or null to use automatic detection #### Returns `void` A void. #### Defined in [packages/fs/src/ensure/ensure-symlink-sync.ts:28](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/ensure/ensure-symlink-sync.ts#L28) --- ### findUp() ```ts function findUp(name, options): Promise<string>; ``` #### Parameters • **name**: [`FindUpName`](index.md#findupname) • **options**: [`FindUpOptions`](index.md#findupoptions) = `{}` #### Returns `Promise`\<`string`\> #### Defined in [packages/fs/src/find/find-up.ts:11](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/find/find-up.ts#L11) --- ### findUpSync() ```ts function findUpSync(name, options): string; ``` #### Parameters • **name**: [`FindUpNameSync`](index.md#findupnamesync) • **options**: [`FindUpOptions`](index.md#findupoptions) = `{}` #### Returns `string` #### Defined in [packages/fs/src/find/find-up-sync.ts:11](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/find/find-up-sync.ts#L11) --- ### format() ```ts function format(content, eol): string; ``` Format the file to the targeted EOL. #### Parameters • **content**: `string` • **eol**: "\n" \| "\r\n" #### Returns `string` #### Defined in [packages/fs/src/eol.ts:36](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/eol.ts#L36) --- ### isAccessible() ```ts function isAccessible(path, mode?): Promise<boolean>; ``` Returns a Promise that resolves to a boolean indicating if the path is accessible or not. #### Parameters • **path**: `string` \| `URL` • **mode?**: `number` #### Returns `Promise`\<`boolean`\> #### Defined in [packages/fs/src/is-accessible.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/is-accessible.ts#L9) --- ### isAccessibleSync() ```ts function isAccessibleSync(path, mode?): boolean; ``` Returns a boolean indicating if the path is accessible or not. #### Parameters • **path**: `string` \| `URL` • **mode?**: `number` #### Returns `boolean` #### Defined in [packages/fs/src/is-accessible-sync.ts:9](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/is-accessible-sync.ts#L9) --- ### move() ```ts function move(sourcePath, destinationPath, options): Promise<void>; ``` Move a file asynchronously. #### Parameters • **sourcePath**: `string` The file you want to move. • **destinationPath**: `string` Where you want the file moved. • **options**: [`MoveOptions`](index.md#moveoptions) = `{}` Configuration options. #### Returns `Promise`\<`void`\> A `Promise` that resolves when the file has been moved. #### Example ``` import { moveFile } from '@visulima/fs'; await moveFile('source/test.png', 'destination/test.png'); console.log('The file has been moved'); ``` #### Defined in [packages/fs/src/move/index.ts:35](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/move/index.ts#L35) --- ### moveSync() ```ts function moveSync(sourcePath, destinationPath, options?): void; ``` Move a file synchronously. #### Parameters • **sourcePath**: `string` The file you want to move. • **destinationPath**: `string` Where you want the file moved. • **options?**: [`MoveOptions`](index.md#moveoptions) Configuration options. #### Returns `void` Nothing is returned. #### Example ``` import { moveFileSync } from '@visulima/fs'; moveFileSync('source/test.png', 'destination/test.png'); console.log('The file has been moved'); ``` #### Defined in [packages/fs/src/move/index.ts:61](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/move/index.ts#L61) --- ### readFile() ```ts function readFile<O>(path, options?): Promise<ContentType<O>>; ``` #### Type Parameters • **O** _extends_ [`ReadFileOptions`](index.md#readfileoptionsc)\<`"brotli"` \| `"gzip"` \| `"none"`\> = `undefined` #### Parameters • **path**: `string` \| `URL` • **options?**: `O` #### Returns `Promise`\<`ContentType`\<`O`\>\> #### Defined in [packages/fs/src/read/read-file.ts:20](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-file.ts#L20) --- ### readFileSync() ```ts function readFileSync<O>(path, options?): ContentType<O>; ``` #### Type Parameters • **O** _extends_ [`ReadFileOptions`](index.md#readfileoptionsc)\<`"brotli"` \| `"gzip"` \| `"none"`\> = `undefined` #### Parameters • **path**: `string` \| `URL` • **options?**: `O` #### Returns `ContentType`\<`O`\> #### Defined in [packages/fs/src/read/read-file-sync.ts:18](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-file-sync.ts#L18) --- ### readJson() #### readJson(path, options) ```ts function readJson<T>(path, options?): Promise<T>; ``` ##### Type Parameters • **T** _extends_ `JsonValue` ##### Parameters • **path**: `string` \| `URL` • **options?**: [`ReadJsonOptions`](index.md#readjsonoptions) ##### Returns `Promise`\<`T`\> ##### Defined in [packages/fs/src/read/read-json.ts:8](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-json.ts#L8) #### readJson(path, reviver, options) ```ts function readJson<T>(path, reviver, options?): Promise<T>; ``` ##### Type Parameters • **T** _extends_ `JsonValue` ##### Parameters • **path**: `string` \| `URL` • **reviver** • **options?**: [`ReadJsonOptions`](index.md#readjsonoptions) ##### Returns `Promise`\<`T`\> ##### Defined in [packages/fs/src/read/read-json.ts:10](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-json.ts#L10) --- ### readJsonSync() #### readJsonSync(path, options) ```ts function readJsonSync<T>(path, options?): T; ``` ##### Type Parameters • **T** _extends_ `JsonValue` ##### Parameters • **path**: `string` \| `URL` • **options?**: [`ReadJsonOptions`](index.md#readjsonoptions) ##### Returns `T` ##### Defined in [packages/fs/src/read/read-json-sync.ts:8](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-json-sync.ts#L8) #### readJsonSync(path, reviver, options) ```ts function readJsonSync<T>(path, reviver, options?): T; ``` ##### Type Parameters • **T** _extends_ `JsonValue` ##### Parameters • **path**: `string` \| `URL` • **reviver** • **options?**: [`ReadJsonOptions`](index.md#readjsonoptions) ##### Returns `T` ##### Defined in [packages/fs/src/read/read-json-sync.ts:10](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-json-sync.ts#L10) --- ### readYaml() #### readYaml(path, options) ```ts function readYaml<R>(path, options?): Promise<R>; ``` ##### Type Parameters • **R** = `Record`\<`string`, `unknown`\> ##### Parameters • **path**: `string` \| `URL` • **options?**: `ReadYamlOptions`\<`"brotli"` \| `"gzip"` \| `"none"`\> ##### Returns `Promise`\<`R`\> ##### Defined in [packages/fs/src/read/read-yaml.ts:6](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-yaml.ts#L6) #### readYaml(path, reviver, options) ```ts function readYaml<R>(path, reviver?, options?): Promise<R>; ``` ##### Type Parameters • **R** = `Record`\<`string`, `unknown`\> ##### Parameters • **path**: `string` \| `URL` • **reviver?**: `YamlReviver` • **options?**: `ReadYamlOptions`\<`"brotli"` \| `"gzip"` \| `"none"`\> ##### Returns `Promise`\<`R`\> ##### Defined in [packages/fs/src/read/read-yaml.ts:7](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-yaml.ts#L7) --- ### readYamlSync() #### readYamlSync(path, options) ```ts function readYamlSync<R>(path, options?): R; ``` ##### Type Parameters • **R** = `Record`\<`string`, `unknown`\> ##### Parameters • **path**: `string` \| `URL` • **options?**: `ReadYamlOptions`\<`"brotli"` \| `"gzip"` \| `"none"`\> ##### Returns `R` ##### Defined in [packages/fs/src/read/read-yaml-sync.ts:6](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-yaml-sync.ts#L6) #### readYamlSync(path, reviver, options) ```ts function readYamlSync<R>(path, reviver?, options?): R; ``` ##### Type Parameters • **R** = `Record`\<`string`, `unknown`\> ##### Parameters • **path**: `string` \| `URL` • **reviver?**: `YamlReviver` • **options?**: `ReadYamlOptions`\<`"brotli"` \| `"gzip"` \| `"none"`\> ##### Returns `R` ##### Defined in [packages/fs/src/read/read-yaml-sync.ts:7](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/read/read-yaml-sync.ts#L7) --- ### remove() ```ts function remove(path, options): Promise<void>; ``` #### Parameters • **path**: `string` \| `URL` • **options** = `{}` • **options.maxRetries?**: `number` If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or `EPERM` error is encountered, Node.js will retry the operation with a linear backoff wait of `retryDelay` ms longer on each try. This option represents the number of retries. This option is ignored if the `recursive` option is not `true`. **Default** ```ts 0; ``` • **options.retryDelay?**: `number` The amount of time in milliseconds to wait between retries. This option is ignored if the `recursive` option is not `true`. **Default** ```ts 100; ``` #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/remove/remove.ts:5](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/remove/remove.ts#L5) --- ### removeSync() ```ts function removeSync(path, options): void; ``` #### Parameters • **path**: `string` \| `URL` • **options** = `{}` • **options.maxRetries?**: `number` If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or `EPERM` error is encountered, Node.js will retry the operation with a linear backoff wait of `retryDelay` ms longer on each try. This option represents the number of retries. This option is ignored if the `recursive` option is not `true`. **Default** ```ts 0; ``` • **options.retryDelay?**: `number` The amount of time in milliseconds to wait between retries. This option is ignored if the `recursive` option is not `true`. **Default** ```ts 100; ``` #### Returns `void` #### Defined in [packages/fs/src/remove/remove-sync.ts:5](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/remove/remove-sync.ts#L5) --- ### rename() ```ts function rename(source, destination, options?): Promise<void>; ``` Rename a file asynchronously. #### Parameters • **source**: `string` The file you want to rename. • **destination**: `string` The name of the renamed file. • **options?**: [`MoveOptions`](index.md#moveoptions) Configuration options. #### Returns `Promise`\<`void`\> A `Promise` that resolves when the file has been renamed. #### Example ``` import { renameFile } from '@visulima/fs'; await renameFile('test.png', 'tests.png', {cwd: 'source'}); console.log('The file has been renamed'); ``` #### Defined in [packages/fs/src/move/index.ts:85](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/move/index.ts#L85) --- ### renameSync() ```ts function renameSync(source, destination, options?): void; ``` Rename a file synchronously. #### Parameters • **source**: `string` The file you want to rename. • **destination**: `string` The name of the renamed file. • **options?**: [`MoveOptions`](index.md#moveoptions) Configuration options. #### Returns `void` A `Promise` that resolves when the file has been renamed. #### Example ``` import {renameFileSync} from '@visulima/fs'; renameFileSync('test.png', 'tests.png', {cwd: 'source'}); console.log('The file has been renamed'); ``` #### Defined in [packages/fs/src/move/index.ts:109](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/move/index.ts#L109) --- ### walk() ```ts function walk(directory, __namedParameters): AsyncIterableIterator<WalkEntry>; ``` Walks the file tree rooted at root, yielding each file or directory in the tree filtered according to the given options. Options: - maxDepth?: number = Infinity; - includeFiles?: boolean = true; - includeDirs?: boolean = true; - includeSymlinks?: boolean = true; - followSymlinks?: boolean = false; - extensions?: string[]; - match?: string | ReadonlyArray<string>; - skip?: string | ReadonlyArray<string>; #### Parameters • **directory**: `string` \| `URL` • **\_\_namedParameters**: [`WalkOptions`](index.md#walkoptions) = `{}` #### Returns `AsyncIterableIterator`\<[`WalkEntry`](index.md#walkentry)\> #### Defined in [packages/fs/src/find/walk.ts:52](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/find/walk.ts#L52) --- ### walkSync() ```ts function walkSync(directory, __namedParameters): IterableIterator<WalkEntry>; ``` Same as [`walk`](index.md#walk) but uses synchronous ops #### Parameters • **directory**: `string` \| `URL` • **\_\_namedParameters**: [`WalkOptions`](index.md#walkoptions) = `{}` #### Returns `IterableIterator`\<[`WalkEntry`](index.md#walkentry)\> #### Defined in [packages/fs/src/find/walk-sync.ts:40](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/find/walk-sync.ts#L40) --- ### writeFile() ```ts function writeFile(path, content, options?): Promise<void>; ``` #### Parameters • **path**: `string` \| `URL` • **content**: `string` \| `ArrayBuffer` \| `ArrayBufferView` • **options?**: [`WriteFileOptions`](index.md#writefileoptions) #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/write/write-file.ts:15](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-file.ts#L15) --- ### writeFileSync() ```ts function writeFileSync(path, content, options?): void; ``` #### Parameters • **path**: `string` \| `URL` • **content**: `string` \| `ArrayBuffer` \| `ArrayBufferView` • **options?**: [`WriteFileOptions`](index.md#writefileoptions) #### Returns `void` #### Defined in [packages/fs/src/write/write-file-sync.ts:15](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-file-sync.ts#L15) --- ### writeJson() ```ts function writeJson(path, data, options): Promise<void>; ``` #### Parameters • **path**: `string` \| `URL` • **data**: `unknown` • **options**: [`WriteJsonOptions`](index.md#writejsonoptions) = `{}` #### Returns `Promise`\<`void`\> #### Defined in [packages/fs/src/write/write-json.ts:11](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-json.ts#L11) --- ### writeJsonSync() ```ts function writeJsonSync(path, data, options): void; ``` #### Parameters • **path**: `string` \| `URL` • **data**: `unknown` • **options**: [`WriteJsonOptions`](index.md#writejsonoptions) = `{}` #### Returns `void` #### Defined in [packages/fs/src/write/write-json-sync.ts:11](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-json-sync.ts#L11) --- ### writeYaml() #### writeYaml(path, data, options) ```ts function writeYaml(path, data, options?): Promise<void>; ``` ##### Parameters • **path**: `string` \| `URL` • **data**: `any` • **options?**: `Options` ##### Returns `Promise`\<`void`\> ##### Defined in [packages/fs/src/write/write-yaml.ts:10](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-yaml.ts#L10) #### writeYaml(path, data, replacer, options) ```ts function writeYaml(path, data, replacer?, options?): Promise<void>; ``` ##### Parameters • **path**: `string` \| `URL` • **data**: `any` • **replacer?**: [`JsonReplacer`](index.md#jsonreplacer) • **options?**: `string` \| `number` \| `Options` ##### Returns `Promise`\<`void`\> ##### Defined in [packages/fs/src/write/write-yaml.ts:16](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-yaml.ts#L16) --- ### writeYamlSync() #### writeYamlSync(path, data, options) ```ts function writeYamlSync(path, data, options?): void; ``` ##### Parameters • **path**: `string` \| `URL` • **data**: `any` • **options?**: `Options` ##### Returns `void` ##### Defined in [packages/fs/src/write/write-yaml-sync.ts:10](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/fs/src/write/write-yaml-sync.ts#L10) #### writeYamlSync(path, data, replacer, options) ```ts function writeYamlSync(path, data, replacer?, options?): void; ``` ##### Parameters • **path**: `string` \| `URL` • **data**: `any` • **replacer?**: [`JsonReplacer`](index.md#jsonreplacer) • **options?**: `string` \| `number` \| `Options` ##### Returns `void` ##### Defined in [packages/fs/src/write/write-yaml-sync.ts:16](https://github.com/visulima/visulima/blob/78872bace21a0cb329dd2a18a673d0b630371107/packages/f