node package manager


Builds hierarchies of directories and files


Builds a hierarchy of directories and files as a single asynchronous operation.

npm install fs-tree
fsTree = require 'fs-tree'

fsTree! {
  ideas = {
    colours = {
      "green.txt" = "apples, pears"
      "white.txt" = "snow"

...creates these directories and files:

./ideas/colours/green.txt  (apples, pears)
./ideas/colours/white.txt  (snow)

Each entry can be a string, a Buffer or a node stream (anything that has a .pipe() method).

By default the hierarchy is created in the current working directory.

Make a hierarchy under another directory like this:

fsTree! '/your/root/directory' {
  subdir = {
    file = "contents"

Retain a reference to the original tree to destroy it later:

tree = fsTree! {
  subdir = {
    file = "contents"

// then later...

Destroying the tree is equivalent to

rm -rf <root directory>

The examples above are in PogoScript because it's pretty. There is no dependency on PogoScript, so you can use pure JavaScript if you prefer. It returns a promise:

var fsTree = require('fs-tree');

  ideas: {
    colours: {
      "green.txt": "apples, pears",
      "white.txt": "snow"
}).then(function() {
  console.log("Tree created!");
}, function (error) {
  console.log("uh oh", error);