It's not that `ws` is an optional module for Karma. The module however contains a fallback JS implementation and thus the native version of the module is optional...

Also, it would be cool to figure out what version of NPM fixes this and say "you need at least xxx" instead of "the latest".