open-cli-tools / open-cli-tools/concurrently
PNPM commands with --kill-others cause concurrently to exit error
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.9k
- Forks
- 281
- Avg merge
- 17h 12m
- Merged PRs (30d)
- 1
Description
What
When trying to kill-others concurrently exits unhappy when the command its killing is a pnpm script
Reproduction
Create a dir with this package.json, node 20+ & pnpm 9.15.4
{
"name": "concurrently-example",
"scripts": {
"one": "sleep 30 && exit 1",
"two": "sleep 2 && exit 0",
"this-fails": "concurrently --success=first --kill-others \"pnpm two\" \"pnpm one\"",
"this-passes": "concurrently --success=first --kill-others \"sleep 2 && exit 0\" \"sleep 30 && exit 1\""
},
"dependencies": {
"concurrently": "9.1.2"
}
}
Running pnpm this-fails returns ELIFECYCLE Command failed.
Running pnpm this-passes is happy
Debug
This works as expected switching to use npm
I debated if this is a concurrently bug, or a pnpm one, but In the end, concurrently should probably be able to handle killing any kind of process in isolation
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided Node 20+/pnpm 9.15.4 reproduction and compare the failing pnpm commands with the passing direct shell commands. Trace concurrently's process-killing and exit-status handling; done means the pnpm case completes successfully under --success=first --kill-others without regressing the direct-command case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, typescript
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100