Edit: Thanks for all the answers. I just went through the list of unsupported features and as I'm not using any of the remaining 7%, I might be able to get rid of Babel during development if I'm lucky.
Edit 2: Oops, still no es6 module support :(
Edit: Thanks for all the answers. I just went through the list of unsupported features and as I'm not using any of the remaining 7%, I might be able to get rid of Babel during development if I'm lucky.
Edit 2: Oops, still no es6 module support :(
So take the Node 6.0 compatibility table, find out what features it supports and create a "Babel preset" that has those excluded.
You can have Rollup spit out CommonJS require commands for things that aren't part of your project, or you can use rollup-plugin-commonjs to wrap your entire app into one big bundle, including the CommonJS includes.
And as much faster as Node 6 has gotten with module importing, it almost can't be as fast as Rollup's module loader, which is more optimal than Browserify and WebPack, in that ES6 modules don't even get wrapped in "requires", but instead included inline. It just parses the code to ensure no variable names collide.
Also opened a PR for discussion about adding an environment award preset in babel or supporting it in core at https://github.com/babel/babel/pull/3476.
Maybe an http2 server that uses browser detection to push polyfills so that your app can just assume everything works without transpiling up front?
I'm super hopeful http2 with es2015 modules will make web dev tooling drastically more streamlined in the nearish future.
At least exponentiation is slightly cool. Hasta la ES8 siempre I guess.
And be sensible about how much transpilation you want, you can use newer presets that don't need to transform the code as much, while still having the ability to layer in newer features (async/await, ES7, etc).