Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ts-defold/type-gen
Typescript type generator for Defold
https://github.com/ts-defold/type-gen
defold lua typescript typings
Last synced: about 2 months ago
JSON representation
Typescript type generator for Defold
- Host: GitHub
- URL: https://github.com/ts-defold/type-gen
- Owner: ts-defold
- License: mit
- Created: 2020-10-12T17:57:07.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-18T02:38:37.000Z (3 months ago)
- Last Synced: 2024-10-25T10:36:20.638Z (about 2 months ago)
- Topics: defold, lua, typescript, typings
- Language: TypeScript
- Homepage:
- Size: 757 KB
- Stars: 5
- Watchers: 4
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @ts-defold/type-gen
> TypeScript type generator for Defoldtype-gen is a TypeScript declarations generator for the [Defold](https://github.com/defold/defold) game engine.
- types are parsed generated from the [offical documentation](https://defold.com/ref/stable/go/)
- types will avoid `any` if they can
- vmath.* types can all be used with number operators through [Intersection Types](https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html)
- you will need to decorate with an aditional cast upon assignment, but a fair tradeoff vs. vector math function helpers
```ts
function on_update(this:{pos: vmath.vector3, dir: vmath.vector3}, dt: number) {
const speed = 331;
this.pos = this.pos + this.dir * speed * dt as vmath.vector3;
}
```
- generated typdoc commnets from lua documentation
- fully generated with no need to manually intervine## Usage: Install & {}
type-gen was made to generate types for [@ts-defold/types](https://github.com/ts-defold/types) and is included as a dev dependency.
If you are simply wanting typescipt types for your Defold project **@ts-defold/types** is your best bet.
> `npm install -D @ts-defold/types`If you would like to generate your own types, hack on this project, or contribute in any way, i would suggest you try:
```sh
git clone https://github.com/ts-defold/type-gen.git
cd type-gen
npm install
npm run build
```Alternatively, if you would like to just generate your types without the dependency then simply:
```sh
npx @ts-defold/type-gen
#or
npx @ts-defold/type-gen -- defold.d.ts --channel stable --api latest
```@ts-defold/type-gen can optionally take in arguments:
- **[defold.d.ts]** path to generated output file
- **--channel** [stable | beta | alpha]
- **--api** [latest | 1.2.xxx]If being used in a project locked to a specific release channel or version of defold you may add configuration settings in your `package.json` instead:
```json
"ts-defold": {
"channel": "stable",
"output": "index.d.ts"
},
```### Shoutouts 📢
[@dasannikov](https://github.com/dasannikov) and [DefoldTypescript](https://github.com/dasannikov/DefoldTypeScript) for a starting point and inspiration
[TypeScriptToLua](https://github.com/TypeScriptToLua/TypeScriptToLua) for the awesome community and tools
[@hazzard993](https://github.com/hazzard993), [@ark120202](https://github.com/ark120202), [@Perryvw](https://github.com/Perryvw) and all the fine folks over on the [tstl discord server](https://discord.gg/BWAq58Y).
TypeScript :heart: Defold