4 releases (stable)
1.1.3 | Nov 8, 2023 |
---|---|
1.1.2 | Oct 28, 2023 |
1.1.0 | Oct 10, 2023 |
0.1.0-alpha | Aug 30, 2023 |
#10 in #lua-script
18KB
321 lines
Lua Bundler
A customizable Lua Bundler made in Rust
Setup
- Run
cargo install luabundle
, it should download to your cargo bin folder. - Run
luabundle
in the command prompt to create a new project and in the current directory. - Run
luabundle
again to bundle your code to the output file.
Options
- Require Function (default
loadmodule
) - Entry File (default
main.lua
) - Output File (default
LuaBundler/bundled.lua
) - Minify (default
false
) - Beautify (default
true
)
Usage
Create a file called main.lua
(or what you set as the Entry File
) in the root folder.
Files that are being required should be treated like a module script.
Use the loadmodule
function and pass in a path to a file (paths are relative to the current file).
Use @
before the path to access the root, e.g., loadmodule("@fileAtRootFolder.lua")
.
Example
Suppose you had a file layout like this
Project Directory/
├── main.lua
└── utils/
└── fancyprint.lua
Within main.lua
local fancyprint = loadmodule("utils/fancyprint.lua")
fancyprint("Hello world!")
Within fancyprint.lua
local function fancyprint(text)
print(text + " was printed with fancy text")
end
return fancyprint
Upon running luabundle, the output file would contain the runnable lua code
Dependencies
~20–33MB
~525K SLoC