ttypescript
TypeScriptToLua
Our great sponsors
ttypescript | TypeScriptToLua | |
---|---|---|
9 | 10 | |
1,519 | 1,968 | |
- | 3.2% | |
3.5 | 8.3 | |
10 months ago | about 1 month ago | |
TypeScript | TypeScript | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ttypescript
-
Ts-morph – programmatically manipulate TypeScript source code with TypeScript
Actually this can easily overcome by using https://github.com/cevek/ttypescript that allows using transformers in tsc and define then in tsconfig.json
-
Can TS transpile struct to ARRAY? Can give massive memory/perf gains.
You could write custom transformer for this (using ttypescript), if you really want to
-
Tuple | union from file system
didn't look to hard at it but afaik ttypescript is what you need https://github.com/cevek/ttypescript
-
Stop Using "AST" Directly
That's it! after this, just register it with the method described on ttypescript.
-
ts-dynamodb-attributes-transformer - A code transformer of TypeScript object to DynamoDB attributes
As I noted above, this is a TypeScript transformer plugin so it needs to hook this plugin on TypeScript compilation phase. I suppose one of the easiest ways is using ttypescript which is a custom TypeScript compiler that can hook the transformer plugin on a compilation. Please refer also to the "How to use this transformer" section in README.
-
Absolute => Relative paths during transpilation?
If you don't want to use a bundler, you can use https://github.com/cevek/ttypescript in combination with https://github.com/LeDDGroup/typescript-transform-paths
-
Automatically generating typeguard functions
You can use the plugin https://github.com/awerlogus/io-ts-transformer with https://github.com/cevek/ttypescript to get compile time generation of io-ts codecs as well.
-
Forking the typescript compiler and building on it?
There is also a forked version of the compiler that allows custom transformers: https://github.com/cevek/ttypescript
-
TypeScript++?
Closest I can think of is ttypescript
TypeScriptToLua
-
Lang Lua
I've had some success with https://github.com/TypeScriptToLua/TypeScriptToLua
Luau may be an alternative as well, haven't tried it.
I love Lua, but at larger scales it's unmanageable.
-
Are there any 3rd party libraries which enables us to write nvim plugins?
There are some plugins (typescript.nvim) that use a Typescript to lua transpiler (TypescriptToLua]
-
Since my driver video was well received last time, here is another: Building an SD Card driver from scratch
54:28 reminded me of TypeScriptToLua, so if you wanted to, then you could turn this into Lua :^)
-
Window.js is an open-source JavaScript runtime for desktop graphics programming
One immediate comparison that springs to my mind is the Löve 2D engine [1], which is a tiny game engine written entirely around Lua scripting (so that Lua includes the full game run loop as well).
Lua is a good scripting language, but it doesn't have the ubiquity of JS (and Löve doesn't have the ubiquitous deployment of the modern browser). Also, Lua doesn't have a static type ecosystem (though there are interesting projects like TypescriptToLua [2] exploring that space, but you can from the name they are following/lagging the JS ecosystem here).
There probably is a need to package more browser games as "real" games and a lightweight Canvas-focused approach could find a nice like Löve, especially if it were easier, for instance, to maybe port to consoles for small/indie game teams than one of the web views or Electron. (Though certainly Microsoft already has a version of WebView2 running on the Xbox.)
[1] https://love2d.org/
[2] https://github.com/TypeScriptToLua/TypeScriptToLua
-
Your favorite mod just added something you've wanted for years. What is it?
Not part of the mods, but using https://github.com/TypeScriptToLua/TypeScriptToLua is quite easy and works surprisingly well. You can find some of the type definitions for computercraft here: https://github.com/Eforen/cc-tweaked-types/tree/master/declarations
- TypeScript to Lua Transpiler
- LÖVR – An open source framework for rapidly building immersive 3D experiences
- Neovim v0.5
-
Forking the typescript compiler and building on it?
It might be helpful to keep in mind: Typescript is a compiler that parses a Typescript AST and prints out whatever you want. So if your goal is to use it in a JS context, the only thing regulating what you do with it is that it outputs valid JS that can be interpreted by the various JS engines. There are projects like TypeScriptToLua which uses the TS compiler to print out Lua code.
-
How can I generate types using AST?
You can take a look at TypescriptToLua which transforms the TS AST into Lua code using the compiler API, however I think you're barking up the wrong tree. The TS compiler works on *it's own\* AST generated from parsed Typescript. You can see how they implement your own type here. What you have some structured data and want to turn it into a type definition. That's just some loops you write yourself over data you've hopefully structured in a sane way. Turn it into a string, write it to a file with the extension `.d.ts`. No libraries needed.
What are some alternatives?
ts-morph - TypeScript Compiler API wrapper for static analysis and programmatic code changes.
moonscript - :crescent_moon: A language that compiles to Lua
ts-nameof - nameof in TypeScript
lua-languages - Languages that compile to Lua
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
love - LÖVE is an awesome 2D game framework for Lua.
ts-auto-guard - Generate type guard functions from TypeScript interfaces
neovim-ui - Vaporware -- nothing to see here
typescript-transform-paths - Transforms module resolution paths using TypeScript path mapping and/or custom paths
runtypes - Runtime validation for static types
squirrel - Official repository for the programming language Squirrel