node/deps/npm/node_modules/fs-vacuum
Kat Marchán c0d858f8bb
deps: upgrade npm beta to 5.0.0-beta.56
PR-URL: https://github.com/nodejs/node/pull/12936
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2017-05-23 19:39:43 +02:00
..
test deps: upgrade npm to 4.5.0 2017-04-25 10:52:01 -04:00
.eslintrc deps: upgrade npm to 2.0.0 2014-09-24 17:15:10 -07:00
.npmignore deps: upgrade npm to 2.0.0 2014-09-24 17:15:10 -07:00
.travis.yml deps: upgrade npm to 3.8.9 2016-05-10 14:45:28 -04:00
LICENSE deps: upgrade npm to 2.11.0 2015-05-30 08:15:11 -04:00
package.json deps: upgrade npm beta to 5.0.0-beta.56 2017-05-23 19:39:43 +02:00
README.md deps: upgrade npm to 4.5.0 2017-04-25 10:52:01 -04:00
vacuum.js deps: upgrade npm to 4.5.0 2017-04-25 10:52:01 -04:00

fs-vacuum

Remove the empty branches of a directory tree, optionally up to (but not including) a specified base directory. Optionally nukes the leaf directory.

Usage

var logger = require("npmlog");
var vacuum = require("fs-vacuum");

var options = {
  base  : "/path/to/my/tree/root",
  purge : true,
  log   : logger.silly.bind(logger, "myCleanup")
};

/* Assuming there are no other files or directories in "out", "to", or "my",
 * the final path will just be "/path/to/my/tree/root".
 */
vacuum("/path/to/my/tree/root/out/to/my/files", options, function (error) {
  if (error) console.error("Unable to cleanly vacuum:", error.message);
});

vacuum(directory, options, callback)

  • directory {String} Leaf node to remove. Must be a directory, symlink, or file.
  • options {Object}
    • base {String} No directories at or above this level of the filesystem will be removed.
    • purge {Boolean} If set, nuke the whole leaf directory, including its contents.
    • log {Function} A logging function that takes npmlog-compatible argument lists.
  • callback {Function} Function to call once vacuuming is complete.
    • error {Error} What went wrong along the way, if anything.