Go to file
Bilal2453 2e5ecb776a process: respecting deprecation on getpid 2022-05-02 22:32:40 +08:00
.github/workflows Add basic Github Actions workflow 2021-06-25 17:10:19 -07:00
bench/http-cluster fix missing code block ending 2015-01-22 13:06:15 -05:00
deps process: respecting deprecation on getpid 2022-05-02 22:32:40 +08:00
examples update http module 2019-05-18 23:16:40 +08:00
tests Release Prep for Luvit v2.18.0 2021-06-27 07:07:26 -05:00
tools Update root certificates in tls module 2021-11-17 19:05:22 -06:00
.gitattributes add a .gitattributes for batch files 2015-07-23 10:57:47 -05:00
.gitignore Add luvi.exe to gitignore 2017-10-08 14:04:55 -04:00
.gitmodules litify 2015-02-18 13:28:38 -06:00
.luacheckrc Revert all changes except porting modules to new metadata format 2016-02-05 22:14:57 -06:00
CONTRIBUTING.md add contributing doc (#989) 2017-06-14 10:50:32 -05:00
ChangeLog Release luvit v2.18.1 2021-11-17 20:04:15 -06:00
LICENSE.txt Use Apache 2.0 License consistently throughout luvit 2012-01-07 08:55:10 -08:00
Makefile Release Prep for Luvit v2.18.0 2021-06-27 07:07:26 -05:00
NOTICE.txt Use Apache 2.0 License consistently throughout luvit 2012-01-07 08:55:10 -08:00
README.markdown Merge pull request #1145 from squeek502/freenode-readme 2021-06-25 19:56:14 -05:00
Vagrantfile add vagrantfile 2014-12-01 00:02:09 -06:00
appveyor.yml Fix appveyor.yml parse error 2017-09-06 10:06:45 -07:00
init.lua fix main thread tracebacks 2021-09-08 16:33:46 -05:00
main.lua fix luvit handle args 2020-05-09 15:11:54 +08:00
make.bat Release Prep for Luvit v2.18.0 2021-06-27 07:07:26 -05:00
package.lua Release luvit v2.18.1 2021-11-17 20:04:15 -06:00

README.markdown

Luvit 2.0 - Node.JS for the Lua Inventor

Linux Build Status Windows Build status Coverage Status

Welcome to the source code for Luvit 2.0. This repo contains the luvit/luvit metapackage and all luvit/* packages as published to lit.

This collection of packages and modules implements a node.js style API for the luvi/lit runtime. It can be used as both a library or a standalone executable.

See the main project webpage for more details. https://luvit.io/

Need Help?

Ask questions here through issues, on Discord or the mailing list.

Binary Modules

Luvit supports FFI and Lua based binary modules. There is a wiki entry explaining how to manage and include a binary module within a bundled application. Publishing Compiled Code

Hacking on Luvit Core

First you need to clone and build luvit, this is easy and works cross-platform thanks to Makefile and make.bat.

git clone https://github.com/luvit/luvit.git
cd luvit
make

If you want to test luvit without constantly building, use luvi.

luvi . 

Always make sure to run make test before submitting a PR.

Notes to Maintainers

  • Use luvi /path/to/luvit to test changes without rebuilding the binary.
  • To run the test suite, run make test to build a luvit and use that.
  • If you want to test a custom built luvi, run luvi . -- tests/run.lua
  • If you want to run a specific test file with a custom built luvi, run luvi . -- tests/test-<name-of-test>.lua (e.g. luvi . -- tests/test-http.lua)
  • There is a wiki page on making new luvit releases at https://github.com/luvit/luvit/wiki/Making-a-luvit-release.

The packages in deps live primarily in this repo, but some are duplicated in luvit/lit to ease lit bootstrapping. Updates can be pushed from either repo to lit, just make sure to keep them in sync. One way to do this is to rm -rf deps && lit install. This will install the latest version of all the packages from lit. Check the diff carefully to make sure you're not undoing any work. There might have been unpublished changes locally in luvit that aren't in the lit central database yet.