15
Watch
811
Star
59
Fork
170
Issue

A runtime type system for JavaScript with full Flow compatibility.

gajus
gajus
pushedAt 3 weeks ago

gajus/flow-runtime

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
ucloud ads