zheng 6c3f2333fd 修改 12 hours ago
..
lib 6c3f2333fd 修改 12 hours ago
LICENSE 6c3f2333fd 修改 12 hours ago
README.md 6c3f2333fd 修改 12 hours ago
package.json 6c3f2333fd 修改 12 hours ago

README.md

@jsonjoy.com/fs-node

In-memory filesystem with Node.js fs-compatible API.

Installation

npm install @jsonjoy.com/fs-node

Usage

import { Volume } from '@jsonjoy.com/fs-node';

const vol = new Volume();
vol.writeFileSync('/hello.txt', 'Hello, World!');
console.log(vol.readFileSync('/hello.txt', 'utf8')); // Hello, World!

Create filesystem from JSON

import { Volume } from '@jsonjoy.com/fs-node';

const vol = Volume.fromJSON({
  '/app/index.js': 'console.log("Hello");',
  '/app/package.json': '{"name": "app"}',
});

console.log(vol.readdirSync('/app')); // ['index.js', 'package.json']

API

The Volume class implements Node.js fs module's synchronous and callback APIs:

  • readFile, readFileSync
  • writeFile, writeFileSync
  • mkdir, mkdirSync
  • readdir, readdirSync
  • stat, statSync
  • unlink, unlinkSync
  • ... and many more

It also exposes a promises property for the Promise-based API:

const data = await vol.promises.readFile('/hello.txt', 'utf8');

License

Apache-2.0