all files / src/ index.js

100% Statements 8/8
100% Branches 0/0
100% Functions 2/2
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                           
'use strict';
 
/**
 * module dependencies
 */
var mkdir = require( 'mkdir-bluebird' );
var path = require( 'path' );
 
/**
 * promise wrapper for a linux like mkdir -p that ignores EEXIST by default
 *
 * @param {string|buffer} pathp
 * @param {number} [mode = 0o777]
 * @param {boolean} [ignore = true] ignore `EEXIST` directory errors returned by `fs.mkdir()`
 *
 * @returns {Array}
 */
module.exports = function mkdirp( pathp, mode, ignore ) {
  var built_path = '';
 
  return pathp.split( '/' ).reduce(
    function( promises, path_piece ) {
      built_path = path.join( built_path, path_piece );
      promises.push( mkdir( built_path, mode, ignore ) );
      return promises;
    },
    []
  );
};