Skip to content

Native TS support #877

Closed
Closed
@AugustinLF

Description

@AugustinLF

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions