Skip to content

0.26.0

Compare
Choose a tag to compare
@bryanjos bryanjos released this 27 Feb 12:33
· 536 commits to master since this release

[0.26.0] - 2017-02-27

Added

  • Multiple when clauses in guards

  • Kernel.defdelegate/2

  • js_modules configuration option has been added. This is a keyword list of JavaScript modules that will be used.

          js_modules: [
            {React, "react"},
            {ReactDOM, "react-dom"}
          ]
    
  • js-module flag has been added to the CLI in order to pass js modules.

elixirscript "app/elixirscript" -o dist --js-module React:react --js-module ReactDOM:react-dom

Removed

  • @on_js_load has been removed in favor of having a start/2 function defined. More info below
  • JS.import has been removed in favor of defining JavaScript modules used in configuration

Changed

  • Now bundles all output, including the boostrap code.
    The exported object has Elixir modules in JavaScript namespaces that are lazily loaded when called.

    To start your application import the bundle according to whichever module format was selected and
    then call start giving it the module and the initial args

    //ES module example
    import Elixir from './Elixir.App'
    Elixir.start(Elixir.App, [])

    The start function will look for a start/2 function there.
    This is analogous to a Application module callback