As the team grew in size, we had to formalize the way we write JS. I beleive it becomes impossible to collaborate on a large codebase without relying on static type checking. we made the switch in a month, it was painful but we never looked back.
The main drawback is when you code, you used to have the code up and running with latest changes in a second. now takes 30secs to run now, so the feedback loop is slower, however, lots of type errors and trivial mistakes are cought by the compiler now
17 upvotes·1 comment·11.9K views
Good decision wherever there are interfaces passing data back and forth.