Once upon a time, an unsuspecting Mozilla engineer created an API in Firefox that exposed the SpiderMonkey engine's JavaScript parser as a JavaScript API. Said engineer documented the format it produced, and this format caught on as a lingua franca for tools that manipulate JavaScript source code.
Meanwhile JavaScript is evolving. This site will serve as a community standard for people involved in building and using these tools to help evolve this format to keep up with the evolution of the JavaScript language.
The spec uses a custom syntax to describe its structures. For example, at the time of writing, 'es2015.md' contained a description of Program
as seen below
extend interface Program { sourceType: "script" | "module"; body: [ Statement | ImportOrExportDeclaration ]; }ESTree Steering Committee
Copyright Mozilla Contributors and ESTree Contributors.
Licensed under Creative Commons Sharealike.
Suggested additions and modifications must follow these guidelines:
FunctionExpression
should not be aware of if it's a concise method. (eg. #5)kind
property should not be present on Literal
if the type can be discerned from the value
. (eg. #61)MetaProperty
over NewTarget
to cover future meta properties. (eg. #32)ESTree has benefited from the contributions of many people over the years. We'd like to thank these folks for their significant contributions to this project:
Sebastian McKenzie (Babel), Kyle Simpson (@getify), Mike Sherov (Esprima), Ariya Hidayat (Esprima), Adrian Heine (Acorn), Dave Herman (SpiderMonkey), Michael Ficarra (@michaelficarra).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4