As part of an ongoing effort to make luvit's ecosystem more interoparable
with the existing lua ecosystem, we're proud to announce the release of lit
3.0.0.

This is a major release with some important changes.  You can see the gory
details in this PR https://github.com/luvit/lit/pull/155

The main change in this release is we are moving away from the
`luvit/require` package and instead using a new tool `luvit-loader` that
works as a custom loader for lua's native require system.

This new loader uses plain `loadstring` or `loadfile` to actually load the
modules, so your global semantics will be identical to normal lua modules.

This means there is no longer a global `exports` table.  Your export values
must be returned at the end of your module to work with the new lit
system.  This also works with normal lua module systems.

Since there is no global `exports` table anymore, single-file lit modules
needed a new way to define their metadata.  This is now done via a special
lua comment and the lit README is updated to reflect this.

Also, you cannot `coroutine.yield` from a module before returning your
exports value.  Since we are using the real native require and it's
implemented in C, this throws an error about yielding across C boundary.

Luvi was patched slightly to fix a bug where it assumed that you would
always use `luvit/require` if there was `luvit/pretty-print` present.

I'm now working on migrating luvit itself to the new system.

All the lit modules within lit have been published to lit.luvit.io as a new
major revision (2.0.0 for most of them).

-- 
You received this message because you are subscribed to the Google Groups 
"luvit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to