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')); // 3You 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(/*...*/);Unlicense - public domain.