Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ImmoweltGroup/flow-mono-cli
A command line interface that aims to solve a few issues while working with flow typed codebases in a mono-repo.
https://github.com/ImmoweltGroup/flow-mono-cli
flow flowtype flowtyped lerna lernajs monorepo workspaces yarn
Last synced: 3 months ago
JSON representation
A command line interface that aims to solve a few issues while working with flow typed codebases in a mono-repo.
- Host: GitHub
- URL: https://github.com/ImmoweltGroup/flow-mono-cli
- Owner: ImmoweltGroup
- License: mit
- Archived: true
- Created: 2017-11-03T13:03:41.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-04-24T23:34:46.000Z (over 2 years ago)
- Last Synced: 2024-07-11T13:38:10.657Z (6 months ago)
- Topics: flow, flowtype, flowtyped, lerna, lernajs, monorepo, workspaces, yarn
- Language: JavaScript
- Homepage: https://immoweltgroup.gitbooks.io/flow-mono-cli/
- Size: 1.13 MB
- Stars: 87
- Watchers: 3
- Forks: 12
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-flow - flow-mono-cli - CLI tool to make working with monorepos easier. (Tools)
README
# flow-mono-cli
[![Powered by Immowelt](https://img.shields.io/badge/powered%20by-immowelt-yellow.svg?colorB=ffb200)](https://stackshare.io/immowelt-group/)
[![Build Status](https://travis-ci.org/ImmoweltGroup/flow-mono-cli.svg?branch=master)](https://travis-ci.org/ImmoweltGroup/flow-mono-cli)
[![Dependency Status](https://david-dm.org/ImmoweltGroup/flow-mono-cli.svg)](https://david-dm.org/ImmoweltGroup/flow-mono-cli)
[![devDependency Status](https://david-dm.org/ImmoweltGroup/flow-mono-cli/dev-status.svg)](https://david-dm.org/ImmoweltGroup/flow-mono-cli#info=devDependencies&view=table)
[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovateapp.com/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)`flow-mono-cli` is a command line interface that aims to [solve](https://github.com/facebook/flow/issues/4738) [a](https://github.com/facebook/flow/issues/5107) [few](https://github.com/flowtype/flow-typed/issues/1391) [issues](https://github.com/lerna/lerna/issues/891) [while](https://github.com/facebook/flow/issues/869) 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
```sh
$ npm install flow-mono-cli --save-dev
```or
```sh
$ yarn add flow-mono-cli --dev
```afterwards make sure that you've got your workspaces configured in the root `package.json`, e.g.
```json
{
"workspaces": [
"packages/*"
]
}
```## Commands and Documentation
* [Introduction](/docs/introduction/README.md)
* [`flow-mono create-symlinks`](/docs/cli/create-symlinks.md)
* [`flow-mono install-types`](/docs/cli/install-types.md)
* [`flow-mono create-stubs`](/docs/cli/create-stubs.md)
* [`flow-mono align-versions`](/docs/cli/align-versions.md)## Contributing
See the `CONTRIBUTING.md` file at the root of the repository.## Licensing
See the `LICENSE` file at the root of the repository.