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/dom
Building
- Make sure you have Node and NPM installed. You must have Node v18 or newer.
- Install dependencies with
npm install
- Build using
npm run build
- You can find the built code in
dist
.
Usage
🛈 The examples are written in ESM. If you are using CJS, you can require
the package. If running in a borwser 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 } from '@browserfs/core';
import { Storage } '@browserfs/dom';
await configure({ fs: 'Storage' });
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);
Testing
Run unit tests with npm test
.