4 ms·
I'm going to against the other responders and say in our case, it wasn't worth it, and we ended up ripping out Flow from our large application. I'll preface by
by qudat 9y ago
I'm going to against the other responders and say in our case, it wasn't worth it, and we ended up ripping out Flow from our large application.
I'll preface by saying we didn't start the project with Flow but tried to add it after-the-fact.
We ran into a ton of problems with Flow itself -- posting issues that went unanswered; flow server would regularly crash or spike our dev machines to 100% CPU. We ran into problems with third-party type definitions either being completely wrong or missing entirely. I spent weeks of work trying to get Flow to work properly.
On top of all that effort, what did we get? It caught a few runtime errors (cannot find X of undefined, X might be null but isn't checked). It was nice to see the types on our action and API payloads. Autocomplete was nice.
When we add all of those things up I'm not sure it saved the
amount of effort put into converting a project to Flow ... and we ended up dropping it completely because of its continued maintenance requirements.
I'm not saying that there isn't a benefit to TS or that other teams haven't used it to great benefit but it really cannot be understated how much effort it takes to get it right. There are a lot of ways to do it wrong and there are ton of articles that will lead you in the wrong direction. From getting the build system right, to third-party definitions being out-of-date, to googling around for hours to figure it all out, it is a big time investment. Every project that is brought into your repo needs to be typed to see the full benefit.