Registry / storage / localforage-webextensionstorage-driver

localforage-webextensionstorage-driver

JSON →
library3.0.0jsnpmunverified

A storage driver for LocalForage that leverages the WebExtension chrome.storage API (local and sync areas). Current stable version is 3.0.0. Released periodically; last release 2023. The only maintained driver bridging LocalForage with browser extension storage, supporting both sync and local storage areas. Ships TypeScript types. Requires localforage ^1.7.4 as a peer dependency. Distinct from IndexedDB or WebSQL drivers; designed exclusively for WebExtension environments (Firefox, Chrome, etc.) with no fallback for other runtimes.

npm install localforage-webextensionstorage-driver
INSTALL
IMPORT
SIG · LOCALFORAGE-WEBEXT
L
localforage-webextensionstorage-driver
storagejavascriptv3.0.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

syncDriver
import syncDriver from 'localforage-webextensionstorage-driver/sync'
import syncDriver from 'localforage-webextensionstorage-driver'
The module has multiple entry points: '/sync' for sync storage, '/local' for local storage. Default import from base package is not supported.
localDriver
import localDriver from 'localforage-webextensionstorage-driver/local'
const localDriver = require('localforage-webextensionstorage-driver/local')
CommonJS require also works, but TypeScript/ESM is recommended.
types
import type { LocalForageDriver } from 'localforage-webextensionstorage-driver'
import { LocalForageDriver } from 'localforage-webextensionstorage-driver'
Type imports should be used with 'import type' to avoid runtime side effects in bundlers.

Shows how to import and configure the WebExtension sync storage driver with LocalForage, then use the API.

import localforage from 'localforage'; import syncDriver from 'localforage-webextensionstorage-driver/sync'; // Define and set the driver await localforage.defineDriver(syncDriver); await localforage.setDriver('webExtensionSyncStorage'); // Now you can use localforage normally await localforage.setItem('key', { hello: 'world' }); const data = await localforage.getItem('key'); console.log(data); // { hello: 'world' } // For local storage, import from '/local' import localDriver from 'localforage-webextensionstorage-driver/local'; await localforage.defineDriver(localDriver); await localforage.setDriver('webExtensionLocalStorage');
Debug
Known issues
gotchaDriver only works in WebExtension environments (Chrome/Firefox extensions). Using it in a regular web page will throw 'chrome.storage is not defined'.
fix
Check if chrome.storage or browser.storage is available before loading the driver.
affects: >=1.0.0
gotchaThe correct import paths are '/sync' and '/local' (lowercase). Importing from the base package returns undefined or an empty object.
fix
Use import syncDriver from 'localforage-webextensionstorage-driver/sync'; or import localDriver from 'localforage-webextensionstorage-driver/local';
affects: >=3.0.0
gotchaStorage quotas and limits of chrome.storage.sync (e.g., 100KB per item, 512KB total) apply. Exceeding them causes silent failures or errors.
fix
Use local storage (unlimited) or handle storage errors via localforage error callbacks.
affects: >=1.0.0
breakingVersion 3.0.0 switched from a single default export to separate entry points for sync and local drivers. Old import 'import driver from 'localforage-webextensionstorage-driver'' no longer works.
fix
Change imports to specific subpath: import syncDriver from 'localforage-webextensionstorage-driver/sync' or '/local'.
affects: <3.0.0
Errors
Common errors & fixes
Cannot find module 'localforage-webextensionstorage-driver' or its corresponding type declarations.
Importing from the base package instead of a subpath.
fix
Use a correct subpath import: import syncDriver from 'localforage-webextensionstorage-driver/sync';
TypeError: chrome.storage is undefined
Using the driver outside of a WebExtension environment (e.g., in a regular webpage or Node.js).
fix
Ensure code runs in a browser extension context with chrome.storage API available.
localforage.defineDriver is not a function
localforage is not imported or is imported incorrectly (e.g., as a default import vs named).
fix
Install and import localforage first: import localforage from 'localforage';
Upgrade
Version history
3.0.0latest on npm
Audit
Dependencies
localforagerequiredPeer dependency; driver must be used with LocalForage core
Agent activity
11 hits · last 30 days
node
10
Amazon
1
Resources
localforage-webextensionstorage-driver — npm install localforage-webextensionstorage-driver · libregistry