Skip to content

Repository files navigation

demoon

You love Lua but the runtime API is very weak and you don't want to handle and learn a lot of different luarock libraries? You came at the right place! This project aims to offer the bests of Lua and NodeJS together.

Don't use this in production!

Usage

You don't need lua installed to run demoon, but you need node and npm as well, firstly, install demoon globally:

$: npm i -g demoon

Then run it passing your entry lua file:

$: demoon app.lua

Example

This is a little sample code to demonstrate how demoon is powerful and bridges well with nodeJS:

-- you can require node modules (package.json/node_modules works as well)localhttp=require('http')
-- you can require js modules and lua files-- require('./myjsmodule.js')-- require('./myluamodule.lua')localport=os.getenv('PORT') or8080functionsleep(ms)
-- you can use and create promisesreturnPromise.create(function(resolve)
setTimeout(resolve, ms)
end)
end-- top level await works!sleep(1000):await()
http.createServer(async(function (req, res)
-- you can await inside async bounded functionssleep(1000):await()
res:write('Hello World!')
res['end']()
end)):listen(port)
print('Your server is running on port ' ..port..'!')

About

Lua + Node = demoon

Resources

Stars

79 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages