Pass the linkedWorkspacePackages config to the pkg-graph,
only select packages that are explicitly referred to as workspace:...
when this setting is on.
Fixes#2625
PR #2626
* fix(up-to-date-projects): respect linked-workspaces = false in up-to-date check
When linked-workspaces = false and the lockfile is up to date, the projects up-to-date check is incorrectly re-running the resolution step.
This happens in workspaces where packages are using both the workspace version of a package, and a registry version of the package.
Fixes#2618
PR #2619
* fix: lockfile up-to-date check
Co-authored-by: Zoltan Kochan <z@kochan.io>
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