feat: implement core-storage package with unified promise-based interface and encrypted-at-rest support

This commit is contained in:
Firman Ramdhani
2026-05-22 22:23:02 +07:00
parent 9b265b8f46
commit 255704f867
15 changed files with 1091 additions and 4 deletions
+14 -3
View File
@@ -34,6 +34,7 @@ The monorepo is organized into **Apps** (deployable applications) and **Packages
├── packages/
│ ├── core-api/ # Shared HTTP Client, Observability & Data Services Engine
│ ├── core-storage/ # Enterprise Storage Engine (IndexedDB/localStorage + Encryption)
│ ├── ui/ # Shared UI Component Library
│ ├── utils/ # Shared Utilities (Date, Encryption, Core Logic, etc)
│ └── configs/ # Shared Tooling Configurations
@@ -238,7 +239,17 @@ The **platform-agnostic API engine** for the monorepo. Provides an isolated HTTP
---
### 6. `packages/utils`
### 6. `packages/core-storage`
The **Enterprise-grade storage engine** for the monorepo.
Provides a unified, Promise-based interface for interacting with browser storage (`localStorage` and `IndexedDB`). Enforces strict type safety, prevents key collisions via a centralized registry, and automatically provides **AES encryption at rest** for sensitive payloads using `@repo/utils`.
**Documentation**: [README.md](packages/core-storage/README.md)
---
### 7. `packages/utils`
Shared business logic and reusable utility modules that can be consumed across multiple applications. Fully tested using Vitest.
@@ -246,7 +257,7 @@ This package is intended to hold non-UI, cross-cutting logic such as date/time h
---
### 7. `packages/ui`
### 8. `packages/ui`
Shared UI component library (Buttons, Inputs, Cards, Layouts).
@@ -255,7 +266,7 @@ Shared UI component library (Buttons, Inputs, Cards, Layouts).
---
### 8. `packages/configs`
### 9. `packages/configs`
Single source of truth for tooling configuration.