Gitlab@Informatics

Skip to content
Snippets Groups Projects
Select Git revision
  • 3bfe0608c0e6db315b4ae6b83afb2078749fe3f7
  • main default protected
  • revert-a98119d8
3 results

readme.md

Blame
  • 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.