What's new
- TypeScript projects. A project is written in Lua or TypeScript, picked when it is made. The editor compiles TypeScript to Lua with TypeScriptToLua, so the game only ever runs Lua and plays the same either way.
- Errors point at the line in the
.tsfile, not the Lua it became. - The editor compiles when a TypeScript project opens and watches its scripts after that. A build with an error writes nothing, so the game keeps the last scripts that compiled.
- Code editors get completion from
api.d.ts, written from the same bindings as the Lua reference. - An exported TypeScript game ships compiled Lua, with no TypeScript and no Node.js inside.
- Opening a project never runs its code: compiler settings that would load code are switched off.
- The first-game template and Feature Tour come in TypeScript too.
- Zombie Survival, a new top-down shooter sample: waves of walkers, runners and brutes, four guns, and barricades that open the map as you score.
- Every Lua example in the documentation has a TypeScript version beside it. See TypeScript.
Known issues
- TypeScript projects need Node.js 16 or newer on the machine that edits them. Players never need it.