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

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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