All Versions
42
Latest Version
Avg Release Cycle
33 days
Latest Release
2203 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v0.24.0 Changes
January 15, 2017โ Added
- ๐ Support for
sigil_r
Regex
module- ๐ Better JavaScript formatting
๐ Fixed
- CLI now allows a comma-separated or space-separated list of paths
- Struct not properly referenced
- Tail call optimization
- ๐ Support for
-
v0.23.3 Changes
November 18, 2016[0.23.3] - 2016-11-18
โ Added
@load_only
: lets the compiler know to load in the module, but not to compile it
-
v0.23.2 Changes
November 17, 2016๐ 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
anddefgenp
functions not being recognized by Elixir compiler.
-
v0.23.1 Changes
November 16, 2016๐ Fixed
- 0๏ธโฃ Incorrectly sending standard lib when using compile or compile_path by default
-
v0.23.0 Changes
November 15, 2016โ Added
- ๐
with
now supportselse
- Implement
context
option onquote
- ๐ New compiler pipeline
@on_js_load
. Expects a 0 arity function. This function will be called when the compiled module is loaded in JavaScript- 0๏ธโฃ
JS.import\3
. Just likeJS.import\2
but expects options to decide if the import should be a default one or a namespace on. Only option allowed isdefault
. Set totrue
by default
# translates to "import A from 'a'" JS.import A, "a" #translates to "import * as A from 'a'" JS.import A, "a", default: false
โ Removed
- 0๏ธโฃ The form of
JS.import
that accepted a list of atoms as the first arg. UsedJS.import\3
withdefault: false
instead to create a namespace import env
androot
are no longer options forElixirScript
's compile functions and cli- ๐ Syntax once supported by Elixirscript
JQuery.("#element")
, is no longer supported
๐ Changed
- Changed CHANGELOG.md to adhere the format from Keep a Changelog
- ๐
defmacro
now supported. No longer have to separate macros from functions in separate files.defmacrop
still unsupported - To use anything in the
JS
module, you mustrequire
theJS
module first - Elixirscript files must now contain valid Elixir syntax.
- ๐ Now compiles
exjs
andex
files within the path can be compiled all the same. Dependencies from hex are still unsupported so these files must not rely on any code outside of the path. What this does mean is that it is now possible to share code between Elixir and Elixirscript as long as the Elixir files functionality fall within what Elixirscript currently supports. defgen
,defgenp
,yield
,yield_to
, andobject
are now in theJS
module- To access functions in the global JavaScript scope, either use
JS.global\0
or use the erlang module call syntax
#calling alert JS.global().alert("hi") #calling alert :window.alert("hi")
Calling JavaScript modules in the global scope works without using the above methods
#calls window.Date.now() Date.now()
- ๐
-
v0.22.0 Changes
October 16, 2016โ Added
defgen
anddefgenp
for defining public and private generatorsyield/0
,yield/1
, andyield_to\1
toKernel
๐ Changed
- โก๏ธ Updated output folder structure. stdlib code will now go in an
elxiir
folder under the output paths while generated app code will go into anapp
folder under the output path - All process macros and functions now expect to receive and/or work using generators as entry points. Using functions defined with
def
ordefp
will not work correctly with them
๐ Fixed
- Correctly returning list if list is only item in body
-
v0.21.0 Changes
June 28, 2016โ Added
- ๐ This is the first release with early support for processes in elixirscript. Creating a process only works currently using
spawn/1
,spawn_link/1
, andspawn_monitor/1
. Inside of a process, you can use functions such assend
andreceive
, along with some defined in theProcess
module. From outside of a process, you can send messages to a process, but you cannot receive a message from a process. Eventually all code will run inside processes and this restriction will naturally lift. - The
Process
module has been implemented with the following functions:alive?/1
delete/1
demonitor/1
exit/2
flag/2
flag/3
get/0
get_keys/0
get_keys/1
link/1
list/0
monitor/1
put/2
register/2
registered/0
send/3
sleep/1
unlink/1
unregister/1
whereis/1
- The
receive
special form has been implemented with the above caveat - The following have been implemented on
Kernel
:spawn/1
spawn_link/1
spawn_monitor/1
send/2
make_ref/0
- ๐ This is the first release with early support for processes in elixirscript. Creating a process only works currently using
-
v0.20.0 Changes
May 14, 2016โ Added
ElixirScript.Watcher
module andelixirscript.watch
mix task- ๐ฒ logging MatchError exceptions to better show terms that don't match
-
v0.19.0 Changes
April 30, 2016โ Added
- elixir_script mix compiler
โ Removed
- ๐
Html
,View
, andVDom
modules have been removed
-
v0.18.0 Changes
April 08, 2016๐ Changed
- ๐ Better support for macros. Macros should be defined in .ex or .exs files. ElixirScript code should be in .exjs files
NOTE: The above functionality will cause either compiler errors or no output. Please change extensions of ElixirScript code to .exjs
๐ Deprecated
- ๐
Html
,View
, andVDom
modules will be removed in the next version as they can now be replicated using macros