fs-memory

0.1.1 • Public • Published

fs-memory

Provides a drop-in replacement for the Node.js fs module.

You can use it in webpack using:

module.exports = {
  ...
  resolve: {
    ...
    alias: {
      fs: require.resolve('fs-memory/singleton')
    }
  }
  ...
}

Initialize it:

var fs = require('fs-memory/singleton');

fs.__loadTree(rootNode);

Use webpack's fs-loader module to pass it data in the form:

var rootNode = {
  "data": {
    "name": "tinker-test-project",
    "stat": {
      "dev": 16777218,
      "mode": 16877,
      "nlink": 14,
      "uid": 501,
      "gid": 20,
      "rdev": 0,
      "blksize": 4096,
      "ino": 164218765,
      "size": 476,
      "blocks": 0,
      "atime": 1447825336000,
      "mtime": 1447825336000,
      "ctime": 1447825336000,
      "birthtime": 1447823326000
    }
  },
  "children": [
    {
      "data": {
        "name": "node_modules",
        "stat": {
          "dev": 16777218,
          "mode": 16877,
          "nlink": 14,
          "uid": 501,
          "gid": 20,
          "rdev": 0,
          "blksize": 4096,
          "ino": 164218765,
          "size": 476,
          "blocks": 0,
          "atime": 1447825336000,
          "mtime": 1447825336000,
          "ctime": 1447825336000,
          "birthtime": 1447823326000
        }
      },
      "children": [
        {
          "data": {
            "name": "backbone",
            "stat": {
              "dev": 16777218,
              "mode": 16877,
              "nlink": 14,
              "uid": 501,
              "gid": 20,
              "rdev": 0,
              "blksize": 4096,
              "ino": 164218765,
              "size": 476,
              "blocks": 0,
              "atime": 1447825336000,
              "mtime": 1447825336000,
              "ctime": 1447825336000,
              "birthtime": 1447823326000
            }
          },
          "children": [
            {
              "data": {
                "name": "README.md",
                "contents": __webpack_require__(2),
                "stat": {
                  "dev": 16777218,
                  "mode": 16877,
                  "nlink": 14,
                  "uid": 501,
                  "gid": 20,
                  "rdev": 0,
                  "blksize": 4096,
                  "ino": 164218765,
                  "size": 476,
                  "blocks": 0,
                  "atime": 1447825336000,
                  "mtime": 1447825336000,
                  "ctime": 1447825336000,
                  "birthtime": 1447823326000
                }
              }
            },
            {
              "data": {
                "name": "backbone-min.js",
                "contents": __webpack_require__(3),
                "stat": {
                  "dev": 16777218,
                  "mode": 16877,
                  "nlink": 14,
                  "uid": 501,
                  "gid": 20,
                  "rdev": 0,
                  "blksize": 4096,
                  "ino": 164218765,
                  "size": 476,
                  "blocks": 0,
                  "atime": 1447825336000,
                  "mtime": 1447825336000,
                  "ctime": 1447825336000,
                  "birthtime": 1447823326000
                }
              }
            },
            {
              "data": {
                "name": "backbone.js",
                "contents": __webpack_require__(4),
                "stat": {
                  "dev": 16777218,
                  "mode": 16877,
                  "nlink": 14,
                  "uid": 501,
                  "gid": 20,
                  "rdev": 0,
                  "blksize": 4096,
                  "ino": 164218765,
                  "size": 476,
                  "blocks": 0,
                  "atime": 1447825336000,
                  "mtime": 1447825336000,
                  "ctime": 1447825336000,
                  "birthtime": 1447823326000
                }
              }
            },
            {
              "data": {
                "name": "node_modules",
                "stat": {
                  "dev": 16777218,
                  "mode": 16877,
                  "nlink": 14,
                  "uid": 501,
                  "gid": 20,
                  "rdev": 0,
                  "blksize": 4096,
                  "ino": 164218765,
                  "size": 476,
                  "blocks": 0,
                  "atime": 1447825336000,
                  "mtime": 1447825336000,
                  "ctime": 1447825336000,
                  "birthtime": 1447823326000
                }
              },
              "children": [
                {
                  "data": {
                    "name": "underscore",
                    "stat": {
                      "dev": 16777218,
                      "mode": 16877,
                      "nlink": 14,
                      "uid": 501,
                      "gid": 20,
                      "rdev": 0,
                      "blksize": 4096,
                      "ino": 164218765,
                      "size": 476,
                      "blocks": 0,
                      "atime": 1447825336000,
                      "mtime": 1447825336000,
                      "ctime": 1447825336000,
                      "birthtime": 1447823326000
                    }
                  },
                  "children": [
                    {
                      "data": {
                        "name": "LICENSE",
                        "contents": __webpack_require__(5),
                        "stat": {
                          "dev": 16777218,
                          "mode": 16877,
                          "nlink": 14,
                          "uid": 501,
                          "gid": 20,
                          "rdev": 0,
                          "blksize": 4096,
                          "ino": 164218765,
                          "size": 476,
                          "blocks": 0,
                          "atime": 1447825336000,
                          "mtime": 1447825336000,
                          "ctime": 1447825336000,
                          "birthtime": 1447823326000
                        }
                      }
                    },
                    {
                      "data": {
                        "name": "README.md",
                        "contents": __webpack_require__(6),
                        "stat": {
                          "dev": 16777218,
                          "mode": 16877,
                          "nlink": 14,
                          "uid": 501,
                          "gid": 20,
                          "rdev": 0,
                          "blksize": 4096,
                          "ino": 164218765,
                          "size": 476,
                          "blocks": 0,
                          "atime": 1447825336000,
                          "mtime": 1447825336000,
                          "ctime": 1447825336000,
                          "birthtime": 1447823326000
                        }
                      }
                    },
                    {
                      "data": {
                        "name": "package.json",
                        "contents": __webpack_require__(7),
                        "stat": {
                          "dev": 16777218,
                          "mode": 16877,
                          "nlink": 14,
                          "uid": 501,
                          "gid": 20,
                          "rdev": 0,
                          "blksize": 4096,
                          "ino": 164218765,
                          "size": 476,
                          "blocks": 0,
                          "atime": 1447825336000,
                          "mtime": 1447825336000,
                          "ctime": 1447825336000,
                          "birthtime": 1447823326000
                        }
                      }
                    },
                    {
                      "data": {
                        "name": "underscore-min.js",
                        "contents": __webpack_require__(8),
                        "stat": {
                          "dev": 16777218,
                          "mode": 16877,
                          "nlink": 14,
                          "uid": 501,
                          "gid": 20,
                          "rdev": 0,
                          "blksize": 4096,
                          "ino": 164218765,
                          "size": 476,
                          "blocks": 0,
                          "atime": 1447825336000,
                          "mtime": 1447825336000,
                          "ctime": 1447825336000,
                          "birthtime": 1447823326000
                        }
                      }
                    },
                    {
                      "data": {
                        "name": "underscore.js",
                        "contents": __webpack_require__(9),
                        "stat": {
                          "dev": 16777218,
                          "mode": 16877,
                          "nlink": 14,
                          "uid": 501,
                          "gid": 20,
                          "rdev": 0,
                          "blksize": 4096,
                          "ino": 164218765,
                          "size": 476,
                          "blocks": 0,
                          "atime": 1447825336000,
                          "mtime": 1447825336000,
                          "ctime": 1447825336000,
                          "birthtime": 1447823326000
                        }
                      }
                    }
                  ]
                }
              ]
            },
            {
              "data": {
                "name": "package.json",
                "contents": __webpack_require__(10),
                "stat": {
                  "dev": 16777218,
                  "mode": 16877,
                  "nlink": 14,
                  "uid": 501,
                  "gid": 20,
                  "rdev": 0,
                  "blksize": 4096,
                  "ino": 164218765,
                  "size": 476,
                  "blocks": 0,
                  "atime": 1447825336000,
                  "mtime": 1447825336000,
                  "ctime": 1447825336000,
                  "birthtime": 1447823326000
                }
              }
            }
          ]
        }
      ]
    },
    {
      "data": {
        "name": "package.json",
        "contents": __webpack_require__(11),
        "stat": {
          "dev": 16777218,
          "mode": 16877,
          "nlink": 14,
          "uid": 501,
          "gid": 20,
          "rdev": 0,
          "blksize": 4096,
          "ino": 164218765,
          "size": 476,
          "blocks": 0,
          "atime": 1447825336000,
          "mtime": 1447825336000,
          "ctime": 1447825336000,
          "birthtime": 1447823326000
        }
      }
    }
  ]
};

Package Sidebar

Install

npm i fs-memory

Weekly Downloads

1

Version

0.1.1

License

MIT

Last publish

Collaborators

  • kmalakoff