@lc-2025/storage-manager
v1.0.4
Published
An out-of-the-box `Storage API` helper to manage storage actions
Maintainers
Readme
Storage Manager
A browser storage library.
About
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.
Features
- Both Local than Session objects support
- Usable as a standalone utility as well as a React hook
Stack
- 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
Getting Started
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.
Installation
On terminal, from project root:
npm i @lc-2025/storage-managerUsage
- 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']);
};API
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 | nullSet
Invokes the
Storage APIsetItemmethodsetStorage(item: string, value: string): voidDelete
Invokes the
Storage APIremoveItemmethod on a provided collectiondeleteStorages(items: Array<string>): void
Contributing
Setting Up
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 buildTests
Unit
On 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:ciDeploy
Storage 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.
