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/coresh
npx jsr add @conveyor/coresh
pnpm dlx jsr add @conveyor/coresh
bunx jsr add @conveyor/coreStore Packages
Memory (development & testing)
sh
deno add jsr:@conveyor/store-memorysh
npx jsr add @conveyor/store-memorysh
pnpm dlx jsr add @conveyor/store-memorysh
bunx jsr add @conveyor/store-memorytypescript
import { MemoryStore } from '@conveyor/store-memory';
const store = new MemoryStore();
await store.connect();PostgreSQL (production)
sh
deno add jsr:@conveyor/store-pgsh
npx jsr add @conveyor/store-pgsh
pnpm dlx jsr add @conveyor/store-pgsh
bunx jsr add @conveyor/store-pgtypescript
import { PgStore } from '@conveyor/store-pg';
const store = new PgStore({
connection: 'postgres://user:pass@localhost:5432/mydb',
});
await store.connect(); // auto-runs migrationsSQLite
Choose the package matching your runtime:
sh
npx jsr add @conveyor/store-sqlite-nodesh
bunx jsr add @conveyor/store-sqlite-bunsh
deno add jsr:@conveyor/store-sqlite-denotypescript
// 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 modePackages Overview
| Package | Description | Runtime |
|---|---|---|
@conveyor/core | Queue, Worker, Job, FlowProducer, Events | All |
@conveyor/shared | Shared types and utilities | All |
@conveyor/store-memory | In-memory store | All |
@conveyor/store-pg | PostgreSQL store | All |
@conveyor/store-sqlite-node | SQLite for Node.js | Node.js 22.13+ |
@conveyor/store-sqlite-bun | SQLite for Bun | Bun 1.2+ |
@conveyor/store-sqlite-deno | SQLite for Deno | Deno 2.2+ |
@conveyor/store-sqlite-core | SQLite shared base | Internal |
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
- Getting Started — your first queue
- Stores — deep dive into each store
- Architecture — how it all fits together
