TypeScript does have some serious advantages when you have a large team working on a single codebase. Vue
is a great example of a project that benefits from TypeScript: numerous core contributors, lots of outside contributors.
However, the reason why TypeScript works well for Vue is that Vue is a single project where the primary interface between Person A’s code and Person B’s code is a function signature. TypeScript can check the function signature and find cases where changes are incompatible.
On the other hand, suppose you’re an individual contributor building a Node.js microservice that primarily consumes data generated in a different programming language. This is an example where TypeScript doesn’t provide much value: the primary interface between your code and other people’s code is a network call where TypeScript can’t ensure compatibility between caller and callee.
How valuable TypeScript is depends on how your code primarily interfaces with other people’s code. If via function calls, then TypeScript is more valuable. If via network requests, then less valuable.