You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
/// <reference types="node"/> |
|
import * as fs from 'fs'; |
|
|
|
export interface Options { |
|
/** |
|
* Directory [permissions](https://x-team.com/blog/file-system-permissions-umask-node-js/). |
|
* |
|
* @default 0o777 & (~process.umask()) |
|
*/ |
|
readonly mode?: number; |
|
|
|
/** |
|
* Use a custom `fs` implementation. For example [`graceful-fs`](https://github.com/isaacs/node-graceful-fs). |
|
* |
|
* Using a custom `fs` implementation will block the use of the native `recursive` option if `fs.mkdir` or `fs.mkdirSync` is not the native function. |
|
* |
|
* @default require('fs') |
|
*/ |
|
readonly fs?: typeof fs; |
|
} |
|
|
|
/** |
|
* Make a directory and its parents if needed - Think `mkdir -p`. |
|
* |
|
* @param path - Directory to create. |
|
* @returns A `Promise` for the path to the created directory. |
|
*/ |
|
export default function makeDir( |
|
path: string, |
|
options?: Options |
|
): Promise<string>; |
|
|
|
/** |
|
* Synchronously make a directory and its parents if needed - Think `mkdir -p`. |
|
* |
|
* @param path - Directory to create. |
|
* @returns The path to the created directory. |
|
*/ |
|
export function sync(path: string, options?: Options): string;
|
|
|