We used tsoa where i work but had issues with complex types [0] so one of our dev rewrote a simpler implementation [1] that use ts-morph [2] under the hood.
Not exactly related but we had issues with the official openapi generated so he also wrote a package to codegen typescript client from an openapi file [3]
Example project: https://github.com/RaedsLab/demo-project/blob/master/backend...