canirequire

canirequireDual (CommonJS + ESM) › estree-walker

Is estree-walker ESM-only? Can you require() it?

Traverse an ESTree-compliant AST

Last verified Sep 9, 2026 against estree-walker@3.0.3. JSON

Dual (CommonJS + ESM) Dual package — both require() and import work

estree-walker publishes both a CommonJS entry and a native ESM entry (ESM added in 2.0.2). require("estree-walker") and import "estree-walker" both work on every supported Node.js version and in Bun.

Latest
3.0.3 (Jan 20, 2023)
Module format
Dual (CommonJS + ESM)
Last CommonJS version
3.0.3
Native ESM since
2.0.2
TypeScript types
Bundled
Node engines
not declared
Weekly downloads
159.5M
License
MIT

Does estree-walker@3.0.3 actually load? Runtime test results

Installed and executed on Sep 9, 2026 with require("estree-walker") from a CommonJS file and import "estree-walker" from an ES module.

Runtimerequire("estree-walker")import "estree-walker"
Node.js 18✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✓ works
Node.js 20✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✓ works
Node.js 22✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✓ works
Node.js 24✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✓ works
Node.js 26✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✓ works
Bun 1.4✗ failserror: Cannot find package 'estree-walker' from '/Users/boat/Projects/top-seo/data/probe-work/estree-walker/req.cjs'✓ works

A failing require() on a CommonJS package usually means the package needs a browser/DOM global, a peer dependency, or a native binary that is not available in a bare Node.js process.

How to import estree-walker

ES modules (import)

import estreeWalker from "estree-walker";

CommonJS (require)

const estreeWalker = require("estree-walker");

Module format by version

Derived from the type, main and exports fields of every stable release on npm (27 versions; the newest 27 shown).

VersionsFormatFirst published
3.0.1 – 3.0.3Dual (CommonJS + ESM)Dec 20, 2021
3.0.0ESM-onlyJan 29, 2021
2.0.2Dual (CommonJS + ESM)Dec 8, 2020
0.1.0 – 2.0.1CommonJSApr 9, 2015

Frequently asked

Is estree-walker ESM-only?

estree-walker@3.0.3 ships CommonJS and ESM builds. estree-walker publishes both a CommonJS entry and a native ESM entry (ESM added in 2.0.2). require("estree-walker") and import "estree-walker" both work on every supported Node.js version and in Bun.

Can I require estree-walker?

Yes. estree-walker ships a CommonJS entry, so require("estree-walker") works on every Node.js version, alongside the native ESM entry for import.

Does estree-walker work in Bun?

Yes. import "estree-walker" loaded successfully in Bun 1.4 on Sep 9, 2026.

Does estree-walker ship TypeScript types?

Yes. estree-walker bundles its own type declarations; no @types package is needed.

Links

Other dual (commonjs + esm) packages

Similar popularity