Close
Close full mode
logots-defold

ts-defold is an awesome TypeScript toolkit for leveling-up 🍄 your Defold game projects.

What ts-defold Offers 🔥

ts-defold is open source and free -- forever!
  • Writing your Defold game scripts in TypeScript, a statically-typed language
  • Typings and auto-complete for the Defold API
  • Project generator and project templates for a quick start
  • ESLint configured and ready to lintlint Linting is the process of analyzing source code to find and fix programming errors, stylistic issues, and potential bugs your code
  • Prettier auto-formatting included
  • Type generator that stays up to date with the Defold APIAPI - Application Programming Interface Computing interface which defines interactions between multiple software intermediaries
  • Library of types for Defold native extensions and Lua libraries
  • Debugging with sourcemaps
  • Visual Studio Code support
  • A friendly community of developers
  • And more!

Why TypeScript? ✨

Defold uses Lua for its game scripting language, and it is an excellent choice! The ts-defold team loves Lua, and has worked with Lua for years. So why TypeScript?

TypeScript brings compile-time type-checking, generics, cutting-edge IDE support, better code maintainability, a familiar syntax, and a lot of other cool features. After spending 12+ years in the game industry, we have learned that the more errors and potential problems you can detect at compile-time over runtime, the faster you can iterate. As your project grows, TypeScript will pay off in spades.

Through the hard work of the TypeScriptToLua project, we have created a toolkit that generates reliable, trusted Lua code from TypeScript code for your Defold game project. This means that you can reason about the generated code with human eyes 👀, know that there is a greater community supporting the transpiler, and trust the 100s of tests that execute on the TSTLTSTL - TypeScriptToLua Transpiler An extension to the TypeScript compiler that transpiles TypeScript code to Lua codebase.

Previous
Next — 🚀 Getting Started
Quick Start