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.
Requirements
- Elixir
- Node (only for development)
Usage
Please check the Getting Started Guide for usage
FAQ, Limitations
Please check the FAQ
Development
Clone the repo
git clone git@github.com:bryanjos/elixirscript.git
Get dependencies
mix deps.get
yarn
Create Elixir.Bootstrap.js
yarn build
Compile
mix compile
Test
mix test
yarn test
Build
MIX_ENV=prod mix do clean, compile, dist
This will build a tarball in the dist folder.
By default the escript built will look into the folder above it for the
core JavaScript files needed for ElixirScript. To change the location,
update the lib_path
config variable in the :elixir_script
config block
to the path to look in and then do a clean build.
Communication
#elixirscript on the elixir-lang Slack
Contributing
Please check the CONTRIBUTING.md
Example projects
- hello Shows using Phoenix + Elixirscript with file watching
- Elixirscript frontend boilerplate A boilerplate project for elixirscript frontends
- Elixirscript React example An example of using with React
- Elixirscript AWS Lambda example
Using with Brunch
There is a plugin for using ElixirScript in your Brunch project here
Using with Webpack
There is a loader for using ElixirScript in your Webpack project here
1.0 Roadmap
There is a 1.0.0 Milestone defined which includes issues that are needed to be cleared before 1.0 can be reached.