A Web Storage API polyfill for Node.js environments
npm install node-storage-polyfillA Web Storage API polyfill for both window.localStorage and window.sessionStorage for Node.js
environments.
There are certain situations where you need to access the Web Storage browser APIs, but they aren't
available in Node.js environments, such as:
- Running tests locally in a Node.js environment that make calls to the Web Storage browser APIs
- Using a Server-Side Rendering (SSR) framework that won't compile because the browser APIs aren't
available server-side
This module provides fully compatible APIs and exposes both localStorage and sessionStorage
globally as if you were working in a browser context where the APIs would be fully available.
``sh`
npm install node-storage-polyfill
`js
// CommonJS
require('node-storage-polyfill');
// ES Module
import 'node-storage-polyfill';
`
This exposes global.localStorage and global.sessionStorage to your codebase to interact with.
`js
import 'node-storage-polyfill';
sessionStorage.setItem('KEY_1', 'VALUE_1');
console.log(sessionStorage.getItem('KEY_1'));
// Output: 'VALUE_1'
`
The localStorage API that is exposed does not differ from sessionStorage and only holds thelocalStorage
data in-memory. This differs from the browser based API which stores data between
sessions.
I would like to thank capaj and his work on
localstorage-polyfill which was working for me
until I needed a sessionStorage polyfill, and a new project to spend some time on. Most of thesessionStorage
logic and tests are based on their module, but rewritten in TypeScript and adds support for as well as localStorage`.