# smqp

> Synchronous message queueing package

Latest version **14.0.0** (published 2026-09-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install smqp
pnpm add smqp
yarn add smqp
bun add smqp
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 14.0.0 |
| Published | 2026-09-08 |
| First published | 2018-06-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18 |
| Dependencies | 0 |
| Unpacked size | 192.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 14 |
| Author | Pål Edman |
| Maintainers | paed01 |
| Keywords | messaging, broker, routing, exchange, queue, fifo, shovel, publish, subscribe, ack, nack, reject, topic, direct, independent |

## Links

- npm: https://www.npmjs.com/package/smqp
- Repository: https://github.com/paed01/smqp
- Homepage: https://github.com/paed01/smqp#readme
- Issues: https://github.com/paed01/smqp/issues
- npm.io page: https://npm.io/package/smqp

## Alternatives

- [cron](https://npm.io/package/cron.md) — 4.9M weekly downloads
- [@vercel/queue](https://npm.io/package/@vercel/queue.md) — 731.6K weekly downloads
- [create-sonicjs](https://npm.io/package/create-sonicjs.md) — 1.6K weekly downloads
- [@exellix/jobs-api](https://npm.io/package/@exellix/jobs-api.md) — 941 weekly downloads
- [@forwardimpact/libskill](https://npm.io/package/@forwardimpact/libskill.md) — 575 weekly downloads

## Recent versions

- 14.0.0 (latest) — 2026-09-08
- 13.2.0 — 2026-09-05
- 13.1.0 — 2026-07-22
- 13.0.1 — 2026-05-28
- 13.0.0 — 2026-05-10
- 12.0.1 — 2026-05-05
- 12.0.0 — 2026-05-01
- 11.0.1 — 2025-12-02
- 11.0.0 — 2025-11-27
- 10.0.2 — 2025-11-13
- 10.0.1 — 2025-07-23
- 10.0.0 — 2025-07-22
- 9.0.6 — 2025-02-04
- 9.0.5 — 2025-01-02
- 9.0.4 — 2024-12-17
- … 76 more at https://npm.io/package/smqp/versions

## README

# SMQP

[![Build](https://github.com/paed01/smqp/actions/workflows/build.yaml/badge.svg)](https://github.com/paed01/smqp/actions/workflows/build.yaml)[![Build status](https://ci.appveyor.com/api/projects/status/8dy3yrde5pe8mk6m/branch/default?svg=true)](https://ci.appveyor.com/project/paed01/smqp/branch/default)[![Coverage Status](https://coveralls.io/repos/github/paed01/smqp/badge.svg?branch=default)](https://coveralls.io/github/paed01/smqp?branch=default)[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)

Synchronous message queueing package. Used as an alternative, and frontend ready, event handler when you expect events to be handled in sequence.

Basically a synchronous amqp broker.

# Documentation

- [API](/API.md)

# Usage

```javascript
import { Broker } from 'smqp';

const owner = { name: 'me' };
const broker = Broker(owner);

broker.subscribe('events', '#', 'event-queue', onMessage);

broker.publish('events', 'start', { arg: 1 });

function onMessage(routingKey, message, brokerOwner) {
  console.log('received:', routingKey);
  console.log('with message:', message);
  console.log('owned by:', brokerOwner.name);
  message.ack();
}
```

---
_Source: https://npm.io/package/smqp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
