@mika/blackcurrant (0.3.5)
Published 2026-04-19 15:12:15 +00:00 by mika
Installation
@mika:registry=npm install @mika/blackcurrant@0.3.5"@mika/blackcurrant": "0.3.5"About this package
@mika/blackcurrant
Blackcurrant is a client-side data runtime for auth-aware startup, journal-backed sync, durable persistence, request-driven stores, and optimistic/offline mutations.
Install
npm install @mika/blackcurrant @mika/signals uuid
@mika/signals is a peer dependency.
Exports
import {
createCommunication,
createIndexedDbStorage,
createPersistence,
createStore,
} from "@mika/blackcurrant"
Typical Setup
import {
createCommunication,
createIndexedDbStorage,
createPersistence,
createStore,
} from "@mika/blackcurrant"
const persistence = createPersistence({
storage: createIndexedDbStorage(),
})
const communication = createCommunication({
baseUrl: window.location.origin,
})
const users = createStore({
name: "user",
communication,
persistence,
})
Concepts
Blackcurrant is built around three cooperating parts:
CommunicationPersistenceStore
Together they provide:
- auth-aware startup resolution
- journal-backed SSE sync
- durable client data
- request-driven stores
- optimistic mutations
- offline mutation replay
Further Reading
Notes
- The package is plain ESM.
- There is no build step.
- Application-specific views, filtering, sorting, and UI belong to the consuming app.
Dependencies
Dependencies
| ID | Version |
|---|---|
| uuid | ^13.0.0 |
Peer dependencies
| ID | Version |
|---|---|
| @mika/signals | ^0.1.0 |