{"id":13436025,"url":"https://github.com/elixirscript/elixirscript","last_synced_at":"2025-05-15T01:05:32.257Z","repository":{"id":26703213,"uuid":"30160313","full_name":"elixirscript/elixirscript","owner":"elixirscript","description":"Converts Elixir to JavaScript","archived":false,"fork":false,"pushed_at":"2019-08-20T14:46:14.000Z","size":3793,"stargazers_count":1564,"open_issues_count":19,"forks_count":67,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-05-13T10:58:25.980Z","etag":null,"topics":["compiler","elixir","javascript","transpiler"],"latest_commit_sha":null,"homepage":"https://elixirscript.github.io/","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elixirscript.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-01T21:22:05.000Z","updated_at":"2025-05-08T03:51:37.000Z","dependencies_parsed_at":"2022-08-28T21:41:36.362Z","dependency_job_id":null,"html_url":"https://github.com/elixirscript/elixirscript","commit_stats":null,"previous_names":["bryanjos/elixirscript"],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixirscript%2Felixirscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixirscript%2Felixirscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixirscript%2Felixirscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixirscript%2Felixirscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elixirscript","download_url":"https://codeload.github.com/elixirscript/elixirscript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254039,"owners_count":22039792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","elixir","javascript","transpiler"],"created_at":"2024-07-31T03:00:42.507Z","updated_at":"2025-05-15T01:05:32.229Z","avatar_url":"https://github.com/elixirscript.png","language":"Elixir","readme":"## ElixirScript [![Documentation](https://img.shields.io/badge/docs-hexpm-blue.svg)](http://hexdocs.pm/elixir_script/) [![Build](https://travis-ci.org/elixirscript/elixirscript.svg?branch=master)](https://travis-ci.org/elixirscript/elixirscript)\n\nThe 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](https://github.com/elixirscript/elixir-estree) library.\n\n[Documentation for current release](http://hexdocs.pm/elixir_script/)\n\n# Requirements\n\n* Erlang 20 or greater\n* Elixir 1.6 or greater (must be compiled with Erlang 20 or greater)\n* Node 8.2.1 or greater (only for development)\n\n# Usage\n\nAdd dependency to your deps in mix.exs:\n\n```elixir\n{:elixir_script, \"~\u003e x.x\"}\n```\n\nAdd `elixir_script` to list of mix compilers in mix.exs\nAlso add `elixir_script` configuration\n\n```elixir\n  def project do\n  [\n    app: :my_app,\n    # ...\n    # Add elixir_script as a compiler\n    compilers: Mix.compilers ++ [:elixir_script],\n    # Our elixir_script configuration\n    elixir_script: [\n        # Entry module. Can also be a list of modules\n        input: MyEntryModule,\n        # Output path. Either a path to a js file or a directory\n        output: \"priv/elixir_script/build/elixirscript.build.js\"\n    ]\n  ]\n  end\n```\n\nRun `mix compile`\n\n# Examples\n\n### Application\n\n[ElixirScript Todo Example](https://github.com/elixirscript/todo-elixirscript)\n\n### Library\n\n[ElixirScript React](https://github.com/elixirscript/elixirscript_react)\n\n### Starter kit\n\n[Elixirscript Starter Kit](https://github.com/harlantwood/elixirscript-starter-kit)\n\n# Development\n\n```bash\n# Clone the repo\ngit clone git@github.com:bryanjos/elixirscript.git\n\n#Get dependencies\nmake deps\n\n# Compile\nmake\n\n# Test\nmake test\n```\n\n# Communication\n\n[#elixirscript](https://elixir-lang.slack.com/messages/elixirscript/) on the elixir-lang Slack\n\n# Contributing\n\nPlease check the [CONTRIBUTING.md](CONTRIBUTING.md)\n","funding_links":[],"categories":["Elixir","By Target Language","Table of Contents"],"sub_categories":["JavaScript","Languages"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felixirscript%2Felixirscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felixirscript%2Felixirscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felixirscript%2Felixirscript/lists"}