Provides anything you need to run Fengari in the browser.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
.travis.yml
LICENSE
NEWS Release v0.1.2 Apr 22, 2018
README.md
package.json Release v0.1.2 Apr 22, 2018
webpack.config.js
yarn.lock

README.md

Build Status npm License: MIT #fengari on Freenode

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.