Skip to main content

Installation

OIMDB is published as scoped npm packages. Install only what your project needs.

Core​

The core library is required for all other packages:

npm install @oimdb/core

React​

npm install @oimdb/react @oimdb/core

→ React guide

Redux Adapter​

npm install @oimdb/redux-adapter @oimdb/core redux

→ Redux Adapter guide

Async​

For IndexedDB, remote stores, or other async backends:

npm install @oimdb/async @oimdb/core

Persist​

@oimdb/persist is the storage-agnostic engine; the concrete storage backends ship as separate packages. Install the engine plus the backend(s) you need:

# in-memory (tests, SSR)
npm install @oimdb/persist @oimdb/persist-memory @oimdb/core

# localStorage
npm install @oimdb/persist @oimdb/persist-localstorage @oimdb/core

# IndexedDB
npm install @oimdb/persist @oimdb/persist-idb @oimdb/core

# JSON dump (SSR dehydrate/hydrate transport)
npm install @oimdb/persist @oimdb/persist-json @oimdb/core

# async key-value (React Native AsyncStorage, Cordova native storage)
npm install @oimdb/persist @oimdb/persist-async-kv @oimdb/core

→ Persist guide · SSR guide

Snapshot Manager​

npm install @oimdb/snapshot-manager @oimdb/core

→ Snapshot Manager guide

Requirements​

  • Node.js 18+ for development (Node 20+ recommended)
  • TypeScript 5+ recommended for full type inference
  • React 18+ when using @oimdb/react

Monorepo Development​

If you are working on OIMDB itself:

git clone https://github.com/abaikov/oimdb.git
cd oimdb
npm install
npm test
npm run build

Run the documentation site locally:

npm run docs:dev