“TypeScript is easier for me to recommend because the default project setup is good and the tooling is great. Flow might be easier to add to an existing project but it’s tricky to keep it reliable.
“If you can, use another language altogether. They end up being safer and simpler because typing all the common dynamic patterns in JS is very hard/impossible. My favorite is PureScript. Elm is also good but more niche in its uses and requires more boilerplate code. Reason is also looking pretty good and is less of a paradigm shift from JS.”
“If another language isn’t possible, I would argue that you’ll have a better time with TypeScript purely on a tooling support standpoint.”