open-cli-tools / open-cli-tools/concurrently

PNPM commands with --kill-others cause concurrently to exit error

Open
#531 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

pending for input
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.
Image

Running pnpm this-passes is happy
Image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.