facebook/flow

Adds static typing to JavaScript to improve developer productivity and code quality.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on August 8th, 2026
Created on October 28th, 2014
Open Issues & Pull Requests: 514 (+0)
GitHub issues: Enabled
Number of forks: 1,894
Total Stargazers: 22,295 (+0)
Total Subscribers: 380 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.9 days
Mean response time: 776.5 days
90th percentile: 2705.6 days
Tracked items: 706

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "discussion" is answered fastest, typically in about 2 days, while "Accepting PRs" waits about 4 months. Three people close 97% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 25
New in 7 days: 1
Closed in 7 days: 2
Avg open age: 1,630 days
Stale 30+ days: 24
Stale 90+ days: 22

Recent activity

Opened in 7 days: 1
Closed in 7 days: 2
Comments in 7 days: 2
Events in 7 days: 4

Top labels

  • bug (176)
  • Library definitions (110)
  • feature request (74)
  • Accepting PRs (55)
  • needs triage (53)
  • Typing: refinements (45)
  • Typing: unions/intersections (38)
  • discussion (36)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Flow is a static type checker for JavaScript developed by Facebook that enables developers to add type annotations to their code and catch type-related errors before runtime. Written in Rust, Flow analyzes JavaScript code to detect type inconsistencies and improve overall code quality and developer productivity. The project is distributed under the MIT License and maintains an active community across Discord, Twitter, and Stack Overflow.

The repository supports multiple platforms including macOS with arm64 architecture, Linux with both x86_64 and arm64 support, and Windows x86_64 systems, with Windows 10 recommended for the latter. Binary distributions are available for each platform, though developers can also build Flow from source using the Rust toolchain. The build process relies on nightly Rust and includes compilation to WebAssembly through Emscripten, enabling Flow's parser to run in JavaScript environments via the flow-parser npm package. While most end users interact with Flow as a command-line tool, the flow-parser module allows JavaScript packages that work with Flow-typed code to generate Flow's syntax tree with type annotations attached.

Flow's contributor network overlaps significantly with other major projects including Microsoft's VSCode and TypeScript repositories as well as the Rust language repository itself, reflecting the tool's importance in the JavaScript ecosystem and its technical foundation in Rust. The project provides comprehensive documentation through its website at flow.org, including installation instructions and usage guides. Developers can build Flow from source by installing Rust via rustup, setting up the nightly toolchain, and running the provided build commands. The repository includes detailed testing documentation in tests/README.md and supports running the full test suite to verify functionality.

The static type checking capabilities that Flow provides address a fundamental need in JavaScript development, where the language's dynamic typing can lead to runtime errors. By enabling developers to annotate their code with type information and automatically checking for type consistency, Flow helps catch bugs earlier in the development process. The tool's integration into development workflows through editor plugins and its availability as both a standalone binary and a JavaScript parser makes it accessible to projects of varying complexity and architecture.