Skip to content

Replacements for mkdirp / make-dir

Recursive fs.mkdir (native, since Node.js v10.12.0)

Node.js v10.12.0 and up supports the recursive option in the fs.mkdir function, which allows parent directories to be created automatically.

Example migration from mkdirp:

ts
import { mkdirp } from 'mkdirp'
import { mkdir, mkdirSync } from 'node:fs'
import { mkdir as mkdirAsync } from 'node:fs/promises'

// Async
await mkdirp('/tmp/foo/bar/baz') 
await mkdirAsync('/tmp/foo/bar/baz', { recursive: true }) 

// Sync
mkdirp.sync('/tmp/foo/bar/baz') 
mkdirSync('/tmp/foo/bar/baz', { recursive: true }) 

Example migration from make-dir:

ts
import { makeDirectory, makeDirectorySync } from 'make-dir'
import { mkdir, mkdirSync } from 'node:fs'
import { mkdir as mkdirAsync } from 'node:fs/promises'

// Async
await makeDirectory('/tmp/foo/bar/baz') 
await mkdirAsync('/tmp/foo/bar/baz', { recursive: true }) 

// Sync
makeDirectorySync('/tmp/foo/bar/baz') 
mkdirSync('/tmp/foo/bar/baz', { recursive: true }) 

Released under the MIT License. (d9b91096)