Having a strange issue here with npm (on Windows, if it matters).
Chaining two commands with &&
works fine:
"test:integration": "firebase emulators:exec --non-interactive \"npm run test:integration:runner\" && kill-port 9000",
But if I substitute ;
for &&
it fails to work:
"test:integration": "firebase emulators:exec --non-interactive \"npm run test:integration:runner\" ; kill-port 9000",
Instead of running the first command successfully, npm run test:integration
just returns immediately if I use ;
.
I want to run kill-port 9000
as cleanup after the first command, regardless of the exit status from the first command, which is why I switched to ;
.
Any idea what's going on here? Is there an alternative way I can do this besides using ;
?
(I did get it working by chanining &&
and ||
like (first_command && kill-port 9000) || kill-port 9000
, but that seems hackish and I would like to understand why ;
isn't working)