Esrecurse provides ECMAScript AST recursive traversing functionality, based on an AST recursive visitor. It’s useful for walking an ESTree-style syntax tree and running custom visitor logic for specific node types, including options to customize child traversal and handle unknown nodes via fallback behavior.
Project status
- Maintenance status: Appears quiet or in maintenance mode in 2026, with the most recent published updates shown in the evidence from 2020-08-31 (v4.3.0), and the last GitHub upstream push on 2023-03-30.
- Update cadence: The evidence indicates a long, irregular release history (major gaps, for example 2018-02-26 to 2020-08-31, and no evidence of versioned updates after 2020-08-31), suggesting no active release cadence.
AI summary generated
Recent updates
v4.3.0
Release v4.3.0 updates the project version and CI configuration, and bumps the core dependency estraverse. It also adds a new test case for traversing ESTree ChainExpression nodes (related to optional chaining).
Featuresv4.2.1
v4.2.1 makes a small runtime modernization of esrecurse.js by replacing older polyfills (object-assign, Array.isArray fallback, and Object.keys fallback) with native built-ins. It also raises the supported Node.js engine minimum version from >=0.10 to >=4.0 and removes the object-assign dependency.
Breaking4.2.0
Release 4.2.0 is published (2017-06-20) but the publisher did not provide any release notes. As a result, this response cannot identify new features, breaking changes, bug fixes, security updates, or dependency changes from the provided material.
4.1.0
Release 4.1.0 has no publisher-provided release notes content. The code diff indicates a small feature addition around how esrecurse determines which child properties to traverse when encountering unknown node types.
Features4.0.0
Release 4.0.0 significantly changes how esrecurse determines child nodes during traversal, adding new traversal options. It also updates dependencies (notably estraverse) and the supported test/traversal behavior for unknown node types.
BreakingFeatures3.1.1
Release 3.1.1 has no provided release notes. The code diff shows a small behavioral tweak to the Visitor constructor, plus matching README example edits, and a package version bump.
3.1.0
Release 3.1.0 has no publisher-provided release notes. The only code change shown in the diff is a dependency and package version bump in package.json.
3.0.0
Release 3.0.0 includes a package metadata update (version) and upgrades the main runtime dependency from estraverse 2.x to estraverse 3.x. No release notes were provided to describe behavioral impact.
2.0.0
This 2.0.0 release updates the package version to 2.0.0 and significantly changes the build and dependency setup. The release notes are empty, but the code diff shows multiple dependency upgrades (including a major estraverse bump) and new gulp tasks for version bumping, committing, and tagging.
BreakingFeatures1.2.0
Release 1.2.0 was published on 2014-12-08. No release notes were provided, so there is no documented information about new features, fixes, or compatibility changes in this release.