0.1.4 • Published 11 years ago

luaworker v0.1.4

Weekly downloads
4
License
MIT
Repository
github
Last release
11 years ago

Lua Worker

Package for running a Lua VM in a Web Worker.

Example

If you prebuilt the worker.js file, you can specify its location when calling the luaworker module function:

var lua = require('luaworker')('worker.js');
lua.execute('name = "Lua"');
lua.execute('print("Hello from " .. name .. "!")', function (err, buffer) {
  console.log(buffer);
});

To be able to run this in a browser, you need to use a framework that supports CommonJS modules (for example: Browserify).

Using this package

To get the necessary files from this package, install it with NPM:

npm install --save luaworker

As stated above, you need to first package this code so that it can run in a browser. You can do this with, for example, Browserify.

Here's how you'd create the JavaScript files to run in your browser, assuming you are using the code in the Example section above:

# Bundle the Worker code into its own file:
browserify node_modules/luaworker/worker.js -o worker.js
# Put the code from the Example section into main.js, then run this:
browserify main.js -o app.js

If you run this, you should see the output "Hello from Lua!" in your console.

Note that this hasn't been optimized yet, so if you don't minimize your code (by using UglifyJS, for example), you may end up with a huge worker.js file.

Building

To build the required JavaScript, you need to have Emscripten in your PATH. To build, simply run ./build.

The work in emlua.patch is borrowed from kripken's lua.vm.js.

Note: This does not include the Lua → JS bridge, since allowing access to JavaScript from Lua might not always be desirable.

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago