Description
Describe the Feature
As quickly discussed in a PR comment, I'll see to port the library to use TS instead of flow. Unsure if it's needed to list the benefits of the move, but here are some of them:
- TS is nowadays more common than flow, with native IDE support, which makes contributing easier with TS
- Flow is not really an open source project, the flow team stated that their focus is Facebook's codebase, and that community isn't.
- Callstack seems to use TS now for most of its JS based tooling, so consistency?
First question is what about Flow support? Personally I don't care, and I'm not sure it's a big priority for the community. So what I'd suggest is for us to publish the typings to flow-typed before removing flow support. That'll make long term maintenance simpler, but that'd be a breaking change. I personally would like to first release the v9 before this release, so we'd talk about a v10.
If we're considering a breaking change, I'd suggest to use that as an opportunity to clean up the deprecated APIs (from both v2, v7, v9) features, such flushMicrotasksQueue
, etc.
We can also of course keep the flow declaration in the same repo for now, and don't clean up anything. It'll make the TS migration a bit more complicated, but that's not the end of the world.
What do you think of it?