A browser storage library.
An out-of-the-box Storage API NPM package to securely manage browser storage actions. Performs the proper support checks and triggers each action according to the browser specifications.
- Both Local than Session objects support
- Usable as a standalone utility as well as a React hook
- Languages: JavaScript, Typescript, YAML, Bash
- Environments: DOM
- Libraries: Testing Library
- Frameworks: Jest
- Linters/Plugins: ESLint, Prettier
- Compilers: Babel, TypeScript
- Testing: Jest, Testing Library
- Versioning: GitHub, Husky
- Continuous-Integration/Delivery: GitHub Actions
- Deployment: NPM Registry
The package production version is available on NPM at https://npmjs.com/package/@lc-2025/storage-manager. For any contribution, maintanance and/or trial needs, please refer to the following specifications.
On terminal, from project root:
npm i @lc-2025/storage-manager- As a React hook:
// MyComponent.{jsx|tsx}
import { useStorage } from '@lc-2025/storage-manager';
const myComponent = () => {
// As `localStorage`
const { setStorage } = useStorage();
const handleSomething = () => {
//...
setStorage('myItem', '123');
//...
}
return (
//...
);
}- As a standalone utility (
sessionStorage):
// myFeature.{js|ts}
const { getStorage, deleteStorages } = useStorage('session');
const myFunction = () => {
//...
const value = getStorage('myItem');
//...
deleteStorages(['myItem']);
};-
Type:
[local|session](default:local)Defines the
Storage APIobject to be used// Use `sessionStorage` API const { setStorage } = useStorage('session');
-
Get
Invokes the
Storage APIgetItemmethodgetStorage(item: string): string | null
-
Set
Invokes the
Storage APIsetItemmethodsetStorage(item: string, value: string): void
-
Delete
Invokes the
Storage APIremoveItemmethod on a provided collectiondeleteStorages(items: Array<string>): void
On terminal, from project root:
- To install dependencies
npm run install- To lint the sources
npm run lint- To build the production version
npm run buildOn terminal, from project root:
- To run the unit tests in
developmentmode
npm run test- To run the tests in
testingmode (staging or content-integration/delivery environments)
npm run test:ciStorage Manager is integrated and delivered to production via GitHub Actions workflows pipeline, where the package is being set up, tested and built. Then the artifacts are deployed on NPM registry available at https://npmjs.com/package/@lc-2025/storage-manager.
- To deploy the production version
npm run deployPlease read more about required best practices on the specific contributing reference document.