To me, Node.js was never about replacing everything on the server with JavaScript. The fact that you can do such a thing is amazing and empowering, but that doesn’t make it the right choice in every situation. No, to me, I had a very different use in mind: liberating the back-end UI layer from the rest of the back-end.

Nicholas Zakas, Node.js and the new web front-end

See also: "…statically typed languages are exactly what you want in the guts of your business logic."

And so I somewhat regrettably introduce ESLint.

Nicholas Zakas, Introducing ESLint

The short version: ESLint is a two-pass linter based on the Esprima ECMAScript parser with a fully pluggable rule system that supports warnings, errors, disabling rules, and custom rules. Based on the description, sounds like you want to use JSHint for the real-time linting in your editor and ESLint for your builds.

For the first time in a long time, Microsoft has actually removed features from Internet Explorer. The user-agent string has also changed. It seems that Microsoft has gone out of their way to ensure that all existing isIE() code branches, whether in JavaScript or on the server, will return false for Internet Explorer 11. The optimistic view of this change is that Internet Explorer 11 finally supports enough web standards such that existing IE-specific behavior is no longer needed.
Enough with the JavaScript already! from Nicholas Zakas

The abstract from this recent Nicholas Zakas talk:

After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?