@dopt/please
v1.0.8
Published
A CLI for developing in monorepos - not building them
Downloads
4
Readme
Please
A CLI for developing in monorepos - not building them
Why
Because developing in monorepos can be challenging. There are great tools for building them (e.g. turbo, bazel, rush, gradle, etc) but the experience of developing in them often involves lots of manual effort.
By developing, I mean, running/executing code. For example, consider our own experience at Dopt. A typical workflow for basic feature development in our application involved running commands across 10+ packages to start various services and their databases.
Depending on what you were focused on, certain packages would need to be started in different ways, e.g., w/ file-watchers versus without.
In practice, this meant lots of windows and lots of commands. A situation that made it easy to miss an error stack or an important log.
Introducing please
A simple, compact, and expressive CLI for running package scripts across packages with interleaved output. The above scenario was transofmred into the following
please start:service-x,service-y,service-z dev:{app-*} up:{database-*}
Install
# w/ pnpm
pnpm add -Dw please
# w/ yarn
yarn add -D please
# w/ npm
npm install -D please
Usage
Basic:
$ please dev:@scope/package-1 run:@scope/package-2
$ please dev:@scope/package-1 run:@scope/package-2,@scope/package-3
$ please dev:@scope/package-1,@scope/package-2 run:@scope/package-3,@scope/package-4
Advanced:
$ please dev:{@scope/*}
$ please dev:{@scope/*} run:package-1,package-2