mysticatea / npm-run-all

A CLI tool to run multiple npm-scripts in parallel or sequential.
MIT License
5.72k stars 240 forks source link

Warn when both `--race` and `--aggregate-output` are passed #227

Open jasikpark opened 2 years ago

jasikpark commented 2 years ago

This might not be doable, but I'd like to suggest warning when both --race and --aggregate-output are passed to run-p.

There's two situations that I'm thinking you would use these:

{
    "lint": "run-p --aggregate-output lint:css lint:js typecheck format:check",
    "test": "run-p --race start-server integration-test",
}

You want to see a complete synopsis of the output of the lint commands, and you might want to stop on one of them erroring, but you want to run every lint command. Whereas you want to close the other command if either the server or the test exits.

I can see a usecase for run-p --race --aggregate-output start-server integration-test where you want to ensure that the output of the server isn't interlaced, though I've just passed a "silent logging level" to servers I've used in the past with the model.

For the lint step, I feel like it would be confusing, since I reached for that option while forgetting that 0 means success, not false/error in UNIX land. I was confused about why I was only getting output from the css lint when I passed lint:css but not when I didn't pass --aggregate-output. I figured npm was overwriting previous lines somehow or something...

Probably the simplest solution though is just a README PR to just add "on success" for the less unix literate of us...

Thank you for this great tool btw, I've found it very useful over time!