JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 81611
  • Score
    100M100P100Q145805F

fs.move and fs.copy for Node.JS

Package Exports

  • fs.extra

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fs.extra) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

fs.extra

Adds copy, copyRecursive, mkdirp, move, walk, and rmrf to Node.JS' fs.

Install with npm install -S fs.extra

// this will have all of the normal fs methods
var fs = require('fs.extra');

fs.copy

Creates an fs.readStream and fs.writeStream and uses util.pump to efficiently copy.

fs.copy('foo.txt', 'bar.txt', function (err) {
  if (err) {
    throw err;
  }

  console.log("Copied 'foo.txt' to 'bar.txt');
});

fs.copyRecursive

Basically a local rsync, uses fs.copy to recursively copy files and folders (with correct permissions).

fs.copyRecursive('./foo', './bar', function (err) {
  if (err) {
    throw err;
  }

  console.log("Copied './foo' to './bar');
});

fs.mkdirp

Included from https://github.com/substack/node-mkdirp

// fs.mkdirp(path, mode=(0777 & (~process.umask())), cb);

fs.mkdirp('/tmp/foo/bar/baz', function (err) {
  if (err) {
    console.error(err);
  } else {
    console.log('pow!')
  }
});

fs.mkdirpSync

Included from https://github.com/substack/node-mkdirp

// fs.mkdirpSync(path, mode=(0777 & (~process.umask())));

try {
  fs.mkdirpSync('/tmp/foo/bar/baz');
} catch(e) {
  throw e;
}

fs.move

Attempts fs.rename, then tries fs.copy + fs.unlink before failing.

fs.move('foo.txt', 'bar.txt', function (err) {
  if (err) {
    throw err;
  }

  console.log("Moved 'foo.txt' to 'bar.txt');
});

fs.rmrf

Included from https://github.com/jprichardson/node-fs-extra

Recursively deletes a directory (like rm -rf)

// fs.rmrf(dir, callback);

fs.rmrf('/choose/me/carefully/', function (err) {
  if (err) {
    console.error(err);
  }
});

fs.rmrfSync

Included from https://github.com/jprichardson/node-fs-extra

Recursively deletes a directory (like rm -rf)

// fs.rmrfSync(dir);

fs.rmrfSync('/choose/me/carefully/');

fs.walk

See https://github.com/coolaj86/node-walk

var walker = fs.walk(dir)
  ;

// file, files, directory, directories
walker.on("file", function (root, stat, next) {
  var filepath = path.join(root, stat.name)
    ;

  console.log(filepath);
});

Aliases

For the sake of consistency you can call the recursive functions with their names as such

fs.rmRecursive <- fs.rmrf
fs.rmRecursiveSync <- fs.rmrfSync
fs.mkdirRecursive <- fs.mkdirp
fs.mkdirRecursiveSync <- fs.mkdirpSync