• Stars
    star
    246
  • Rank 164,688 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Provides everything you need to run Fengari in the browser.

Build Status npm License: MIT #fengari on libera.chat

fengari-web

Provides anything you need to run Fengari in the browser.

Getting started

Download

Visit the GitHub releases page and get the latest version.

Alternatively you can Build fengari-web yourself.

Directly

Load fengari-web in your web page:

<script src="fengari-web.js" type="text/javascript"></script>

Now any script of type application/lua will be run by fengari:

<script type="application/lua">
print("Hello World!")
</script>

<script src="/my-script.lua" type="application/lua" async></script>

Note that if you use a src attribute, it is strongly recommended for it to be async.

With build process

See fengari-loader

Compatibility

fengari-web should work in all modern browsers.

Verified to work in:

  • Chrome >= 38
  • Firefox >= 19
  • Safari >= 8
  • Microsoft IE 11
  • Microsoft Edge

API

As well as running <script type="application/lua"> tags, fengari-web creates a fengari global that contains the core fengari API supplemented with:

  • L: the main lua_State (in which script tags are run)
  • interop: containing the fengari-interop library
  • load(source, chunkname): a function that loads the lua code in source with the optional chunk name chunkname and returns it as a function. This function can be used to programmatically run lua code in the main lua_State from JavaScript. e.g.
    console.log(fengari.load('return 1+1')())

Building

git clone https://github.com/fengari-lua/fengari-web.git
npm install

This should automatically kick off the build process. The built files can then be found in the dist/ directory.

If you need to rebuild, run

npm run build

Or use webpack directly.