estel-estree-builder
ESTree compatible AST builder for Javascript and Typescript.
All builder code was fully-generated from ESTree spec
Install
npm install estel-estree-builder
Usage
const builder = ;const escodegen = ; const ast = builder console;
This example generates the following code:
{ return 'Hello' + name;}
Using another version of ES
By default, the builder can generate AST with ES2018-features (inclusive ES5/2015/2016/2017 features), but you can choose ES-version:
const es2018builder = ; // es5-es2018const es2015builder = ; // es5-es2015const es5builder = ; // es5
Using Typescript
You can also use builder in Typescript:
; // es5-es2018; // es5-es2015; // es5
Generator
The generator is a script that parses ESTree spec and generates the builder source files (JS or/and TS).
git clone https://github.com/smelukov/estel-estree-buildercd estel-estree-buildergit submodule initgit submodule update npm installnpm run generate
This will create generated
directory and put a generated builder sources to it.
Generator options
There are some options for generator:
-t
- target source type (default is [js, ts]
)
js
ts
-es
- es-features that will be support generated builder (default is [es2018]
)
es5
es2015
es2016
es2017
es2018
-o
- output folder (default is generated
)
For exmaple, npm run generate -- -es es5 es2015 es2018 -t ts -o types
will generate builder typescript-sources in types
directory that support all es5+ features.