flow-mono-cli
is a command line interface that aims to solve a few issues while working with flow typed codebases in a mono-repo.
It provides a set of commands that we found to be very useful if you want your mono-repo packages to have their own flow instances. We do not intend to replace existing packages and furthermore we find it to be of importance that these issues are getting fixed at their respective packages but in the meantime a separate CLI was the fastest and best option we found.
- Creates symlinks for flow to be able to resolve dependencies which were installed/hoisted into the root
node_modules
of your mono-repo into each packagesnode_modules
. - Smart resolve mechanism of mono-repo packages with a dependency to
flow-bin
, based on theworkspaces
config in your rootpackage.json
. - Keeps your
flow-bin
andflow-typed
versions in sync across your mono-repo packages. - Maintains a single or fallback
.flowconfig
across all packages. - Creates flow-typed stubs for in-direct dependencies (dependencies of dependencies).
- Configurable via a
.flowmonorc
orflow-mono
property in your mono-repo's rootpackage.json
.
$ npm install flow-mono-cli --save-dev
or
$ yarn add flow-mono-cli --dev
afterwards make sure that you've got your workspaces configured in the root package.json
, e.g.
{
"workspaces": [
"packages/*"
]
}
- Introduction
flow-mono create-symlinks
flow-mono install-types
flow-mono create-stubs
flow-mono align-versions
See the CONTRIBUTING.md
file at the root of the repository.
See the LICENSE
file at the root of the repository.