A lightweight, zero-dependency queue with ID-based deduplication, in-flight tracking, priority ordering, worker auto-processing, retry/DLQ, and event-driven lifecycle
Package Exports
@mdaemon/process-queue
@mdaemon/process-queue/dist/processQueue.mjs
@mdaemon/process-queue/dist/processQueue.umd.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@mdaemon/process-queue) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@mdaemon/process-queue
Tired of checking if a job is already queued before adding it? ProcessQueue handles deduplication, in-flight tracking, priority ordering, and auto-processing so you don't have to.
A lightweight, zero-dependency TypeScript queue that replaces the hand-rolled Set + Array + Map combos developers write repeatedly — tested, typed, and ready to use in Node.js or the browser.
Why ProcessQueue?
Feature
Description
ID-based deduplication
Never process the same item twice concurrently
In-flight tracking
Know what's being processed without external state
Priority ordering
Custom comparator for priority-based processing
Worker auto-processing
Optional async worker with configurable concurrency
Retry & dead letter queue
Automatic retries with backoff, permanent failures tracked
Event-driven
added, done, drain, error, and more
TTL & timeouts
Items expire, stuck processing auto-releases
Zero dependencies
<300 lines, works in Node.js and browsers
Fully typed
Generic TypeScript with full IntelliSense
vs. Bull / BeeQueue / p-queue
Those are excellent tools — but they require Redis, infrastructure, or solve a different scope. ProcessQueue is the no-infrastructure option: an in-memory primitive for deduplication and processing-state tracking. Use it when you need a smart queue without the operational overhead.