Ensure directories exist before writing to them.
Last updated 4 years ago by phated .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install fs-mkdirp-stream 
SYNC missed versions from official npm registry.


NPM version Downloads Build Status AppVeyor Build Status Coveralls Status Gitter chat

Ensure directories exist before writing to them.


var to = require('to2');
var from = require('from2');
var mkdirpStream = require('fs-mkdirp-stream');

from.obj([{ dirname: '/path/to/my/', path: '/path/to/my/file.js' }])
  .pipe(mkdirpStream.obj(function(obj, callback) {
    // callback can take 3 arguments (err, dirname, mode)
    callback(null, obj.dirname);
  .pipe(to.obj(function(obj) {
    // This will be called once the directory exists
    // obj === { dirname: '/path/to/my/', path: '/path/to/my/file.js' }



Takes a resolver function or string and returns a through2 stream.

If the resolver is a function, it will be called once per chunk with the signature (chunk, callback). The callback(error, dirpath, mode) must be called with the dirpath to be created as the 2nd parameter or an error as the 1st parameter; optionally with a mode as the 3rd parameter.

If the resolver is a string, it will be created/ensured for each chunk (e.g. if it were deleted between chunks, it would be recreated). When using a string, a custom mode can't be used.


The same as the top-level API but for object streams. See the example to see the benefit of object streams with this module.



Contains a custom implementation of mkdirp originally based on https://github.com/substack/node-mkdirp (Licensed MIT/X11 - Copyright 2010 James Halliday) with heavy modification to better support custom modes.

Current Tags

  • 1.0.0                                ...           latest (4 years ago)

1 Versions

  • 1.0.0                                ...           4 years ago
Maintainers (2)
Today 262
This Week 262
This Month 46,537
Last Day 826
Last Week 14,947
Last Month 69,304
Dependencies (2)
Dev Dependencies (10)

Copyright 2014 - 2017 © taobao.org |