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
PR #1597
* feat: "recursive rebuild" supports "shared-workspace-shrinkwarp"
close#1596
* fix: recursive rebuild + independen-leaves and shared shrinkwrap
* fix: build workspace package in correct order during r-ve install
* test: always create the store in the current test's temp folder
* style: sort imports in tests
* test: correct order of workspace package builds
* feat: build workspace packages concurrently during headless install
* refactor: use run-groups
* test: stages should run in correct order
PR #1573
* feat(reporting): collapse build output of deps inside node_modules
ref #1440
* feat(reporting): nicer reporting of lifecycle output
* feat(reporting): print the number of collapsed lines
* feat(reporting): always print the status of the child processes
* refactor: reporting
* feat(reporting): nicer indentation
* feat(reporting): report duration of script run
close#1440