Skip to content

Commit

Permalink
moving some things around
Browse files Browse the repository at this point in the history
  • Loading branch information
AJ ONeal committed Jul 26, 2012
1 parent 77b9c31 commit 3ce4059
Show file tree
Hide file tree
Showing 13 changed files with 156 additions and 135 deletions.
6 changes: 6 additions & 0 deletions .gitmodules
@@ -0,0 +1,6 @@
[submodule "fs-extra"]
path = fs-extra
url = git://github.com/jprichardson/node-fs-extra.git
[submodule "wrench"]
path = wrench
url = git://github.com/ryanmcgrath/wrench-js.git
145 changes: 10 additions & 135 deletions README.md
@@ -1,138 +1,13 @@
fs.extra
===
A temporary holding space for fs-extra, fs.extra, wrench, and utile until we figure out how to merge them together.

Adds `copy`, `copyRecursive`, `mkdirp`, `move`, `walk`, and `rmrf` to Node.JS' `fs`.
Included methods:

Install with `npm install -S fs.extra`
* rmraf
* mkdirp
* walk
* copy (recursive)
* delete (recursive)
* remove (recursive)
* exists (shim)

// 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.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-2012

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

* http://www.opensource.org/licenses/mit-license.php
* http://www.apache.org/licenses/LICENSE-2.0.html
Some of these are duplicated, we'll figure it out eventually.
1 change: 1 addition & 0 deletions fs-extra
Submodule fs-extra added at b1e6c3
File renamed without changes.
File renamed without changes.
138 changes: 138 additions & 0 deletions fs.extra/README.md
@@ -0,0 +1,138 @@
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.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-2012

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

* http://www.opensource.org/licenses/mit-license.php
* http://www.apache.org/licenses/LICENSE-2.0.html
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions wrench
Submodule wrench added at d1ffcc

0 comments on commit 3ce4059

Please sign in to comment.