Converts Lua to TypeScript code. Uses LDoc type annotations for typing information.
yarn global add lua-to-typescript
# or
npm install -g lua-to-typescript
Then use ltts
to use the CLI.
ltts --help
ltts main.lua
# Generates main.ts
ltts a.lua b.lua c.lua ...
# Generates a.ts, b.ts, c.ts, ...
ltts -d library.lua
# Generates library.d.ts
Supports the following tags:
@type
@tparam
@treturn
Can translate classes marked with @classmod
to a TypeScript class using the -c
option.
Can translate modules marked with @module
to a TypeScript module using the -m
option.
Can generate declaration files from existing Lua code. Typing information is obtained from lua-types.
abc.lua
-- @tparam number a
-- @tparam string b
-- @tparam number c
local function abc(a, b, c)
print(a, b, c)
end
return abc
Using ltts -d abc.lua
, this translates to:
abc.d.ts
declare function abc(a: number, b: string, c: number): void;
export = abc;
See the new features added in the CHANGELOG.