A full version history of the array.prototype.foreach package with size, number of distributed files and dependency evolution.
The array.prototype.foreach npm package provides a robust and spec-compliant shim/polyfill for the Array.prototype.forEach method, ensuring compatibility with JavaScript environments as old as ES3. Maintained by Jordan Harband, this package has evolved through several versions, each refining its implementation and dependencies.
The initial versions, 1.0.0 and 1.0.1 (released August 2021), established the core functionality, relying on foundational packages like call-bind, define-properties, and es-abstract to guarantee accurate and reliable behavior across different JavaScript engines. Subsequent updates, between 1.0.2 and 1.0.4 (released between October 2021 and November 2022), focused on refining the underlying abstractions of the es-abstract dependency, ensuring up-to-date spec compliance.
Versions 1.0.5 (September 2023), 1.0.6 (February 2024) and the latest stable version 1.0.7 (March 2024) demonstrate continued refinement. These versions updated dependencies such as define-properties, es-abstract, call-bind and introduced es-errors and es-object-atoms to support improved error handling and object atom management respectively for better efficiency and broader compatibility. Throughout its development, the package has maintained a consistent set of development dependencies, including testing frameworks like tape and linting configurations using @ljharb/eslint-config, showing a commitment to code quality and reliability. This package ensures that developers can confidently use the forEach method, regardless of the target JavaScript environment, facilitating consistent behavior across diverse platforms.