CLI tool for bundling several Lua files into a single file.
If you're looking for an API, see luabundle
npm install -g luabundler
The bundle
command takes an input Lua file, and recursively collects all the require()
d modules and bundles them into a single output bundle.
luabundler bundle input.lua -p "/path/to/lua/?.lua" -o bundle.lua
If you don't specify an output file (-o
), the resultant bundle will be printed to your terminal.
In order to know where to look for required files, you must provide one or more search path patterns.
In addition to allowing you to add directories to search within, the pattern format allows you to configure supported file extensions as well.
For example, it's fairly common practice for Lua scripts written for Tabletop Simulator to use the .ttslua
extension:
luabundler bundle input.lua -p "/path/to/lua/?.lua" -p "/path/to/mod/?.ttslua" -o bundle.lua
Additional bundle options are described with:
luabundler bundle --help
The unbundle
command takes an input bundle, and splits it up into its original modules.
luabundler unbundle bundle.lua -o original_input.lua -m modules/
You may omit the -m
option in order to simply output the root module and ignore all its require()
'd dependencies i.e. if you already have them on disk.
Additional unbundle options are described with:
luabundler unbundle --help