Socket
Socket
Sign inDemoInstall

sander

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sander - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

test/index.js

124

index.js

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

// sander.copy, sander.copySync
// sander.copyFile, sander.copyFileSync
[ true, false ].forEach( function ( isSync ) {

@@ -451,2 +451,124 @@ var qualifiedMethodName, method;

// sander.copydir, sander.copydirSync
[ true, false ].forEach( function ( isSync ) {
var qualifiedMethodName, method;
qualifiedMethodName = isSync ? 'copydirSync' : 'copydir';
method = function () {
var src, readOptions, pathargs, i;
if ( typeof arguments[ arguments.length - 1 ] === 'object' ) {
readOptions = arguments[ arguments.length - 1 ];
i = arguments.length - 1;
pathargs = [];
while ( i-- ) {
pathargs[i] = arguments[i];
}
} else {
pathargs = arguments;
}
src = resolve( pathargs );
return {
to: function () {
var dest, writeOptions, pathargs, i, copydir;
if ( typeof arguments[ arguments.length - 1 ] === 'object' ) {
writeOptions = arguments[ arguments.length - 1 ];
i = arguments.length - 1;
pathargs = [];
while ( i-- ) {
pathargs[i] = arguments[i];
}
} else {
pathargs = arguments;
}
dest = resolve( pathargs );
if ( isSync ) {
copydir = function ( src, dest ) {
mkdirp.sync( dest );
fs.readdirSync( src ).forEach( function ( filename ) {
var srcpath = src + path.sep + filename,
destpath = dest + path.sep + filename;
if ( fs.statSync( srcpath ).isDirectory() ) {
return copydir( srcpath, destpath );
}
data = fs.readFileSync( srcpath, readOptions );
fs.writeFileSync( destpath, data, writeOptions );
});
};
return copydir( src, dest );
}
copydir = function ( src, dest, cb ) {
mkdirp( dest, function ( err ) {
if ( err ) return cb( err );
fs.readdir( src, function ( err, files ) {
var remaining,
check;
if ( err ) return cb( err );
remaining = files.length;
check = function ( err ) {
if ( err ) {
return cb( err );
}
if ( !--remaining ) {
cb();
}
};
files.forEach( function ( filename ) {
var srcpath = src + path.sep + filename,
destpath = dest + path.sep + filename;
fs.stat( srcpath, function ( err, stats ) {
var readStream, writeStream;
if ( stats.isDirectory() ) {
return copydir( srcpath, destpath, check );
}
readStream = fs.createReadStream( srcpath, readOptions );
writeStream = fs.createWriteStream( destpath, writeOptions );
readStream.on( 'error', cb );
writeStream.on( 'error', cb );
writeStream.on( 'close', check );
readStream.pipe( writeStream );
});
});
});
});
};
return new Promise( function ( fulfil, reject ) {
copydir( src, dest, function ( err ) {
if ( err ) return reject( err );
fulfil();
});
});
}
};
};
sander[ qualifiedMethodName ] = method;
});
// sander.lsr, sander.lsrSync

@@ -453,0 +575,0 @@ sander.lsr = function () {

7

package.json

@@ -5,3 +5,3 @@ {

"author": "Rich Harris",
"version": "0.1.2",
"version": "0.1.3",
"dependencies": {

@@ -12,3 +12,6 @@ "es6-promise": "^1.0.0",

},
"main": "lib/index.js"
"main": "lib/index.js",
"devDependencies": {
"buffer-crc32": "^0.2.3"
}
}
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