Skip to content
This repository has been archived by the owner on May 10, 2022. It is now read-only.

A command line interface that aims to solve a few issues while working with flow typed codebases in a mono-repo.

License

Notifications You must be signed in to change notification settings

ImmoweltGroup/flow-mono-cli

Repository files navigation

flow-mono-cli

flow-mono-cli

Powered by Immowelt Build Status Dependency Status devDependency Status Renovate enabled semantic-release

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.

Features

  • 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 packages node_modules.
  • Smart resolve mechanism of mono-repo packages with a dependency to flow-bin, based on the workspaces config in your root package.json.
  • Keeps your flow-bin and flow-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 or flow-mono property in your mono-repo's root package.json.

Installation

$ 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/*"
  ]
}

Commands and Documentation

Contributing

See the CONTRIBUTING.md file at the root of the repository.

Licensing

See the LICENSE file at the root of the repository.