Skip to main content
jcell

jcell

Lightweight, type-safe document database + ORM for TypeScript

npm install @sajjadbzn/jcell
ZeroDependencies
4Adapters
FullTypeScript
MITLicense

Why jcell?

A lightweight, type-safe document database that fits in your pocket.

Zero Setup

No database server, no codegen, no heavy dependencies. Just install the package and start coding. Works with file-based, in-memory, SQLite, or Cloudflare D1.

🛡️

Full TypeScript Inference

Schemas are defined in TypeScript — your editor gets full autocomplete, type checking, and refactoring support. The infer type lets you derive document types seamlessly.

Schema Validation

Built-in validation for strings, numbers, booleans, dates, arrays, objects, enums, and references. Default values, optional fields, and auto-generated UUIDs included.

🔍

Powerful Query Builder

Chainable query API with filters (.eq(), .gt(), .contains(), etc.), sorting, pagination, projections, and relationship population via .with().

📊

Aggregation Pipeline

MongoDB-style aggregation stages: $match, $group, $sort, $limit, $count. Convenience methods for sum, avg, min, max.

🔗

Hooks & Transactions

Lifecycle hooks (before:insert, after:update, etc.) and transaction support for adapters that implement it. Build middleware pipelines with ease.

🌍

Multi-Runtime

Runs on Node.js, Bun, and Cloudflare Workers with the same API. Swap adapters without changing business logic.

🖥️

Studio UI

Visual database browser with dashboard, data editor, schema viewer, query runner, and relation explorer. Like Prisma Studio, but for jcell.

📦

Migrations

Named, reversible migrations with automatic tracking. Run db.migrate([m001, m002]) and jcell handles the rest.