You think it's crappy. Other people love it. You think a compiler should stop if it spots a type error. Other people would like a warning and if they look at the code and they know it'll run ok they want it to compile.
Putting it on a server was a good idea because it allowed devs who knew the client to move to the server.
Langauge snobs are just snobs. Shit code exists in all languages. All the buffer overflow vulnerabilities of the last 20 years come from C and C++ code. It doesn't matter what it's written in, what matters is that it does what it's supposed to do reliably and provably.
You can test JS just as thoroughly as any other language.