Skip to content

Packages

WARNING

We created this page with the help of the GenAI tool.

We're currently double-checking it to ensure the information is 100% correct and free of hallucinations.

Emmett is organized as a modular monorepo. Install only what you need.

Core Package

@event-driven-io/emmett

The foundation of the Emmett ecosystem. Required for all projects.

bash
npm install @event-driven-io/emmett

Provides:

  • Event and Command type definitions
  • Decider pattern implementation
  • In-memory event store for testing
  • Command handling utilities
  • Projection building blocks

📦 npm · GitHub · README

Event Store Packages

Choose one based on your infrastructure needs.

@event-driven-io/emmett-postgresql

Production-ready PostgreSQL event store with Pongo integration.

bash
npm install @event-driven-io/emmett-postgresql

Features:

  • Inline and async projections
  • Pongo document database integration
  • Full ACID transactions
  • Background message consumers

📦 npm · GitHub · Docs

@event-driven-io/emmett-esdb

EventStoreDB integration for native Event Sourcing.

bash
npm install @event-driven-io/emmett-esdb

Features:

  • Persistent subscriptions
  • Global event ordering
  • Built-in projections
  • Optimized for Event Sourcing

📦 npm · GitHub · Docs

@event-driven-io/emmett-mongodb

MongoDB event store with flexible storage strategies.

bash
npm install @event-driven-io/emmett-mongodb

Features:

  • Single or multi-collection storage
  • Document-per-stream option
  • MongoDB aggregation pipelines
  • Atlas-compatible

📦 npm · GitHub · Docs

@event-driven-io/emmett-sqlite

Lightweight SQLite event store for development and embedded apps.

bash
npm install @event-driven-io/emmett-sqlite

Features:

  • File-based or in-memory
  • Zero configuration
  • Fast test execution
  • better-sqlite3 powered

📦 npm · GitHub · Docs

Web Framework Packages

@event-driven-io/emmett-expressjs

Express.js integration with testing utilities.

bash
npm install @event-driven-io/emmett-expressjs

Features:

  • Application factory
  • Problem Details (RFC 9457)
  • ETag concurrency handling
  • ApiSpecification for testing

📦 npm · GitHub · Docs

@event-driven-io/emmett-fastify

Fastify integration with plugin architecture.

bash
npm install @event-driven-io/emmett-fastify

Features:

  • Plugin-based setup
  • Schema validation
  • Graceful shutdown
  • Fastify inject testing

📦 npm · GitHub · Docs

Testing Package

@event-driven-io/emmett-testcontainers

TestContainers integration for E2E testing.

bash
npm install -D @event-driven-io/emmett-testcontainers

Features:

  • Pre-configured containers for PostgreSQL, MongoDB, EventStoreDB
  • Docker Compose integration
  • Automatic cleanup
  • CI/CD optimized

📦 npm · GitHub

Utility Package

@event-driven-io/emmett-shims

Polyfills for environments without native support.

bash
npm install @event-driven-io/emmett-shims

Features:

  • AsyncIterator support
  • Environment detection
  • Edge runtime compatibility

📦 npm · GitHub

Package Compatibility

All packages follow semantic versioning. Major versions are released together to ensure compatibility.

PackageCurrent VersionNode.js
emmettnpm≥18.0
emmett-postgresqlnpm≥18.0
emmett-esdbnpm≥18.0
emmett-mongodbnpm≥18.0
emmett-sqlitenpm≥18.0
emmett-expressjsnpm≥18.0
emmett-fastifynpm≥18.0
emmett-testcontainersnpm≥18.0
emmett-shimsnpm≥18.0

Typical Project Setup

API with PostgreSQL

bash
npm install @event-driven-io/emmett \
            @event-driven-io/emmett-postgresql \
            @event-driven-io/emmett-expressjs

npm install -D @event-driven-io/emmett-testcontainers

API with EventStoreDB

bash
npm install @event-driven-io/emmett \
            @event-driven-io/emmett-esdb \
            @event-driven-io/emmett-fastify

npm install -D @event-driven-io/emmett-testcontainers

API with MongoDB

bash
npm install @event-driven-io/emmett \
            @event-driven-io/emmett-mongodb \
            @event-driven-io/emmett-expressjs

npm install -D @event-driven-io/emmett-testcontainers

Pongo

PostgreSQL as a Document Database with MongoDB-like API.

bash
npm install @event-driven-io/pongo

📦 npm · GitHub

See Also