awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
estree avatar

estree/estree

0
View on GitHub↗
5,421 stars·364 forks·22 views

Estree

ESTree is a formal schema and set of object interfaces used to represent JavaScript source code as a standardized abstract syntax tree. It serves as a common tree format and parser standard to ensure interoperability between different JavaScript parsers and transformation tools.

The specification provides a consistent way to model language constructs, including statements, expressions, and module declarations. It includes detailed representations for modern language features such as classes, private identifiers, and short-circuiting logic like nullish coalescing and optional chaining.

The project covers a broad surface of language tooling, including the modeling of module systems with dynamic imports and export aliasing, the handling of large integer literals, and the support of experimental syntax extensions for early-stage language proposals. It also defines how to map tree nodes to original source coordinates for precise location tracking.

This standardized model facilitates static code analysis, automated source code transformation, and general compiler tooling interoperability.

Features

  • Standardized AST Transformation - Defines a consistent set of object interfaces to represent source code as a tree for tool interoperability.
  • Abstract Syntax Tree Specifications - Defines a formal standardized structure for representing JavaScript source code syntax in a tree format.
  • Standardized Schemas - Defines a consistent tree format for JavaScript source code to ensure different parsers and tools can work together.
  • Standardized Representations - Provides a standardized structure for import and export declarations using named, default, and namespace specifiers.
  • Modern Syntax - Represents modern constructs including classes, arrow functions, template literals, and destructuring patterns.
  • Module Interface Specifications - Standardizes named imports, exports, and re-exports using literals for namespace identifiers.
  • Parser Specifications - Establishes a common tree format that ensures interoperability between different JavaScript parsers and transformation tools.
  • Specification AST Generation - Defines a standardized set of object interfaces for representing JavaScript source code as an abstract syntax tree.
  • Interoperable Syntax Pipelines - Provides a shared specification for abstract syntax trees enabling different frontend and backend tools to exchange data.
  • Syntax Tree Construction - Standardizes the construction and structure of hierarchical syntax representations from JavaScript source code.
  • ESTree AST Parsing - Provides the industry-standard specification for parsing JavaScript source code into abstract syntax trees.
  • Experimental Syntax Support - Provides the means to parse and analyze unstable language features and new proposals via tree extensions.
  • Literal Node Representations - Maps primitive values and large integers to nodes storing both the computed value and original source text.
  • Optional Chaining - Models member accesses and function calls that short-circuit when a reference is null or undefined.
  • AST Node Location Mapping - Associates tree nodes with specific line and column numbers in the original code for precise error reporting.
  • AST-to-Source Mappings - Provides a standard for mapping abstract syntax tree nodes back to their original source code offsets.
  • Class AST Modeling - Represents class bodies including method definitions, property definitions, and static initialization blocks.
  • Private Identifier Nodes - Maps private class elements and their usage in expressions to a standardized AST node format.
  • Syntax Proposal Modeling - Standardizes how new JavaScript syntax proposals and experimental features are represented in a structured tree format.
  • Module Export Specifications - Maps export-all declarations that rename the exported namespace using a specific alias.
  • Dynamic Imports - Models dynamic import syntax by treating the module source as an arbitrary expression node.
  • Module Metadata Specifications - Models module import and export declarations that specify metadata such as media types for loaded modules.
  • BigInt Representations - Defines a structured node for BigInt literals that preserves both the native numeric value and the original string representation.
  • Source Coordinate Mapping - Provides a structured representation of JavaScript syntax that maps source locations to specific line and column numbers.
  • Standardized Tree Models - Represents code in a standardized format to facilitate automated refactoring and the generation of modified source trees.
  • Null-Coalescing Operators - Defines the standardized AST node for the nullish coalescing operator.
  • Operator Node Modeling - Models complex logic like optional chaining and nullish coalescing as structured AST nodes with distinct operands.
  • AST Schema Extensions - Specifies standardized node additions for experimental language proposals to maintain compatibility across parser versions.
  • Static Code Analysis - Models language constructs as a structured tree to enable tools that analyze code without executing it.

Star history

Star history chart for estree/estreeStar history chart for estree/estree

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Estree

These projects share indexed features with Estree. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nikic/php-parsernikic avatar

    nikic/PHP-Parser

    17,437View on GitHub↗

    PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic manipulation. It functions as a parser, a code generator, and a static analysis framework. The project enables the programmatic construction of abstract syntax tree nodes through a fluent interface and provides the ability to transform these trees back into formatted source code. It includes a serializer that exports abstract syntax trees to JSON format and reconstructs them from strings. The toolset covers several capability areas, including namespace resolution, constant exp

    PHP
    View on GitHub↗17,437
  • standard/standardstandard avatar

    standard/standard

    29,431View on GitHub↗

    Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi

    JavaScriptdevelopmentecmascriptes6
    View on GitHub↗29,431
  • acornjs/acornacornjs avatar

    acornjs/acorn

    11,402View on GitHub↗

    Acorn is a JavaScript parser that converts source text into a structured abstract syntax tree. It follows the ESTree specification to produce a standardized JSON tree format, enabling consistent analysis of code structure and language versions. The project features a plugin-based grammar extension system that allows the base parser to be extended with custom rules for experimental or non-standard language features. It also includes syntax error recovery, which inserts placeholder nodes into the tree when encountering invalid code to allow parsing to continue. The toolset covers static analys

    JavaScript
    View on GitHub↗11,402
  • babel/minifybabel avatar

    babel/minify

    4,376View on GitHub↗

    This project is an AST-based code optimizer and compressor for modern ECMAScript, JSX, and TypeScript source code. It functions as a JavaScript minifier that uses the Babel toolchain to reduce file size by removing unnecessary characters and whitespace while preserving program logic. The tool is distinguished by its ability to process experimental language proposals and transform modern syntax into browser-compatible versions. It provides specialized handling for React JSX transpilation and strips type annotations from TypeScript files to produce compressed production assets. The system cove

    JavaScript
    View on GitHub↗4,376
Compare all 30 related projects→

Frequently asked questions

What does estree/estree do?

ESTree is a formal schema and set of object interfaces used to represent JavaScript source code as a standardized abstract syntax tree. It serves as a common tree format and parser standard to ensure interoperability between different JavaScript parsers and transformation tools.

What are the main features of estree/estree?

The main features of estree/estree are: Standardized AST Transformation, Abstract Syntax Tree Specifications, Standardized Schemas, Standardized Representations, Modern Syntax, Module Interface Specifications, Parser Specifications, Specification AST Generation.

Which projects share features with estree/estree?

Projects with overlapping indexed features include: nikic/php-parser — PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic… standard/standard — Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style… acornjs/acorn — Acorn is a JavaScript parser that converts source text into a structured abstract syntax tree. It follows the ESTree… babel/minify — This project is an AST-based code optimizer and compressor for modern ECMAScript, JSX, and TypeScript source code. It… fkling/astexplorer — AST Explorer is a web-based tool for parsing source code into abstract syntax trees and visualizing the resulting tree… xoofx/markdig — Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a…