nuǝW pǝuoᴉʇᴉsoԀ ʎlǝʌᴉʇɐƃǝN
    Wondering what’s next for npm?Check out our public roadmap! »

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

    3.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 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.

    Install

    npm i make-dir

    DownloadsWeekly Downloads

    41,845,368

    Version

    3.1.0

    License

    MIT

    Unpacked Size

    10 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar