From JavaScript to Scala ... through TypeScript!

Thanks to gradual typing in TypeScript, you can progressively add types to your front-end codebase. Once you're ready to move on to more serious type systems, you can now use our tool to automatically translate your TypeScript codebase to Scala!

What it does

It translates (just about) arbitrary TypeScript code to syntactically equivalent Scala code.

How we built it

We added a transformer in the TypeScript compiler, which in written in TypeScript, to emit Scala code from the TypeScript ASTs.

Challenges we ran into

The TypeScript type system does not always match Scala's. Therefore, some features are hard to impossible to accurately translate. Yet, we do a pretty good job on typical TypeScript compiler codebases.

Accomplishments that we're proud of

See above.

What we learned


What's next for TypeScript Scala compiler

Manual fix of the generated code to have a completely working TypeScript compiler written in Scala.

Built With

Share this project: