infinitered / ignite-andross

The original React Native boilerplate from Infinite Red - Redux, React Navigation, & more
https://infinite.red/ignite
MIT License
475 stars 151 forks source link

[Discussion] Flow types #165

Closed ascorbic closed 5 years ago

ascorbic commented 6 years ago

Are there plans to add flow types to the boilerplate. Would pull requests that add them be welcomed?

GantMan commented 6 years ago

We don't use flow internally, we use TypeScript, so though we'd welcome it, we would not maintain it. As I recall from my flow days earlier this year, that would be an issue, yes?

ascorbic commented 6 years ago

So does this mean you have a Typescript version of the boilerplate internally? I'm happy to work with either, but I'm wanting to add types in some form. I started by porting it to TypeScript, but was wondering if simply adding flow types would be simpler, and the syntax is almost identical. If you're using Typescript internally then that might not be the case. See https://github.com/aerian-studios/ignite-typescript-boilerplate/tree/develop for my initial TS port.

GantMan commented 6 years ago

We'll be releasing a new boilerplate (we've just been perfecting it) which will ship with TypeScript. No specific timeline on that, but we created the repo internally last week.

This boilerplate is known as Andross, the next one will be codenamed, Bowser. We're not sure what our planned IR support will be for previous boilerplates, but I imagine typescript might not be for everyone.

Evolving our best practices, we'll plan on releasing every 6 months

ascorbic commented 6 years ago

Oh, ok! So we cant expect to see Bowser for a few months though? I think if you're planning a move to TS anyway, I'll best maintain my own typed fork rather than trying to maintain Flow types upstream. Just need to decide whether my fork will be TS or Flow...

GantMan commented 6 years ago

As someone who used Flow 8 months ago it was pretty lame. I hear there are lots of great upgrades now. But I'm a typescript fan now. Typescript is supported 1st rate in React Native and Jest, so no reason to shy away.

1 vote for TS 🎟

ascorbic commented 6 years ago

That's certainly my experience, though flow does seem to have improved a lot. The only reason I'd prefer flow for this is because of how it's the react default. I'd also prefer to not diverge too much from the maintained boilerplate. Learning that you plan to move to typescript does change the calculation there a little.

GantMan commented 6 years ago

TypeScript keeps getting better, regardless of RN. In all fairness they both are great, but TS is going to live longer, I believe. Facebook is moving to Reason ML... which sounds to me like they will abandon Flow at some point.

ascorbic commented 6 years ago

Incidentally, you may be interested in https://github.com/aerian-studios/ignite-typescript-boilerplate/blob/develop/boilerplate/types/reduxsauce/index.d.ts if you don't already have an internal TS version