lua-loader
February 14, 2014 · View on GitHub
Manage your Lua modules with npm
Usage
0. npm
Download and install Node.js. Then you have npm
1. Install
In the root of your project, npm install lua-loader
2. Initialise
In the main lua file in your project:
require("node_modules.lua-loader.init")
Now require() knows all the new tricks.
3. Have fun
Require modules
Install the lua npm package you want to use in your project, eg. npm install lua-events.
This will install the package as expected in ./node_modules/lua-events.
You can now just:
local EventEmitter = require("lua-events").EventEmitter
And then just use the module for what it's useful for, eg:
local myObj = EventEmitter:new({text = "Hello, world!"})
function myObj:talk ()
self:emit("spoken", self.text)
end
myObj:on("spoken", function (text)
print("myObj said", text)
end)
myObj:talk()
Require source files
Suppose the following directory structue:
project-root
├── init.lua
├─┬ lib
│ └── foo.lua
└─┬ tests
├── init.lua
└── test-1.lua
- From
init.luayou can loadlib/foo.luawith:
require("./lib/foo")
- From
tests/init.luayou can loadtests/test-1.luawith:
require("./test-1")
- From
tests/init.luayou can loadlib/foo.luawith:
require("../lib/foo")
Limitations
- Doesn't read the
package.json. So won't respect themainentry in there. Tries to load./init.luaor else./<package name>.luaand that's it.
##Tests
npm test lua-loader