-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Upgrade Flow to the latest version #11426
Labels
Comments
This was referenced Jan 21, 2022
This was referenced Feb 1, 2022
This was referenced Feb 7, 2022
This was referenced Feb 8, 2022
5 tasks
This was referenced Feb 11, 2022
This was referenced Feb 16, 2022
This was referenced Feb 17, 2022
This was referenced Mar 14, 2022
This was referenced Mar 15, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The Flow version we currently use for type checking is nearly 3 years old and critically outdated.
The latest version (v0.170) has radically better architecture that allows it to be orders of magnitude faster, while fixing numerous soundness and stability issues. Upgrading to it would allow us to iterate on GL JS much faster, especially when doing bigger refactoring projects. Additionally, if we commit to switching to TypeScript in the future, having better type coverage will make it much easier.
But it's not easy — simply updating the version produces several thousand type errors, some due to increased strictness and soundness, and some due to typing mistakes being silently ignored in the current version (with #11400 as an example of this).
Here's my plan for a gradual upgrade:
unsafe-addition
for safer arithmetic code. Upgrade Flow to v0.131.0 #11436any
types, producing a ton of errors on code which is currently typed incorrectly but silently ignored. Upgrade Flow to v0.142.0 #11456type_first=true
architecture.Type-first sprint
src/
, and assign batches of files across people participating in the sprint.type_first=false
line in.flowconfig
, then runflow codemod annotate-exports --write --repeat <path>
(see codemod docs).flowconfig
changes and make suretest-flow
passes.main
.The text was updated successfully, but these errors were encountered: