elixirscript/elixirscript
Converts Elixir to JavaScript
{ "createdAt": "2015-02-01T21:22:05Z", "defaultBranch": "master", "description": "Converts Elixir to JavaScript", "fullName": "elixirscript/elixirscript", "homepage": "https://elixirscript.github.io/", "language": "Elixir", "name": "elixirscript", "pushedAt": "2019-08-20T14:46:14Z", "stargazersCount": 1565, "topics": [ "compiler", "elixir", "javascript", "transpiler" ], "updatedAt": "2025-11-26T16:57:13Z", "url": "https://github.com/elixirscript/elixirscript"}ElixirScript

Section titled “ElixirScript ”The goal is to convert a subset (or full set) of Elixir code to JavaScript, providing the ability to write JavaScript in Elixir. This is done by taking the Elixir AST and converting it into JavaScript AST and then to JavaScript code. This is done using the Elixir-ESTree library.
Documentation for current release
Requirements
Section titled “Requirements”- Erlang 20 or greater
- Elixir 1.6 or greater (must be compiled with Erlang 20 or greater)
- Node 8.2.1 or greater (only for development)
Add dependency to your deps in mix.exs:
{:elixir_script, "~> x.x"}Add elixir_script to list of mix compilers in mix.exs
Also add elixir_script configuration
def project do [ app: :my_app, # ... # Add elixir_script as a compiler compilers: Mix.compilers ++ [:elixir_script], # Our elixir_script configuration elixir_script: [ # Entry module. Can also be a list of modules input: MyEntryModule, # Output path. Either a path to a js file or a directory output: "priv/elixir_script/build/elixirscript.build.js" ] ] endRun mix compile
Examples
Section titled “Examples”Application
Section titled “Application”Library
Section titled “Library”Starter kit
Section titled “Starter kit”Development
Section titled “Development”# Clone the repogit clone git@github.com:bryanjos/elixirscript.git
#Get dependenciesmake deps
# Compilemake
# Testmake testCommunication
Section titled “Communication”#elixirscript on the elixir-lang Slack
Contributing
Section titled “Contributing”Please check the [CONTRIBUTING.md]!(CONTRIBUTING.md)