make-dir
    Overview
    Documentation
    Tutorials
    Chat
    Insights
    Code
    Dependencies
    Contributors
    Jobs

make-dir

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

3.0.0  •  Updated 1 years ago  •  by Sindre Sorhus  •  MIT License

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

Popularity

Maintenance

Development

Last ver 1 year ago
Created 3 years ago
Last commit 1 month ago
1 month between commits

Technology

Node version: 8.15.0
9.5K unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

8 contributors
Sindre Sorhus
Maintainer, 26 commits, 15 merges
Corey Farrell
5 commits, 5 PRs
Works at CFWare, LLC
Ryan Zimmerman
4 commits, 5 PRs
Works at ExodusMovement
Dimitri Benin
2 commits, 2 PRs
Rouven Weßling
1 commits, 1 PRs
Works at contentful
Brandon Smith
1 commits, 1 PRs

Tags

mkdir
mkdirp
make
directories
dir
dirs
folders
directory
folder
path
parent
parents
intermediate
recursively
recursive
create
fs
filesystem
file-system
Openbase helps developers choose among and use millions of open-source packages, so they can build amazing products faster.
FacebookTwitterLinkedIn
© 2020 Devstore, Inc.