Skip to content

A runtime type system for JavaScript with full Flow compatibility.

License

Notifications You must be signed in to change notification settings

gajus/flow-runtime

Folders and files

NameName
Last commit message
Last commit date
Jan 13, 2019
Oct 12, 2019
Mar 12, 2021
Nov 13, 2017
Jun 29, 2020
Nov 14, 2017
Jan 4, 2017
Dec 30, 2020
Dec 30, 2020
Jan 7, 2018
Mar 12, 2021

Repository files navigation

Flow Runtime

Build Status

A runtime type system for JavaScript with full Flow compatibility.

See the website for more information.


Maintenance Status

This project is not very well maintained anymore due to its complexity and maintainers' burnout with Flow in general.

Statement from @jedwards1211

At the moment I need to keep this working in some production projects that use it for API input validation (using the optInOnly option instead of blanket runtime validation everywhere).

However, I would like to eventually migrate those projects to either:

  • a library where I declare validators that I can extract value types from. I created typescript-validators for this purpose in TypeScript
  • a very pared-down version of babel-plugin-flow-runtime that generates validators where requested from Flow type annotations, but only supports certain types and doesn't automatically inject runtime validation everywhere.

If I had the time I would even migrate my production projects to TypeScript though, so I'm not sure I'll continue to use Flow and flow-runtime heavily in the long term.

Contributing

This is a lerna powered mono-repo, composed of the following projects:

Getting started

First clone the repo:

git clone https://github.com/gajus/flow-runtime.git

And bootstrap the project:

cd flow-runtime
yarn
yarn bootstrap
yarn test