Awesome
lua-loader
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.lua
you can loadlib/foo.lua
with:
require("./lib/foo")
- From
tests/init.lua
you can loadtests/test-1.lua
with:
require("./test-1")
- From
tests/init.lua
you can loadlib/foo.lua
with:
require("../lib/foo")
Limitations
- Doesn't read the
package.json
. So won't respect themain
entry in there. Tries to load./init.lua
or else./<package name>.lua
and that's it.
##Tests
npm test lua-loader