| Crates.io | dalbit |
| lib.rs | dalbit |
| version | 0.2.3 |
| created_at | 2024-12-11 08:39:48.678134+00 |
| updated_at | 2025-06-29 13:03:39.297681+00 |
| description | A Luau-to-Lua transpiler |
| homepage | |
| repository | https://github.com/CavefulGames/dal |
| max_upload_size | |
| id | 1479756 |
| size | 155,781 |
Dalbit(달빛) is a Luau-to-Lua transpiler, designed specifically for Lua 5.3.
To manage/install with pesde manifest:
pesde add caveful_games/dalbit --dev --target lune
pesde install
To run directly from anywhere:
pesde x caveful_games/dalbit
cargo install dalbit --locked
You can print more options and informations by running dalbit help [command]
initInitializes dalbit manifest file in the current path.
dalbit init [path]
fetchFetches and updates lua polyfills.
dalbit fetch --config <config-path>
transpileTranspiles luau code to lua code.
dalbit transpile --config <config-path>
cleanCleans polyfill caches from disk.
dalbit clean
dalbit.tomlinput = "input.luau"
output = "output.lua"
file_extension = "lua"
target_version = "lua53"
minify = true
[modifiers]
[polyfill]
repository = "https://github.com/CavefulGames/dalbit-polyfill"
injection_path = "__polyfill__"
inputs/input.luaulocal obj = { items = {1, 4, 9} }
setmetatable(obj, { __iter = function(o) return next, o.items end })
for k, v in obj do
print(k * k)
end
outputs/output.luaulocal setmetatable=require'./__polyfill__'.setmetatable local __DALBIT_getmetatable_iter=require'./__polyfill__'.__DALBIT_getmetatable_iter local type=require'./__polyfill__'.type local next=require'./__polyfill__'.next local io=nil local module=nil local package=nil local dofile=nil local loadfile=nil local load=nil local obj={items={1,4,9}}
setmetatable(obj,{__iter=function(o)return next,o.items end})do local _DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c, _DALBIT_REMOVE_GENERALIZED_ITERATION_invare234e8bef135bb4c, _DALBIT_REMOVE_GENERALIZED_ITERATION_controle234e8bef135bb4c=
obj if type(_DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c)=='table'then local m=__DALBIT_getmetatable_iter(_DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c)if type(m)=='table'and type(m.__iter)=='function'then _DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c, _DALBIT_REMOVE_GENERALIZED_ITERATION_invare234e8bef135bb4c, _DALBIT_REMOVE_GENERALIZED_ITERATION_controle234e8bef135bb4c=m.__iter(_DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c)else _DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c, _DALBIT_REMOVE_GENERALIZED_ITERATION_invare234e8bef135bb4c, _DALBIT_REMOVE_GENERALIZED_ITERATION_controle234e8bef135bb4c=next, _DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c end end for k,v in _DALBIT_REMOVE_GENERALIZED_ITERATION_itere234e8bef135bb4c,_DALBIT_REMOVE_GENERALIZED_ITERATION_invare234e8bef135bb4c,_DALBIT_REMOVE_GENERALIZED_ITERATION_controle234e8bef135bb4c do
print(k*k)
end end
Any issues, advices, and PRs for contribution are welcome!
The name of this project, Dalbit, translates to "moonshine" in Korean.