• Stars
    star
    100
  • Rank 329,744 (Top 7 %)
  • Language
    Elixir
  • Created about 9 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The ESTree Nodes and JavaScript AST to JavaScript Code Generator in Elixir

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>"