1. mem-fs
Simple in-memory vinyl file store
mem-fs
Package: mem-fs
Created by: SBoudrias
Last modified: Mon, 26 Feb 2024 21:25:03 GMT
Version: 4.1.0
License: MIT
Downloads: 3,328,488
Repository: https://github.com/SBoudrias/mem-fs

Install

npm install mem-fs
yarn add mem-fs

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.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code