Skip to content

zen-fs/dom

Repository files navigation

ZenFS DOM Backends

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

Important

Please read the ZenFS core documentation!

Backends

  • WebStorage: Stores files in a Storage object, like localStorage and sessionStorage.
  • IndexedDB: Stores files into an IndexedDB object database.
  • WebAccess: Store files using the File System Access API.

For more information, see the API documentation.

Usage

Note

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 ZenFS DOM via the global ZenFS_DOM object.

import { configure, fs } from '@zenfs/core';
import { WebStorage } from '@zenfs/dom';

await configure({ backend: WebStorage, 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);