Skip to content

Releases: elixirscript/elixirscript

0.15.0

0.15.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 25 Jan 23:25
  • Enhancements
    • alias, require, and import now work inside lexical scopes
    • __ENV__ and __CALLER__ are now supported
    • Some of the standard library originally written in JavaScript has been rewritten
      in Elixir.
    • Added JS.import/1, JS.typeof/1,JS.instanceof/1, and JS.global/1
    • Added support for multi alias/require/imports statements
    • Generated JavaScript export statements are now default exports
    • When output is sent to standard out, there are now markers to specify where
      each module begins as well as what the file name would be.
      For the end of a file, //:ENDFILE is used. For the file name, //<file>:ENDFILENAME
      is used where <file> is the name of the file
  • Breaking
    • compile, compile_path, and compile_quoted opts parameter now expects a map
    • The stdlib compiler option is now core. The stdlib_path compiler options is now
      core_path

0.14.1

0.14.1 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 07 Dec 22:18
  • Enhancements
    • Removed .DS_Store and LICENSE from output

0.14.0

0.14.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 06 Dec 15:45
  • Breaking

    • Renamed ex2js to elixirscript. This effects the escript as well as the
      mix task
  • Enhancements

    • Structs are now translated into classes
    • Structs and Tuples now match on their types
    • Can now match on JavaScript classes. Works just like matching on structs:
      def my_func(%HTMLElement{id: "myId"})
    • Can now implement protocols using JavaScript types
      defimpl MyProtocol, for: HTMLElement
    • Added virtual-dom JavaScript library
    • Added ElixirScript.Html module for defining a virtual-dom tree
    • Added ElixirScript.VDom module for manipulating the virtual-dom tree created
      using the ElixirScript.Html module
    • Added ElixirScript.View module for handling view state and rendering virtual-dom
    • Added stdlib_path compiler option to specify the es6 path to the standard library.
      If used, elixir.js will not be exported with the compiled modules
    • Moved non-elixir JavaScript code into core es6 module. This will hopefully
      make it so ElixirScript Standard Library modules can be defined in Elixir soon.

0.13.0

0.13.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 26 Oct 16:11
  • Enhancements
    • Added Base module with function: encode64, decode64, and decode64!
    • Added String module
    • Added Bitwise module
    • Added Map module
    • Added MapSet module
    • Added Set module
    • Protocol support
    • Added Collectable, Enumerable, Inspect, List.Chars, and String.Chars protocols.
      The only one currently being used in the Standard Library, however, is String.Chars

0.12.0

0.12.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 23 Sep 14:47
  • Enhancement
    • Updated tuple implementation. It's now a class.
    • Replaced pattern matching library with custom one
    • Added PostOffice. Only thing that current uses it is Agent
    • Removed erlang.js. Moved data types to Kernel.SpecialForms
    • else now works for try expressions
    • for now works with into for lists

0.11.0

Choose a tag to compare

@bryanjos bryanjos released this 16 Sep 23:21
  • Enhancement
    • import works with all options
    • Added JS module with new, mutate, import macros
    • All Standard libraries are rolled up into one elixir.js file and imported from that
    • Added Keyword module with functions, has_key? and get
    • Added Agent module with functions, start, get, update, and get_and_update
    • Map keys are now correctly turned into their atom counterparts if atom keys are used
    • Modules no longer export a default object
    • alias now translates to a namespace import unless default option is given
  • Breaking
    • Mutable.update has been replaced by JS.update
    • transpile, transpile_quoted, and transpile_path are now compile, compile_quoted, and compile_path

0.10.0

0.10.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 01 Sep 22:43
  • Enhancements
    • Added env option for ElixirScript.transpile adding macros for compilation
    • Fixed case implementation to add this to call
    • Updated Kernel module to translate some functions to it's JavaScript equivalent
    • Added Logger that translates Logger functions to console

0.9.0

0.9.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 30 Aug 15:54
  • Enhancements
    • an implementation for quote. Currently ignores :location and :context options
    • an implementation for unquote and unquote_splicing

0.8.0

0.8.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 14 Aug 22:57
  • Enhancements
    • Can now support catch blocks in try expressions
    • Wrapped try's in function closure to make sure they return a value;
    • Added receive
    • Updated pattern matching implementation

0.7.0

0.7.0 Pre-release
Pre-release

Choose a tag to compare

@bryanjos bryanjos released this 01 Aug 17:16
  • Enhancements
    • Can now support rescue and after blocks in try expressions