Denque is a fast, lightweight JavaScript implementation of a double-ended queue (deque), with zero dependencies and TypeScript types. It provides constant-time queue operations for use cases like implementing stacks or queues, and it is used by official Node.js libraries for Redis, MongoDB, MariaDB, and MySQL (among others).
Project status
- Maintenance status: Marked as archived upstream, with the last upstream push on 2023-03-04. As of today (2026-09-10), that long gap suggests the source is quiet or effectively in maintenance mode, not actively maintained.
- Update cadence: Updates appear to have occurred mostly in 2021-2022 (v1.2.0 in 2017, v1.5.1 in 2021, v2.0.0 and v2.0.1 in 2021, v2.1.0 in 2022), with no evidence of further updates since early 2023.
AI summary generated
Recent updates
v2.1.0
v2.1.0 appears to focus on internal performance refactors for Denque growth and array conversion, and includes a change intended to fix memory/reference retention on clear(). The repository also adds benchmark scripts and benchmark files. No publisher release notes were provided for this version, so the code changes below may not have been documented externally.
v2.0.1
Release v2.0.1 includes a small but potentially breaking TypeScript typing correction and some repository metadata/CI adjustments. The only code-change that affects consumers is a change to the return type of Denque.size in the TypeScript definition file.
Breakingv2.0.0
Version v2.0.0 changes Denque so that `push(undefined)` and `unshift(undefined)` now enqueue an `undefined` element, aligning behavior more closely with `Array`. It also updates the TypeScript declaration file and adds tests for undefined handling. No publisher release notes were provided, so the repo’s changelog appears to be the primary source of documentation.
Breakingv1.5.1
No release notes were provided for v1.5.1, so changes cannot be confirmed as documented. The code diff shows an API and behavior expansion around Denque, notably adding an optional capacity setting and TypeScript typings, plus internal logic changes in remove and splice behavior.
v1.2.0
This release adds new collection manipulation methods, implementing remove, removeOne, and splice. The change is likely additive to the existing API, enabling additional ways to remove elements from the relevant data structure.
Features