Package Exports
- mem-fs
- mem-fs/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mem-fs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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.
import { create } from 'mem-fs';
const store = 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.
import File from 'vinyl';
import { create } from 'mem-fs';
const coffeeFile = new File({
cwd: '/',
base: '/test/',
path: '/test/file.coffee',
contents: new Buffer('test = 123'),
});
const store = create();
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.
Get all files
Using store#all()
, you can get every file stored in the file system.
Check existence in the file system
Using store#existsInMemory()
, you can check if the file already exists in the file system without loading it from disk.
Stream every file stored in the file system
Using store#stream()
, you can create a stream with every file stored in the file system.
Pass stored files through a pipeline
store#pipeline()
generates a new map with yielded files in transforms.
If no transform is passed, files references are updated.