estree-walker is a small JavaScript utility for traversing an ESTree-compliant AST, such as one generated by acorn. It provides enter and leave visitor hooks for inspecting, skipping child traversal, replacing nodes, or removing nodes. The package is deprecated, with zimmerframe recommended as the alternative.
Project status
- The repo appears to be intermittently developed, with an upstream push recorded on 2025-09-07, but the newest published tagged update shown here is v3.0.3 on 2023-01-20, so overall maintenance looks quiet relative to today (2026-09-10).
- Update cadence is unclear from the evidence, but published updates are spaced far apart (v3.0.2 in 2023-01, then v3.0.3 in 2023-01, before much older major changes), and there are no additional tagged update notes after 2023 in the provided list.
AI summary generated
Recent updates
v3.0.3
No release notes were provided for v3.0.3. The repository changelog and the code diff indicate this release focused on internal refactoring and dependency/type-setup changes, but the actual walker implementation also changed in ways that can affect behavior and TypeScript expectations.
v3.0.2
Release v3.0.2 appears to be a packaging and TypeScript typing resolution update rather than a runtime code change. The only functional change in the provided diff is updating package.json exports to expose TypeScript declaration files.
v3.0.1
Release v3.0.1 was published on 2021-12-20, but no release notes were provided by the publisher. As a result, there is no documented information about new features, fixes, security updates, breaking changes, or migrations in this release.
v3.0.0
v3.0.0 makes a major packaging shift toward ESM by changing the npm entrypoints and removing CommonJS support. The build pipeline and published files were also simplified, removing rollup/dist artifacts in favor of direct src usage.
v2.0.2
v2.0.2 is a build and packaging focused release, refactoring the implementation from TypeScript entrypoints to JavaScript modules and changing the test/build toolchain. While the external functions walk and asyncWalk still exist, the internal walker class structure and the published entrypoint layout appear to have changed in ways not described in the (missing) release notes.
Breakingv2.0.1
Version 2.0.1 makes the walker behavior more robust when `this.remove()` is called during traversal, primarily affecting how array children are iterated. The change also alters the `index` argument passed to walker callbacks for array element visits after removals.
v2.0.0
v2.0.0 performs a major internal rewrite of the AST walker implementation and introduces an async traversal API. The public sync API is still named walk, but the implementation and type declarations have been refactored into new sync and async walker modules.
BreakingFeaturesv1.0.1
This release makes a TypeScript typing change for the AST node types used by `walk`, relaxing them from `estree.Node` to `estree.BaseNode`. No runtime logic changes are visible in the provided diff, but the public type signatures in `src/index.ts` and `types/index.d.ts` were updated accordingly.
v1.0.0
Version 1.0.0 refactors estree-walker internals by removing the childKeys caching mechanism and simplifying how the walker discovers child nodes. The public API surface also changes by removing the exported childKeys symbol, along with adjustments to the TypeScript declaration build pipeline.
Breakingv0.9.0
Release v0.9.0 was published on 2019-10-27, but the publisher did not provide release notes. As a result, this release cannot be analyzed for documented new features, breaking changes, bug fixes, or security/performance updates based on the provided information.