Skip to content

Installation

Conveyor is published on JSR and works on Deno, Node.js, and Bun.

Core Package

Every project needs @conveyor/core plus at least one store package.

sh
deno add jsr:@conveyor/core
sh
npx jsr add @conveyor/core
sh
pnpm dlx jsr add @conveyor/core
sh
bunx jsr add @conveyor/core

Store Packages

Memory (development & testing)

sh
deno add jsr:@conveyor/store-memory
sh
npx jsr add @conveyor/store-memory
sh
pnpm dlx jsr add @conveyor/store-memory
sh
bunx jsr add @conveyor/store-memory
typescript
import { MemoryStore } from '@conveyor/store-memory';

const store = new MemoryStore();
await store.connect();

PostgreSQL (production)

sh
deno add jsr:@conveyor/store-pg
sh
npx jsr add @conveyor/store-pg
sh
pnpm dlx jsr add @conveyor/store-pg
sh
bunx jsr add @conveyor/store-pg
typescript
import { PgStore } from '@conveyor/store-pg';

const store = new PgStore({
  connection: 'postgres://user:pass@localhost:5432/mydb',
});
await store.connect(); // auto-runs migrations

SQLite

Choose the package matching your runtime:

sh
npx jsr add @conveyor/store-sqlite-node
sh
bunx jsr add @conveyor/store-sqlite-bun
sh
deno add jsr:@conveyor/store-sqlite-deno
typescript
// Node.js
import { SqliteStore } from '@conveyor/store-sqlite-node';

// Bun
import { SqliteStore } from '@conveyor/store-sqlite-bun';

// Deno
import { SqliteStore } from '@conveyor/store-sqlite-deno';

const store = new SqliteStore({ filename: './data/queue.db' });
await store.connect(); // auto-runs migrations, enables WAL mode

Packages Overview

PackageDescriptionRuntime
@conveyor/coreQueue, Worker, Job, FlowProducer, EventsAll
@conveyor/sharedShared types and utilitiesAll
@conveyor/store-memoryIn-memory storeAll
@conveyor/store-pgPostgreSQL storeAll
@conveyor/store-sqlite-nodeSQLite for Node.jsNode.js 22.13+
@conveyor/store-sqlite-bunSQLite for BunBun 1.2+
@conveyor/store-sqlite-denoSQLite for DenoDeno 2.2+
@conveyor/store-sqlite-coreSQLite shared baseInternal

TypeScript Configuration

Conveyor requires TypeScript strict mode. If you're using Node.js or Bun, ensure your tsconfig.json includes:

json
{
  "compilerOptions": {
    "strict": true,
    "moduleResolution": "bundler"
  }
}

Next Steps

Released under the MIT License.