BrowserFS DOM

BrowserFS DOM Backends

BrowserFS backends for DOM APIs. DOM APIs are only available natively in browsers.

Please read the BrowserFS documentation!

Backends

  • HTTPRequest: Downloads files on-demand from a webserver using fetch.
  • Storage: Stores files in a Storage object, like localStorage and seesionStorage.
  • IndexedDB: Stores files into an IndexedDB object database.
  • WorkerFS: Lets you mount the BrowserFS file system configured in the main thread in a WebWorker, or the other way around!

For more information, see the API documentation.

Installing

npm install @browserfs/fs-dom

Usage

🛈 The examples are written in ESM. If you are using CJS, you can require the package. If running in a browser you can add a script tag to your HTML pointing to the browser.min.js and use BrowserFS DOM via the global BrowserFS_DOM object.

You can use DOM backends, though you must register them if you plan on using configure:

import { configure, fs, registerBackend } from '@browserfs/core';
import { Storage } from '@browserfs/fs-dom';

registerBackend(Storage);
await configure({ fs: 'Storage', options: { storage: localStorage } });

if (!fs.existsSync('/test.txt')) {
fs.writeFileSync('/test.txt', 'This will persist across reloads!');
}

const contents = fs.readFileSync('/test.txt', 'utf-8');
console.log(contents);

Generated using TypeDoc