Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Do Flow types still need to be exported after the TS Conversion? #2832

Closed
mike-marcacci opened this issue Oct 29, 2020 · 5 comments
Closed

Comments

@mike-marcacci
Copy link
Contributor

mike-marcacci commented Oct 29, 2020

In the working group meeting today, we discussed the path forward for the conversion to TypeScript. Per @IvanGoncharov there had originally been a commitment that this library would continue to export flow types as best as it could. However, this commitment was made with the expectation that the conversion would be finished about a year ago.

Given that so much time has elapsed, it's definitely worth reassessing the value of continuing to export flow types. The maintenance burden of maintaining parallel types is not trivial, as it either adds a substantial barrier to entry for new contributors, or requires maintainers to keep the flow types in sync with each accepted contribution.

But while it may be preferable to drop flow types from a maintenance standpoint, it's completely possible that enough users in the community depend on them that the continued cost is justified. (I actually quite suspect this is the case, but it would be foolish for us not to check.)

So as a question to all stakeholders (that's anybody who uses graphql-js in an app or library): Do you use the flow types exported by graphql-js?

And particularly for those who were party to the original agreement and the folks at Facebook: Is continued support for flow types still important? Have the dependent projects migrated to TypeScript or otherwise lost the need for these types?

@magicmark
Copy link

magicmark commented Jan 5, 2021

At Yelp, we use GraphQL pretty heavily and have built a fair amount of tooling (for linting, schema registry management, persisted queries) on top of graphql-js. We also use Flow, so we are importing a lot of its Flow types.

That said, we use lots of projects not written with Flow - consuming types from https://github.com/flow-typed/flow-typed is a more common workflow for us. (I suspect the occasional running of https://github.com/joarwilk/flowgen could get us 80% the way there. Maybe doing this as a build step would be nice?)

So tl;dr, to answer your question:

Do you use the flow types exported by graphql-js?

Yes

(fwiw I agree that TypeScript makes sense as a direction for graphql-js - I think we probably want to make the same switch soon, just haven't been able to prioritize it yet)

Thanks!

@IvanGoncharov
Copy link
Member

IvanGoncharov commented Apr 7, 2021

We discussed it on April WG and discussed that FB engineers are ok with drop support for Flow types in 16.0.0 and they will just freeze their Flow code on the last available version that supports Flow types.
cc: @mjmahone

@yaacovCR
Copy link
Contributor

yaacovCR commented Jun 6, 2021

This can then probably be closed?

@saihaj saihaj closed this as completed Jun 6, 2021
@yaacovCR
Copy link
Contributor

yaacovCR commented Jun 7, 2021

And unpinned?

@saihaj
Copy link
Member

saihaj commented Jun 7, 2021

@IvanGoncharov can you please unpin this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants