</>PackageGraphPackageGraph

estraverse

npmv5.3.0

ECMAScript JS AST traversal functions

Not recommended for new projects

No — estraverse should not be adopted for new projects. Last published 1780 days ago.

  • AAdoption: grade A, Excellent.

    158.3M downloads per week and 4 known dependents.

  • FMaintenance: grade F, Failing.

    Last published 1780 days ago.

  • AWeight: grade A, Excellent.

    Zero runtime dependencies, about 36 KB installed.

  • ASupply chain: grade A, Excellent.

    No install scripts, 3 maintainers, and a contained dependency surface.

  • ALicense: grade A, Excellent.

    BSD-2-Clause — permissive, with no copyleft found in the dependency tree.

Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.

Install cost

What you actually take on by adding estraverse to a project.

0
Direct dependencies

Runtime packages this one declares itself.

0
Total installed

Distinct packages in the full runtime tree, deduplicated the way a package manager would.

36 KB
Install size

Unpacked size of this package plus its entire runtime tree.

Tree depth

Longest resolved dependency chain below this package.

Compatibility

Node.js
node >=4.0
Module format
CommonJS only
TypeScript
No bundled types
Install scripts
None

Quick start

A usage example from the estraverse README.

javascriptFull README ↗
estraverse.traverse(ast, {
    enter: function (node, parent) {
        if (node.type == 'FunctionExpression' || node.type == 'FunctionDeclaration')
            return estraverse.VisitorOption.Skip;
    },
    leave: function (node, parent) {
        if (node.type == 'VariableDeclarator')
          console.log(node.id.name);
    }
});

Dependencies

Declared by estraverse v5.3.0. Runtime dependencies are installed with the package; dev dependencies are not.

Dev (11)

babel-preset-env ^1.6.1babel-register ^6.3.13chai ^2.1.1espree ^1.11.0gulp ^3.8.10gulp-bump ^0.2.2gulp-filter ^2.0.0gulp-git ^1.0.1gulp-tag-version ^1.3.0jshint ^2.5.6mocha ^2.1.0

Used by

Popular packages that depend on estraverse.

Relationship graph

Dependencies (left) and dependents (right) of estraverse.

eslint-scopeesqueryesrecurseescodegenestraverse
estraverse dependencies dependents

Frequently installed together

Release history

No releases in the last two years, typically about 24 days apart.

Recent versions of estraverse
VersionPublishedSizeLicense
5.3.0latest4 years ago36 KBBSD-2-Clause
5.2.06 years ago36 KBBSD-2-Clause
5.1.06 years ago36 KBBSD-2-Clause
5.0.06 years ago35 KBBSD-2-Clause
4.3.07 years ago35 KBBSD-2-Clause
4.2.010 years agoBSD-2-Clause
4.1.111 years agoBSD-2-Clause
4.1.011 years agoBSD-2-Clause
4.0.011 years agoBSD-2-Clause
3.1.011 years agoBSD-2-Clause
3.0.011 years agoBSD-2-Clause
2.0.011 years agoBSD-2-Clause
1.9.311 years agoBSD-2-Clause
1.9.111 years agoBSD-2-Clause
1.9.011 years agoBSD-2-Clause

Overview

estraverse is an npm package that eCMAScript JS AST traversal functions. It is extremely widely used, with about 158.3M downloads per week and 4 known dependents in the graph. The latest version is 5.3.0, released under the BSD-2-Clause license.

Who should use it

Teams working in the npm ecosystem who need eCMAScript JS AST traversal functions and value a battle-tested, widely-adopted solution.

When not to use it

Consider an alternative if you need to have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.

Pros

  • Large, well-established user base (158.3M weekly downloads).
  • Clear open-source license (BSD-2-Clause).

Cons

  • No bundled TypeScript types (may require a separate @types package).

Auto-generated from collected registry metadata. No external claims are inferred.

Maintainers

Frequently asked questions

Should I use estraverse?

No — estraverse should not be adopted for new projects. Last published 1780 days ago.

How do I install estraverse?

Run `npm install estraverse` to add estraverse to your npm project.

What license is estraverse released under?

estraverse is distributed under the BSD-2-Clause license.

How popular is estraverse?

estraverse has approximately 158,257,519 downloads per week and 4 known dependent packages.

Is estraverse still maintained?

The most recent release of estraverse (v5.3.0) was published 4 years ago.

Does estraverse run install scripts?

No. estraverse does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.