Introducing npm Teams! Private packages + team management tools.Learn more »

unionfs

4.2.0 • Public • Published

unionfs

Creates a union of multiple fs file systems.

npm install --save unionfs

This module allows you to use multiple objects that have file system fs API at the same time.

import {ufs} from 'unionfs';
import {fs as fs1} from 'memfs';
import * as fs2 from 'fs';
 
ufs
    .use(fs1)
    .use(fs2);
 
ufs.readFileSync(/* ... */);

Use this module with memfs and linkfs. memfs allows you to create virtual in-memory file system. linkfs allows you to redirect fs paths.

You can also use other fs-like objects.

import * as fs from 'fs';
import {Volume} from 'memfs';
import * as MemoryFileSystem from 'memory-fs';
import {ufs} from 'unionfs'
 
 
const vol1 = Volume.fromJSON({'/memfs-1': '1'});
const vol2 = Volume.fromJSON({'/memfs-2': '2'});
 
 
const memoryFs = new MemoryFileSystem;
memoryFs.writeFileSync('/memory-fs', '3');
 
 
ufs
    .use(fs)
    .use(vol1)
    .use(vol2)
    .use(memoryFs);
 
console.log(ufs.readFileSync('/memfs-1', 'utf8')); // 1
console.log(ufs.readFileSync('/memfs-2', 'utf8')); // 2
console.log(ufs.readFileSync('/memory-fs', 'utf8')); // 3

You can create a Union instance manually:

import {Union} from 'unionfs';
 
var ufs1 = new Union;
ufs1
    .use(fs)
    .use(vol);
 
var ufs2 = new Union;
ufs2
    .use(fs)
    .use(/*...*/);

License

Unlicense - public domain.

Install

npm i unionfs

DownloadsWeekly Downloads

5,426

Version

4.2.0

License

none

Unpacked Size

362 kB

Total Files

15

Last publish

Collaborators

  • avatar