-
-
Notifications
You must be signed in to change notification settings - Fork 22
/
index.d.ts
67 lines (50 loc) · 1.6 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import type * as fs from 'node:fs';
export type Options = {
/**
The directory [permissions](https://x-team.com/blog/file-system-permissions-umask-node-js/).
@default 0o777
*/
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: `import fs from 'node:fs'`
*/
readonly fs?: typeof fs;
};
/**
Make a directory and its parents if needed - Think `mkdir -p`.
@param path - The directory to create.
@returns The path to the created directory.
@example
```
import {makeDirectory} from 'make-dir';
const path = await makeDirectory('unicorn/rainbow/cake');
console.log(path);
//=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'
// Multiple directories:
const paths = await Promise.all([
makeDirectory('unicorn/rainbow'),
makeDirectory('foo/bar')
]);
console.log(paths);
// [
// '/Users/sindresorhus/fun/unicorn/rainbow',
// '/Users/sindresorhus/fun/foo/bar'
// ]
```
*/
export function makeDirectory(path: string, options?: Options): Promise<string>;
/**
Synchronously make a directory and its parents if needed - Think `mkdir -p`.
@param path - The directory to create.
@returns The path to the created directory.
@example
```
import {makeDirectorySync} from 'make-dir';
const path = makeDirectorySync('unicorn/rainbow/cake');
console.log(path);
//=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'
```
*/
export function makeDirectorySync(path: string, options?: Options): string;