vstor
v1.0.10
Published
Vinyl file store written in Typescript.
Downloads
16
Readme
VStor
In memory file manager using Vinyl files such as used in Gulp. Allows working with files in memory before writing to dist. Supports filters like you'd use with a Gulp plugin. Similar to mem-fs-editor with a few more API methods also handles in memory copy a little better preventing need of saving before moving or removing.
Install
--production is optional, but prevents installing devDependencies.
$ npm install vstor --production
Usage
Using TypeScript or ES6
import { VStor } from 'vstor';
const vstor = new VStor({ /* your options */ });
const contents = vstor.read('./some/path/to/file.txt').toValue();
Using ES5
var VStor = require('vstor').VStor;
var vstor = new VStor({ /* your options */ });
var buf = vstor.read('./some/path/to/file.txt').toBuffer();
Options
API
Arguments are depicted with TypeScript type annotations.
Properties
Methods
Examples
Writing file to JSON.
vstor
.write('./some/path/data.json', { name: 'John', age: 33 })
.save();
Move file.
vstor
.move('./some/path/data.json', './some/path/moved.json')
.save();
Appending to a file.
vstor
.append('./some/path/myfile.txt', 'some new line.')
.save();
Apply filter on save.
Filter callback args:
- file - the Vinyl File object.
- enc - the file encoding.
- done - callback to continue.
vstor
.save((file, enc, done) => {
// do something on each file in store.
done();
});
Events
VStor provides events you can listen on.
Liten to any change event.
Below describes listening to the "changed" event but all events work exactly the same.
vstor.on('changed', (file) => {
// do something with the changed file.
});
Change
See CHANGE.md
License
See LICENSE.md