Simple in-memory vinyl file store.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test Set correct value of file.base Dec 17, 2015
.editorconfig Initial commit Oct 16, 2014
.gitignore Initial commit Oct 16, 2014
.jshintrc Initial commit Oct 16, 2014
.travis.yml Remove Node 0.12 from test matrix Jan 13, 2017
LICENSE-MIT Initial commit Oct 16, 2014
README.md
index.js Set correct value of file.base Dec 17, 2015
package.json fix(package): update vinyl-file to version 3.0.0 (#9) Jan 13, 2017

README.md

mem-fs

Simple in-memory vinyl file store.

Usage

Loading a file

You access a file using store#get() method. If the file is in memory, it will be used. Otherwise, we'll load the file from the file-system.

var store = require('mem-fs').create();

store.get('/test/file.txt');

When trying to load a file we cannot read from disk, an empty Vinyl file will be returned. The contents of this file will be set to null.

Trying to get a directory or any invalid files will also return an empty Vinyl file pointer.

Adding/updating a file

You update file references by using store#add() method. This method take a vinyl file object as parameter.

var File = require('vinyl');
var store = require('mem-fs').create();

var coffeeFile = new File({
  cwd: '/',
  base: '/test/',
  path: '/test/file.coffee',
  contents: new Buffer('test = 123')
});

store.add(coffeeFile);

Iterating over the file system

Using store#each(cb(file, index)), you can iterate over every file stored in the file system.