• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
    Elixir
  • Created almost 10 years ago
  • Updated over 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>"