LuBu is a simle lua bundler which allows you to compress .lua and .dll modules into one.
See example-project
folder
- install lubu.exe from the latest release
- create
lubu.json
file in your project folder - set up your config
- use
lubu.exe lubu.json
LuBu config must have fields "modules", "modules" and "output". Also you can add some constants in "const"
main
-string
- path to main filemodules
-map[string]string
- .lua / .dll modules list, where key is module name (used inrequire()
), value is a path to moduleoutput
-string
- path to bundled fileconst
-map[string]interface{}
- constants list, where key is variable name and value is a constant value. Only string, number and bool are supportedwatcher_delay
-float64
- delay for "watcher" in milliseconds. Watcher will check files modification time with this interval. If one of files was changed lubu will re-bundle your script.resource
-map[string]string
- list of resources. All resources will be converted to bytes, and after running the script, source files will be created from these bytes. The key is the path that will be used to create the file after running the script. The value is the path to the compressed file.
{
"modules": {
"sum": "src/sum.lua",
"mul": "src/mul.lua",
"lfs": "src/lfs.dll"
},
"const": {
"VERSION": "1.1a"
},
"main": "src/init.lua",
"out": "dist/release.lua",
"watcher_delay": 250
}
Also you can find auto json generator in example
folder. Run it using go run generate-lubu-config.go
my-project/
├── src/
│ ├── lfs.dll
│ ├── init.lua
│ ├── add.lua
│ └── mul.lua
├── lubu.exe
└── lubu.json
git clone https://github.com/chaposcripts/lubu/
cd lubu
go build
or usego build && lubu.exe lubu.json
to run it after building
- add .dll modules support (Done!)
- add resource bundler (ttf, png, etc.)