πŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more β†’
Socket
DemoInstallSign in
Socket

create-fs-tree

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

create-fs-tree

Create a fs tree from a json definition

1.0.0
latest
Source
npm
Version published
Weekly downloads
140
102.9%
Maintainers
1
Weekly downloads
Β 
Created
Source

npm version Build Status Coverage Status Dependency Status devDependency Status

create-fs-tree

Create a filesystem tree from a definition. This module is intended to use in unit/e2e tests to create a pre-determined fs trees.

Use

You probably want to install this as an npm dev dependency:

npm install --save-dev create-fs-tree

Use it in your tests:

import {expect} from "chai";
import {createTree, destroyTree} from "create-fs-tree";
import {readFileSync} from "fs";
import {tmpdir} from "os";
import {join} from "path";

describe("my test subject", () => {

    const dir = join(os.tmpdir(), "root");

    before(() => {
        createTree(dir, {
            "file": "file content",
            "other-file": Buffer.from("other-file content"),
            "sub-dir": {
                "sub-file": "sub-file content"
            }
        });
    });
    after(() => {
        destroyTree(dir);
    });

    it("my test", () => {
        expect(
            readFileSync(join(dir, "file"))
        ).to.equal("file content");
    });

});

API

createTree(root, definition)

Creates under the root directory a fs tree as specified in the definition.

WARNING: createTree removes the root directory before creating the specified fs tree.

Arguments
  • root string: root directory under which the fs tree is created. The directory is created if it doesn't exist, it's emptied if it already exists
  • definition object: an object describing the fs tree to create. Its properties' values can either be:
    • strings or buffers: in which case a file with the property key as name and the property value as content will be created
    • definition objects: in which case a directory with the property key as name will be created, and under it a fs tree as described by the property value (which of course is a definition object)
Returns

Nothing.

Example
createTree("mydir", {
    "level-0-file": Buffer.from("level-0-file content\n"),
    "level-0-dir": {
        "level-1-file": "level-1-file content\n",
        "level-1-dir": {}
    }
});

Creates a fs tree so that:

$ tree mydir
mydir
β”œβ”€β”€ level-0-file
└── level-0-dir
    β”œβ”€β”€ level-1-file
    └── level-1-dir
$ cat mydir/level-0-file
level-0-file content
$ cat mydir/level-0-dir/level-1-file
level-1-file content

destroyTree(root)

Removes the rootΒ path. Equivalent to rm -rf.

Arguments
  • root string: path to remove
Returns

Nothing.

Contribute

See CONTRIBUTING.

FAQs

Package last updated on 13 May 2017

Did you know?

Socket

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