Plus uglification/minification is a thing that reduces production js file sizes, therefore bandwidth. So we'll probably keep doing that.
I think we should probably stop calling it transpiling and just accept that javascript is a compiled language now.
Unless you start serving up different builds based on user agent...
Figure out which browsers to support on which features: https://kangax.github.io/compat-table/es6/
Have an alternate .babelrc with a transpile blacklist that points to a separate dest
Build a regex to match those browsers in your CDN (I use Fastly). Vary on the value you create.
Point said browsers asking for the normal JS payload to the alternate dest.
Tons of startups and services target the consumer and could not care less about enterprise users.
Well no, about 10% of our traffic is from people sitting on those two browsers at work. Some of those people are even still running Windows XP, forcing us to use SAN instead of SNI certs.
There's a few traffic spikes in the day. Pre-8am, when people check the site before work. 12pm when people are fiddling around at work, then post 5pm when people are home from work, then 10pm before people sleep.
We even have a web app, but nope, people prefer to use the desktop version even at work.
This depends on many things. If your 90% brings enough profit, then this 10% perhaps could be dismissed, as it might not be worth the developers costs and time to keep support them (that needs an "opportunity cost" calculation).
There's also the fact that that 10% is only gonna go down, never up again.
It wasn't cool for Microsoft to push JScript in the 90s, why is it cool now for it to push TypeScript? And allied with Google, no less!
1. JScript added conditional compilation directly in the browser which was IE-only (extend, extinguish). TypeScript compiles to cross-browser JavaScript (which does none of the above)
2. TC39 is supposed to be working in a "pave the cowpaths" (1) mode. Before new features get integrated into EcmaScript, TC39 looks into what the community is already doing (existing cowpaths), then integrates that into the language. Not only that but TC39 can learn from the mistakes of TS and Flowtype when they add type system support in EcmaScript. We are in dire need of one - and thanks to Microsoft's and Facebook's explorations, we now know what kind of type system would work for JS.
(1) For example, we got arrow functions in ES2015 thanks to CoffeeScript.
I don't use it but I appreciate that the JS is being explored and expanded by projects like it and many others.
Also, could you elaborate "web breaking" w.r.t. compile-to-JS languages?
More importantly the things ES6 solves are kind of rudimentary (modules, classes, => syntax, actual collections), stuff after that is nice to have but provide diminishing value