The `run` and `exec` commands may use the `--parallel` option.
`--parallel` completely disregards concurrency and topological sorting,
running a given script immediately in all matching packages
with prefixed streaming output. This is the preferred flag
for long-running processes such as watch run over many packages.
For example: `pnpm run --parallel watch`
close#2528
PR #2599
Add new global option called `--stream`.
When used, the output from child processes is streamed to the console immediately, prefixed with the originating package directory. This allows output from different packages to be interleaved.
close#2147close#1609
PR #2595
A recursive run should not rerun the same package script which started the lifecycle event.
For instance, let's say one of the workspace projects has the following script:
```json
"scripts": {
"build": "pnpm run -r build"
}
```
Running `pnpm run build` in this project should not start an infinite recursion.
`pnpm run -r build` in this case should run `build` in all the workspace projects except the one that started the build.
Related issue: #2528