I recently tried to implement a TypeScript type inferrer in ~6k lines of Rust. Most of the hardest features are already supported, but there is still a lot of effort to make it usable - and then Oxlint can use the type information for linting.
Repo: github.com/KermanX/simp...