htc b500366a42 首次提交 10 月之前
..
node_modules b500366a42 首次提交 10 月之前
index.d.ts b500366a42 首次提交 10 月之前
index.js b500366a42 首次提交 10 月之前
license b500366a42 首次提交 10 月之前
package.json b500366a42 首次提交 10 月之前
readme.md b500366a42 首次提交 10 月之前

readme.md

make-dir Build Status 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
  • Uses native the fs.mkdir/mkdirSync recursive option 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

License

MIT © Sindre Sorhus