A simple Lua runtime that also helps with bundling Lua code, resolving Lua requirements, and building a final executable with libraries.
- Lua Runtime: Execute Lua scripts.
- Code Bundling: Bundle multiple Lua files into a single file.
- Dependency Resolution: Resolve Lua module requirements.
- Executable Builder: Create standalone executables from your Lua projects.
You can run a single Lua file:
lulu run single.luaYou can also run a project with a main.lua and a lulu.conf.lua:
lulu run main.luaLulu can bundle your project into a single .lulib file:
lulu bundle main.lua /path/to/main.lulibYou can build a standalone executable from your project. The build process is defined in your lulu.conf.lua.
lulu build /path/to/project
# or
lulu build # means lulu build .Lulu can resolve and cache dependencies from URLs or git repositories.
To resolve all dependencies for a project, run resolve in the project directory:
lulu resolve .You can also resolve a single dependency:
lulu resolve github:user/repoYou can manage the cache with the cache command:
# List all cached packages
lulu cache list
# Clear the entire cache
lulu cache clear
# Remove a specific package from the cache
lulu cache remove <package_url>- Runtime based on luajut
- A few simple APIs
- Lua bytecode buffer
- Lua module resolver from buffer
- Bundler into ".lulib" or executable
- Current path resolver
- Downloading lulib from paths
- Downloading lulib from github
- Building lua projects
- Building github repos
- Caches
- Macros
- Builtin Macros (like
import!,test!,cfg!) - Export Macros (through
lulu.conf.lua) - Basic Testing
- Packager for Windows, Linux, and macOS
- Testing framework integration
- Additional features for FFI
- LuaRocks integration