Provides anything you need to run Fengari in the browser.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
NEWS Release v0.1.2 Apr 22, 2018
package.json Release v0.1.2 Apr 22, 2018

Build Status npm License: MIT #fengari on Freenode


Provides anything you need to run Fengari in the browser.

Getting started


Visit the GitHub releases page and get the latest version.

Alternatively you can Build fengari-web yourself.


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 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


fengari-web should work in all modern browsers.

Verified to work in:

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


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')())


git clone
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.