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.
