luabundle

Crates.ioluabundle
lib.rsluabundle
version1.1.3
sourcesrc
created_at2023-08-30 05:51:07.37201
updated_at2023-11-08 07:10:38.461663
descriptionBundler for Luau scripts
homepage
repositoryhttps://github.com/Sw1ndlerScripts/LuaBundler
max_upload_size
id958733
size58,864
Alex (Sw1ndlers)

documentation

README

Lua Bundler

A customizable Lua Bundler made in Rust

Setup

  1. Run cargo install luabundle, it should download to your cargo bin folder.
  2. Run luabundle in the command prompt to create a new project and in the current directory.
  3. 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

Commit count: 47

cargo fmt