Skip to content
Converts Elixir to JavaScript
Elixir JavaScript Makefile
Branch: master
Clone or download
Latest commit cc8a08a Aug 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Added environment configs. Added lib_path configuration Mar 29, 2016
lib Update elixir deps Aug 20, 2019
priv/testrunner Update js deps Aug 20, 2019
src/javascript Disable "no-console" linting for specific console.warns Aug 20, 2019
test Update elixir deps Aug 20, 2019
test_elixir_script Remove extra console.log for debugging. Use reraise for raising test … Dec 10, 2017
.babelrc Make sure Collectable is loaded for 'for'. Update node version to 8.3.0 Aug 26, 2017
.credo.exs Fix lint Nov 10, 2017
.ebert.yml Add esm folder to ebert ignore Nov 2, 2017
.eslintrc.js Merge pull request #493 from workingjubilee/jubilee-yes-console Aug 20, 2019
.formatter.exs Update js deps Aug 20, 2019
.gitignore Write to manifest Nov 10, 2017
.tool-versions Update js deps Aug 20, 2019
.travis.yml Update js deps Aug 20, 2019
CHANGELOG.md Update changelog Mar 17, 2018
CONTRIBUTING.md Update js deps Aug 20, 2019
CompilerInternals.md Add CompilerInternals.md May 20, 2018
JavascriptInterop.md Now exporting all modules. Updated test helper to run integration Oct 21, 2017
LICENSE Added DOM module that wraps the virtual-dom library. Added some funct… Sep 4, 2015
Makefile Update js deps Aug 20, 2019
README.md Add link to "starter kit" Jul 1, 2018
mix.exs Merge pull request #459 from elixirscript/dependabot/hex/poison-4.0.1 Mar 25, 2019
mix.lock Update elixir deps Aug 20, 2019
package-lock.json Update js deps Aug 20, 2019
package.json Update js deps Aug 20, 2019
rollup.config.js Update js deps Aug 20, 2019

README.md

ElixirScript Documentation Build

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

  • 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)

Usage

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

Run mix compile

Examples

Application

ElixirScript Todo Example

Library

ElixirScript React

Starter kit

Elixirscript Starter Kit

Development

# Clone the repo
git clone git@github.com:bryanjos/elixirscript.git

#Get dependencies
make deps

# Compile
make

# Test
make test

Communication

#elixirscript on the elixir-lang Slack

Contributing

Please check the CONTRIBUTING.md

You can’t perform that action at this time.