Skip to content

hazzard993/LuaToTypeScript

Repository files navigation

Lua To TypeScript

npm

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.

Example Input and Output

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.