The ESTree Nodes and JavaScript AST to JavaScript Code Generator in Elixir
Clone or download
Latest commit 29310f4 Apr 12, 2018

README.md

Elixir-ESTree Documentation Downloads Build Status

Defines structs that represent the JavaScript AST nodes from the ESTree spec.

ESTree Spec

JSX AST Spec

Also includes a JavaScript AST to JavaScript code generator.

alias ESTree.Tools.Builder
alias ESTree.Tools.Generator

ast = Builder.array_expression([
  Builder.literal(1),
  Builder.identifier(:a)
])

Generator.generate(ast)
# "[1, a]"

#jsx ast and generation
    ast = Builder.jsx_element(
      Builder.jsx_opening_element(
        Builder.jsx_identifier(
          "Test"
        )
      ),
      [],
      Builder.jsx_closing_element(
        Builder.jsx_identifier(
          "Test"
        )
      )
    )
    
Generator.generate(ast)
# "<Test></Test>"