mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-03 23:53:34 +00:00 
			
		
		
		
	make-dir 
 
Make a directory and its parents if needed - Think
mkdir -p
Advantages over mkdirp
- Promise API (Async/await ready!)
 - Fixes many 
mkdirpissues: #96 #70 #66 - 100% test coverage
 - CI-tested on macOS, Linux, and Windows
 - Actively maintained
 - Doesn't bundle a CLI
 - Uses native the 
fs.mkdir/mkdirSyncrecursiveoption in Node.js >=10.12.0 unless overridden 
Install
$ npm install make-dir
Usage
$ 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'
	]
	*/
})();
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.
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
- make-dir-cli - CLI for this module
 - del - Delete files and directories
 - globby - User-friendly glob matching
 - cpy - Copy files
 - cpy-cli - Copy files on the command-line
 - move-file - Move a file
 
License
MIT © Sindre Sorhus