@visulima/fs
Version:
Human friendly file system utilities for Node.js
24 lines (23 loc) • 1.09 kB
TypeScript
import type { symlink } from "node:fs";
/**
* 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.
* @param target the source file path
* @param linkName the destination link path
* @param type the type of the symlink, or null to use automatic detection
* @returns A void.
* @example
* ```javascript
* import { ensureSymlinkSync } from "@visulima/fs";
* import { join } from "node:path";
*
* // Ensure a symlink /tmp/foo/link-to-bar.txt points to /tmp/foo/bar.txt
* ensureSymlinkSync(join("/tmp", "foo", "bar.txt"), join("/tmp", "foo", "link-to-bar.txt"));
*
* // Ensure a directory symlink /tmp/foo/link-to-baz-dir points to /tmp/foo/baz-dir
* ensureSymlinkSync(join("/tmp", "foo", "baz-dir"), join("/tmp", "foo", "link-to-baz-dir"), "dir");
* ```
*/
declare const ensureSymlinkSync: (target: URL | string, linkName: URL | string, type?: symlink.Type) => void;
export default ensureSymlinkSync;