Back to Explore

isaacs/yallist

GitHub
3 watchersOpen source

Last release:

yallist (“Yet Another Linked List”) is a JavaScript doubly-linked list implementation that provides Array-like methods, including forward and reverse iteration (forEach, map, reduce) and operations like push, pop, shift, unshift, and splice. It is useful when an array would be too big, or when you need to iterate in reverse order.

Project status

  • The source (isaacs/yallist) appears quiet rather than actively maintained, with the latest documented upstream activity on 2024-06-19 and the most recent tagged update (v5.0.0) on 2024-04-09, which is about 2 years ago relative to today (2026-09-10).
  • Update cadence is low, after a long history of infrequent updates (for example, v4.0.0 in 2019, then v5.0.0 in 2024). Since mid-2024, there are no further update summaries provided.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v5.0.0

    Release v5.0.0 introduces a major refactor from the legacy JavaScript implementation to a TypeScript-based implementation exported via a new build system. The packaging and runtime import patterns also change significantly (module type, exports map, dist-only publishing, and a higher Node engine requirement).

    BreakingFeatures
  • v4.0.0

    Release v4.0.0 contains essentially two code-level changes to the yallist package, with no release notes provided. The functional change is limited to how Yallist.prototype.splice collects its inserted nodes (using a rest parameter instead of the arguments object), alongside a package version bump from 3.1.1 to 4.0.0.

  • v3.1.1

    Release v3.1.1 was published on 2019-09-30, but no release notes were provided by the publisher. As a result, there is no documented information here about changes, bug fixes, breaking behavior, or dependency updates.

  • v3.1.0

    This release (v3.1.0) adds a new linked-list operation, Yallist.prototype.splice, along with an internal insert helper and expanded unit tests. It also tweaks internal behavior in removeNode and updates CI Node.js versions tested, but the provided release notes are empty (none documented).

    Features
  • v3.0.3

    Release v3.0.3 updates the yallist package version and modernizes the build/test setup. The most code-relevant change is a refactor of how Symbol.iterator is attached to the Yallist prototype.

  • v3.0.2

    Release notes for v3.0.2 are not provided. From the code diff, this version adds Symbol.iterator support for Yallist, introduces 'use strict' in the main and iterator modules, and fixes edge cases in pop() and shift() when removing the last element.

    Features
  • v2.1.2

    Release v2.1.2 contains a small internal change to the yallist linked-list implementation. No release notes were provided by the publisher, so the only actionable information comes from the code diff.

  • v3.0.1

    Release v3.0.1 only changes the package version and adjusts linked list boundary handling in yallist.js. Specifically, it updates pop and shift to correctly clear head or tail when the operation removes the last remaining element.

  • v3.0.0

    No release notes were provided for v3.0.0. The code diff shows a small change set: the package version was bumped and iterator support was conditionally added to enable Symbol.iterator behavior on Yallist instances.

    Features
  • v2.1.1

    Release v2.1.1 was published on 2017-03-13. No release notes or change descriptions were provided by the publisher, so the upgrade impact cannot be determined from the available documentation.