make-dir codecov

Make a directory and its parents if needed - Think mkdir -p

Advantages over mkdirp

Install

$ npm install make-dir

Usage

$ pwd /Users/sindresorhus/fun $ tree .

```js const makeDir = require('make-dir');

(async () => { const path = await makeDir('unicorn/rainbow/cake');

console.log(path);
//=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'

})(); ```

$ tree . └── unicorn └── rainbow └── cake

Multiple directories:

```js const makeDir = require('make-dir');

(async () => { const paths = await Promise.all([ makeDir('unicorn/rainbow'), makeDir('foo/bar') ]);

console.log(paths);
/*
[
    '/Users/sindresorhus/fun/unicorn/rainbow',
    '/Users/sindresorhus/fun/foo/bar'
]
*/

})(); ```

API

makeDir(path, options?)

Returns a Promise for the path to the created directory.

makeDir.sync(path, options?)

Returns the path to the created directory.

path

Type: string

Directory to create.

options

Type: object

mode

Type: integer\ Default: 0o777

Directory permissions.

fs

Type: object\ Default: require('fs')

Use a custom fs implementation. For example 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.

Related


Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.