You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
The TypeScriptLua repo contains the complete source code implementation for TypeScript compiler for Lua bytecode.
Chat Room
Want to chat with other members of the TypeScript for Lua community?
Engage, Contribute and Provide Feedback
Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.
License
TypeScriptLua is licensed under the MIT license.
Quick Start
Prerequisite: nodejs, Lua 5.3, VSCode
Build Project
npm installnpm run build
Compile test.ts
create file test.ts
declarevarprint:any;classPerson{protectedname:string;constructor(name:string){this.name=name;}}classEmployeeextendsPerson{privatedepartment:string;constructor(name:string,department:string){super(name);this.department=department;}publicgetElevatorPitch(){return`Hello, my name is${this.name} and I work in${this.department}.`;}}lethoward=newEmployee("Howard","Sales");print(howard.ElevatorPitch);
node __out/main.js test.ts
Now you have test.lua
Run it.
lua test.lua
Result:
Hello, my name is Howard and I work in Sales.
Enjoy it.
How to use JavaScript Library
Compile JavaScript Library
cd experiments\jslibnode ../../__out/main.js -singleModule
Copy JS.lua into your folder where you run the compiled app.
Compile test.ts
create file test.ts
classPerson{protectedname:string;constructor(name:string){this.name=name;}}classEmployeeextendsPerson{privatedepartment:string;constructor(name:string,department:string){super(name);this.department=department;}publicgetElevatorPitch(){return`Hello, my name is${this.name} and I work in${this.department}.`;}}lethoward=newEmployee("Howard","Sales");console.log(howard.ElevatorPitch);
node __out/main.js test.ts
Run it.
lua -e "require('./JS')" test.lua
Result:
Hello, my name is Howard and I work in Sales.
Enjoy it
About
The TypeScriptLUA repo contains the complete source code implementation for TypeScript compiler for LUA bytecode