make-dir

WebJar for make-dir

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

make-dir
Last Version

Last Version

3.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

make-dir
WebJar for make-dir
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/sindresorhus/make-dir

Download make-dir

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/make-dir/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>make-dir</artifactId>
    <version>3.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/make-dir/
implementation 'org.webjars.npm:make-dir:3.1.0'
// https://jarcasting.com/artifacts/org.webjars.npm/make-dir/
implementation ("org.webjars.npm:make-dir:3.1.0")
'org.webjars.npm:make-dir:jar:3.1.0'
<dependency org="org.webjars.npm" name="make-dir" rev="3.1.0">
  <artifact name="make-dir" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='make-dir', version='3.1.0')
)
libraryDependencies += "org.webjars.npm" % "make-dir" % "3.1.0"
[org.webjars.npm/make-dir "3.1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : semver jar [6.0.0,7)

Project Modules

There are no modules declared in this project.

make-dir 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 the native 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

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


Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

Versions

Version
3.1.0
2.1.0
1.3.0
1.2.0
1.1.0
1.0.0