Wow, does npm really use cmd.exe on Windows? That's unbelievable. A real posix shell is surely present anyway, right? (Otherwise make wouldn't work...) So why doesn't npm use it? How dumb...

Is this a real concern for the developers or is it just theoretical? I'd wager that most npm packages don't care about being compatible with two completely different OS shells. I can think of some workarounds, but they're all ugly. (E.g. if shebangs work, we could put the `if` in a one-line build/presubmit.sh and call it from here.) Consider whether this can be solved locally, e.g. by using Cygwin's npm, or modifying %COMSPEC%, %PATH% or such.