Logo

0x5a.live

for different kinds of informations and explorations.

GitHub - sindresorhus/make-dir: Make a directory and its parents if needed - Think `mkdir -p`

Make a directory and its parents if needed - Think `mkdir -p` - sindresorhus/make-dir

Visit SiteGitHub - sindresorhus/make-dir: Make a directory and its parents if needed - Think `mkdir -p`

GitHub - sindresorhus/make-dir: Make a directory and its parents if needed - Think `mkdir -p`

Make a directory and its parents if needed - Think `mkdir -p` - sindresorhus/make-dir

Powered by 0x5a.live ๐Ÿ’—

make-dir

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

[!TIP] You probably want the built-in fsPromises.mkdir('โ€ฆ', {recursive: true}) instead.

Advantages over fsPromises.mkdir('โ€ฆ', {recursive: true})

  • Supports a custom fs implementation.

Advantages over mkdirp

  • Promise API (Async/await ready!)
  • Fixes many mkdirp issues
  • 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 unless overridden

Install

npm install make-dir

Usage

$ pwd
/Users/sindresorhus/fun
$ tree
.
import {makeDirectory} from 'make-dir';

const path = await makeDirectory('unicorn/rainbow/cake');

console.log(path);
//=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'
$ tree
.
โ””โ”€โ”€ unicorn
    โ””โ”€โ”€ rainbow
        โ””โ”€โ”€ cake

Multiple directories:

import {makeDirectory} from 'make-dir';

const paths = await Promise.all([
	makeDirectory('unicorn/rainbow'),
	makeDirectory('foo/bar')
]);

console.log(paths);
/*
[
	'/Users/sindresorhus/fun/unicorn/rainbow',
	'/Users/sindresorhus/fun/foo/bar'
]
*/

API

makeDirectory(path, options?)

Returns a Promise for the path to the created directory.

makeDirectorySync(path, options?)

Returns the path to the created directory.

path

Type: string

The directory to create.

options

Type: object

mode

Type: integer
Default: 0o777

The directory permissions.

fs

Type: object
Default: import fs from 'node: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

Cross Platform Resources

are all listed below.

Resources

listed to get explored on!!

Made with โค๏ธ

to provide different kinds of informations and resources.