Nigerian Prince Meme

    make-dir
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    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

    Install

    npm i make-dir@2.1.0

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    9.2 kB

    Total Files

    5

    Last publish

    Collaborators

    • sindresorhus