Make a directory and its parents if needed - Think
mkdir -p
mkdirpmkdirp issues: #96 #70 #66fs.mkdir/mkdirSync recursive option in Node.js >=10.12.0 unless overridden$ npm install make-dir
$ pwd
/Users/sindresorhus/fun
$ tree
.
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:
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'
	]
	*/
})();
Returns a Promise for the path to the created directory.
Returns the path to the created directory.
Type: string
Directory to create.
Type: object
Type: integer\
Default: 0o777
Directory permissions.
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.