Socket
Socket
Sign inDemoInstall

fs.extra

Package Overview
Dependencies
7
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    fs.extra

fs.move and fs.copy for Node.JS


Version published
Weekly downloads
53K
decreased by-16.3%
Maintainers
1
Install size
129 kB
Created
Weekly downloads
 

Readme

Source

fs.extra

Extra file utilities for node.js

Includes

  • copy
  • copyRecursive
  • mkdirp
  • move
  • walk
  • rmrf

Install

npm install --save fs.extra

Usage

// this will have all of a copy of the normal fs methods as well
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', { replace: false }, function (err) {
  if (err) {
    // i.e. file already exists or can't write to directory
    throw err;
  }

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

Options are optional. replace defaults to false, but will replace existing files if set to true.

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.mkdirRecursive

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.mkdirRecursiveSync

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.rmRecursive

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.rmRecursiveSync

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 and Backwards Compatibility

For the sake of backwards compatability, you can call the recursive functions with their names as such

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

License

Copyright AJ ONeal 2011-2015

This project is available under the MIT and Apache v2 licenses.

FAQs

Last updated on 15 Jan 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc