A repository of high-quality, third-party library type definitions for use with Flow.
And with that comes new features, most notably the support for definition dependencies.
Learn how to add dependencies to a definition from the main
branch docs which can be consumed with the v4
CLI.
$ yarn global add flow-typed@next
# or
$ npm install -g flow-typed@next
Nothing for the most part! CLI versions < v4
will still pull definitions from master
so if you have library definitions that don't require dependencies we still recommend you contribute to master
and it'll get periodically synced back to main
for users >= v4
.
Eventually we will deprecate master
in favour of main
.
Check out the quick start page in the docs to get started. It will walk you through installing typedefs, using them, as well as writing and including your own.
When you start a project with Flow, you likely want to use some third-party libraries that were not written with Flow. By default, Flow will just ignore these libraries leaving them untyped. As a result, Flow can't give errors if you accidentally mis-use the library (nor will it be able to auto-complete the library).
To address this, Flow supports library definitions which allow you to describe the interface of a module or library separate from the implementation of that module/library.
The flow-typed
repo is a collection of high-quality library definitions,
tests to ensure that definitions remain high quality, and tooling to make it
as easy as possible to import them into your project.
All you have to do when you add one or more new dependencies to your project
is run flow-typed install
. This will search the libdef repo and download all
the libdefs that are relevant for your project and install them for you. After
that, simply check them in and be on your way!
The flow-typed
npm package provides a CLI that includes several commands for
working with this repository. The full list of commands is available
in the docs .
Before opening an issue, take a look at the FAQs. Chances are your question has already been answered! If not, don't hesitate to open an issue.
Just send a pull request! The documentation highlighted in CONTRIBUTING.md should give a detailed overview of how to raise a pull request following our best practices.
Bugfixes and improvements to the core CLI are welcome. If you'd like to contribute a new feature, consider opening an issue first to discuss it.
@AndrewSouthpaw | @Brianzchen | @GAntoine | @pascalduez | @villesau |