xfs

extends fs module, easy way to manipulate file system, support both sync functions and async functions

Usage no npm install needed!

<script type="module">
  import xfs from 'https://cdn.skypack.dev/xfs';
</script>

README

xfs

xfs is a module extends build-in fs module, let file manipulate easily

Build Status

xfs extends the following functions :

async functions

  • mkdir(path,cb) make directories and their contents recursively
  • rmdir(path,cb) remove directories and their contents recursively
  • rename(src,dest,cb) rename file across two different devices
  • walk(dir, expr, each, done); walk through dir, each file will pass to each() , when walk done, done() called
// walk traverse through files in the dir one by one
// get only js files in dir
fs.walk(dir, /\.js$/, function (err, file, done) {
  // your code here

  // in the end , must call done()
  done();
}, function (err) {
  // your code
});

// function walk() can also accept an `function type` expr
fs.walk(dir, function (fpath) {
  // return bool, true means accept, false means ignore
  return true
}, function (err, file, done) {

}, function (err) {

});

// or you can save the done function

fs.walk(dir, /\.js$/, function (err, file){
  // your code here
});

sync functions

  • rm(path)
  • mkdir(path)
  • save(path, data[, options|encoding])
var sync = xfs.sync();
// shell > rm -r path
sync.rm(path);
// shell > mkdir -p path
sync.mkdir(path);
// save file auto create dir if not exist
// node >= v0.10.0
sync.save(path, data, option); // when node >= v0.10.0, the last param is option
sync.save(path, data, encoding); // when node < v0.10.0, the last param is encoding

... to be contine

symlink file, rm will failed

License

MIT