You need to sign in or sign up before continuing.
Name Last Update
..
index.js Loading commit data...
license Loading commit data...
package.json Loading commit data...
readme.md Loading commit data...

make-dir Build Status: macOS & Linux Build status: Windows codecov

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

Advantages over mkdirp

  • Promise API (Async/await ready!)
  • Fixes many mkdirp issues: #96 #70 #66
  • 100% test coverage
  • CI-tested on macOS, Linux, and Windows
  • Actively maintained
  • Doesn't bundle a CLI

Install

$ npm install make-dir

Usage

$ pwd
/Users/sindresorhus/fun
$ tree
.
const makeDir = require('make-dir');

makeDir('unicorn/rainbow/cake').then(path => {
    console.log(path);
    //=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'
});
$ tree
.
└── unicorn
    └── rainbow
        └── cake

Multiple directories:

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

Promise.all([
    makeDir('unicorn/rainbow')
    makeDir('foo/bar')
]).then(paths => {
    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 & (~process.umask())

Directory permissions.

fs

Type: Object
Default: require('fs')

Use a custom fs implementation. For example graceful-fs.

Related

License

MIT © Sindre Sorhus