@neutron-build/data contains optional backend primitives for TypeScript applications. The framework core does not install a database, cache, or queue on its own.

Available drivers

| Area | Included interface and implementations | | --- | --- | | Database | Drizzle profiles for SQLite, PostgreSQL, and Nucleus | | Cache | In-memory, Redis/Dragonfly, and Nucleus KV clients | | Sessions | Generic cache-backed store and Redis/Dragonfly store | | Queues | In-memory driver and BullMQ | | Storage | In-memory, S3-compatible, and Nucleus Blob drivers | | Realtime | In-memory, Redis/Dragonfly, and Nucleus PubSub buses |

The integrations load their third-party dependencies lazily. Install only the drivers an application uses:

npm install @neutron-build/data
npm install drizzle-orm postgres       # PostgreSQL or Nucleus SQL
npm install drizzle-orm @libsql/client # SQLite
npm install ioredis bullmq              # Redis/Dragonfly and queues

Database selection

resolveDataConfig() uses an explicit database option when supplied. Otherwise it checks NUCLEUS_URL, then DATABASE_URL, and falls back to a local SQLite file at .neutron/dev.db.

import { resolveDataConfig } from "@neutron-build/data";

const config = resolveDataConfig({ database: "nucleus" });

This resolution selects a profile; it does not start local services or provision production infrastructure.

In-memory defaults

The cache, queue, storage, and realtime modules include in-memory implementations for local use and tests. Choose an external driver explicitly when state must be shared across processes.

Continue with Database and Drizzle, Caching loaders, or Redis and Dragonfly.