Socket
Socket
Sign inDemoInstall

mkdirp

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mkdirp - npm Package Compare versions

Comparing version 0.3.0 to 0.3.1

.npmignore

42

index.js

@@ -6,3 +6,3 @@ var path = require('path');

function mkdirP (p, mode, f) {
function mkdirP (p, mode, f, made) {
if (typeof mode === 'function' || mode === undefined) {

@@ -12,2 +12,3 @@ f = mode;

}
if (!made) made = null;

@@ -19,8 +20,11 @@ var cb = f || function () {};

fs.mkdir(p, mode, function (er) {
if (!er) return cb();
if (!er) {
made = made || p;
return cb(null, made);
}
switch (er.code) {
case 'ENOENT':
mkdirP(path.dirname(p), mode, function (er) {
if (er) cb(er);
else mkdirP(p, mode, cb);
mkdirP(path.dirname(p), mode, function (er, made) {
if (er) cb(er, made);
else mkdirP(p, mode, cb, made);
});

@@ -33,4 +37,4 @@ break;

// let the original EEXIST be the failure reason.
if (er2 || !stat.isDirectory()) cb(er)
else cb();
if (er2 || !stat.isDirectory()) cb(er, made)
else cb(null, made);
});

@@ -40,3 +44,3 @@ break;

default:
cb(er);
cb(er, made);
break;

@@ -47,12 +51,14 @@ }

mkdirP.sync = function sync (p, mode) {
mkdirP.sync = function sync (p, mode, made) {
if (mode === undefined) {
mode = 0777 & (~process.umask());
}
if (!made) made = null;
if (typeof mode === 'string') mode = parseInt(mode, 8);
p = path.resolve(p);
try {
fs.mkdirSync(p, mode)
fs.mkdirSync(p, mode);
made = made || p;
}

@@ -62,7 +68,6 @@ catch (err0) {

case 'ENOENT' :
var err1 = sync(path.dirname(p), mode)
if (err1) throw err1;
else return sync(p, mode);
made = sync(path.dirname(p), mode, made);
sync(p, mode, made);
break;
case 'EEXIST' :

@@ -74,6 +79,5 @@ var stat;

catch (err1) {
throw err0
throw err0;
}
if (!stat.isDirectory()) throw err0;
else return null;
break;

@@ -85,4 +89,4 @@ default :

}
return null;
return made;
};
{
"name" : "mkdirp",
"description" : "Recursively mkdir, like `mkdir -p`",
"version" : "0.3.0",
"version" : "0.3.1",
"author" : "James Halliday <mail@substack.net> (http://substack.net)",

@@ -19,3 +19,3 @@ "main" : "./index",

"devDependencies" : {
"tap" : "0.0.x"
"tap" : "~0.2.4"
},

@@ -22,0 +22,0 @@ "license" : "MIT/X11",

@@ -11,8 +11,13 @@ var mkdirp = require('../');

var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
var file = '/tmp/' + [x,y,z].join('/');
var err = mkdirp.sync(file, 0755);
if (err) t.fail(err);
else path.exists(file, function (ex) {
try {
mkdirp.sync(file, 0755);
} catch (err) {
t.fail(err);
return t.end();
}
path.exists(file, function (ex) {
if (!ex) t.fail('file not created')

@@ -26,4 +31,4 @@ else fs.stat(file, function (err, stat) {

}
})
})
});
});
});

@@ -11,8 +11,13 @@ var mkdirp = require('../');

var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
var file = '/tmp/' + [x,y,z].join('/');
var err = mkdirp.sync(file);
if (err) t.fail(err);
else path.exists(file, function (ex) {
try {
mkdirp.sync(file, 0755);
} catch (err) {
t.fail(err);
return t.end();
}
path.exists(file, function (ex) {
if (!ex) t.fail('file not created')

@@ -26,4 +31,4 @@ else fs.stat(file, function (err, stat) {

}
})
})
});
});
});

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc