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 API
object to be used// Use `sessionStorage` API const { setStorage } = useStorage('session');
-
Get
Invokes the
Storage API
getItem
methodgetStorage(item: string): string | null
-
Set
Invokes the
Storage API
setItem
methodsetStorage(item: string, value: string): void
-
Delete
Invokes the
Storage API
removeItem
method 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 build
On terminal, from project root:
- To run the unit tests in
development
mode
npm run test
- To run the tests in
testing
mode (staging or content-integration/delivery environments)
npm run test:ci
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 deploy
Please read more about required best practices on the specific contributing reference document.