| /// <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; |