Releases: elixirscript/elixirscript
Releases · elixirscript/elixirscript
0.32.1
0.28.0
0.27.0
[0.27.0] - 2017-03-17
Added
superdefoverridableIO.inspect\1,IO.puts\1,IO.puts\2,IO.warn\1Elixir.loadfor loading generated JavaScript modules in bundled output.
UnlikeElixir.start, this will only call__loadon the module and return the functions on it
const exports = Elixir.load(Elixir.MyApp);
exports.hello();Changed
-exalias is now-e- A filename can be specified for output
- To access global JavaScript functions, modules, and properties, use the
JSmodule
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
0.26.0
[0.26.0] - 2017-02-27
Added
-
Multiple
whenclauses in guards -
Kernel.defdelegate/2
-
js_modulesconfiguration option has been added. This is a keyword list of JavaScript modules that will be used.js_modules: [ {React, "react"}, {ReactDOM, "react-dom"} ] -
js-moduleflag 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_loadhas been removed in favor of having astart/2function defined. More info belowJS.importhas 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
startfunction will look for astart/2function there.
This is analogous to a Application module callback
0.25.0
[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
Collectableprotocol implementations - Updated
forimplementation to useCollectable formatoption. Can now specify the module format of output.
Choices are:
*:es(default) for ES Modules
*:umdfor UMD
*:commonfor CommonJS- Default input, output and format for elixirscript mix compiler. In a mix project by default the elixirscript compiler will look in
lib/elixirscriptand input and place output inpriv/elixirscript. The default format is:es
Removed
receiveProcessmodule
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
0.23.3
0.23.2
[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
defgenanddefgenpfunctions not being recognized by Elixir compiler.