ewdev/darklua_build
v0.1.0 ·
A darklua build script for Lune
lune_darklua_build
A darklua build script for Lune. Also comes as a library for usage within Lune scripts.
Install
With pesde
pesde add pesde/darklua --dev -t lune # May be specified as a peer dependecy
pesde add ewdev/darklua_build --dev -t lune
pesde install
Usage (script)
pesde.toml:
[dev_dependencies]
darklua = { name = "pesde/darklua", version = "^0.16.0" }
darklua_build = { name = "ewdev/darklua_build", version = "^0.1.0" }
[scripts]
build = ".pesde/darklua_build/darklua_build.luau"
pesde run build # Builds from src, into out
Script options:
--input / -i [Path]
# Path to what to process (defaults to "src").
--output / -o [Path]
# Path to the output folder (defaults to "out").
--config / -c [Path]
# Path to a build config file. If left empty (or invalid): attempts to find any .darklua.build.json / .darklua.build.toml / .darklua.build.yaml
--silent / -s
# If provided, silences all non error messages.
--watch / -w
# If provided, listens to any changes to any input / build file, and automatically re-runs the build script.
.darklua.build.toml (.json / .yaml also supported)
input = "src" # Path to what to process (defaults to "src").
output = "out" # Path to the output folder (defaults to "out").
[options] # An optional dictionary containing a set of build options.
cwd = "." # Sets the relative path of all other paths, including input and output.
include = [ # List of globs for files to include while building (also copied over to the output)
"roblox_packages/**/*", ".darklua.json", "*.project.json", "sourcemap.json"
]
ignore = [ "*.d." ] # List of globs for files to ignore (also ignores files for files under the input path)
darklua_config = ".darklua.json" # Custom path to your darklua config file (if left empty: uses default config path)
silent = false # If set to true, silences all non error messages.
watch = false # If set to true, listens to any changes to any input / build file, and automatically re-runs the build script.
temp_dir_keep = false # If true, keeps the temporary build directory that's created after finishing.
temp_dir_location = "." # Path for where to create the temporary build directory (defaults to system temp directory, unless temp_dir_keep is enabled where the current directory is used instead)
Usage (library)
if not _G.LUA_ENV then
_G.LUA_ENV = "lune"
end
local darklua_build = require("path/to/package")
darklua_build(
inputPath, -- Path to what to process.
outputPath, -- Path to the output folder.
{ -- An optional dictionary containing a set of build options.
include = { "roblox_packages/**/*", ".darklua.json", "*.project.json", "sourcemap.json" },
ignore = { "*.d." }
-- For a list of options, and what they do, refer to the example .darklua.build.toml above.
}
)