Skip to content

Releases: elixirscript/elixirscript

0.32.1

Choose a tag to compare

@bryanjos bryanjos released this 17 Mar 20:17
v0.32.1

Update changelog

0.28.0

Choose a tag to compare

@bryanjos bryanjos released this 11 Jun 16:43
v0.28.0

Update version and CHANGELOG.md

0.27.0

Choose a tag to compare

@bryanjos bryanjos released this 18 Mar 01:16

[0.27.0] - 2017-03-17

Added

  • super
  • defoverridable
  • IO.inspect\1, IO.puts\1, IO.puts\2, IO.warn\1
  • Elixir.load for loading generated JavaScript modules in bundled output.
    Unlike Elixir.start, this will only call __load on the module and return the functions on it
const exports = Elixir.load(Elixir.MyApp);
exports.hello();

Changed

  • -ex alias is now -e
  • A filename can be specified for output
  • To access global JavaScript functions, modules, and properties, use the JS module
JS.length # translates to 'length'
JS.alert() # translates to 'alert()'
JS.String.raw("hi") # translate to String.raw('hi')
JS.console.log("hi") # translates to console.log('hi')

Fixed

  • Make sure mix compiler works in umbrella apps

0.26.1

Choose a tag to compare

@bryanjos bryanjos released this 28 Feb 02:26

[0.26.1] - 2017-02-27

Fixed

  • Fixed for translation
  • Updated documentation

0.26.0

Choose a tag to compare

@bryanjos bryanjos released this 27 Feb 12:33

[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

0.25.0

Choose a tag to compare

@bryanjos bryanjos released this 19 Feb 18:22

[0.25.0] - 2017-02-19

Added

  • Updated elixir_script mix compiler to support compiling elixir_script paths in dependencies if dependency has mix compiler defined as well
  • Add Collectable protocol implementations
  • Updated for implementation to use Collectable
  • format option. Can now specify the module format of output.
    Choices are:
    * :es (default) for ES Modules
    * :umd for UMD
    * :common for CommonJS
  • Default input, output and format for elixirscript mix compiler. In a mix project by default the elixirscript compiler will look in lib/elixirscript and input and place output in priv/elixirscript. The default format is :es

Removed

  • receive
  • Process module

Fixed

  • JS module functions not translated properly when imported
  • Update fs dependency to 2.12
  • Incorrect handling of function heads with guards

0.24.0

Choose a tag to compare

@bryanjos bryanjos released this 15 Jan 19:00
v0.24.0

Ready for release

0.23.3

Choose a tag to compare

@bryanjos bryanjos released this 18 Nov 15:47

[0.23.3] - 2016-11-18

Added

  • @load_only: lets the compiler know to load in the module, but not to compile it

0.23.2

Choose a tag to compare

@bryanjos bryanjos released this 18 Nov 02:43

[0.23.2] - 2016-11-17

Fixed

  • Agent not functioning properly. Now uses internal store instead of making a process and using that to put data in store
  • Protocol incorrectly handling strings
  • defgen and defgenp functions not being recognized by Elixir compiler.

0.23.1

Choose a tag to compare

@bryanjos bryanjos released this 16 Nov 13:29

[0.23.1] - 2016-11-16

Fixed

  • Incorrectly sending standard lib when using compile or compile_path by default