In-memory file-system with Node's fs API.
npm install memfsIn-memory file system with Node.js fs API and browser File System (Access) API.
[![npm][npm-badge]][npm-url]
[npm-badge]: https://img.shields.io/npm/v/memfs.svg
[npm-url]: https://www.npmjs.com/package/memfs
memfs is a JavaScript library that implements an in-memory file system compatible with Node.js fs module and the browser File System (Access) API. Use it for testing, mocking file systems, or creating virtual file systems in both Node.js and browser environments.
``bash`
npm install memfs
`javascript
import { fs } from 'memfs';
// Write a file
fs.writeFileSync('/hello.txt', 'Hello, World!');
// Read a file
const content = fs.readFileSync('/hello.txt', 'utf-8');
console.log(content); // "Hello, World!"
// Create a directory
fs.mkdirSync('/mydir');
// List directory contents
console.log(fs.readdirSync('/')); // ['hello.txt', 'mydir']
`
`javascript
import { fsa } from 'memfs';
// Get root directory handle
const root = await fsa.getRoot();
// Create a file
const file = await root.getFileHandle('hello.txt', { create: true });
const writable = await file.createWritable();
await writable.write('Hello, World!');
await writable.close();
// Read the file
const readable = await file.getFile();
const text = await readable.text();
console.log(text); // "Hello, World!"
`
- Node.js fs module API compatibilityfs` and File System API
- Browser File System (Access) API implementation
- Adapters between
- Directory snapshots and tree printing utilities
- Works in Node.js and modern browsers
- TypeScript support
For detailed documentation and more examples, visit the main project page.
Apache 2.0