Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wrangling Transpilation

Wrangling Transpilation

The new reality of JavaScript is that the features will evolve even quicker than the specification, and much quicker than your “supported” browsers. So we’re going to have to come to grips with transpilers being a standard part of our build processes. But what can we do to wrangle at least two versions of every file? What does that mean for server-side coding (node/iojs) and what does it mean for browser-delivered files? Should we use the transpiled code everywhere, or should we have split delivery?

Kyle Simpson

June 16, 2015
Tweet

More Decks by Kyle Simpson

Other Decks in Programming

Transcript

  1. Block-Scoped Declarations Spread / Rest Default Parameter Values Destructuring Object

    Literal Extensions Template Literals Arrow Functions `for..of` Loops Regular Expression Extensions Number Literal Extensions Unicode Symbols Iterators Generators Modules Classes
  2. Promises Generators + Promises Typed Arrays Maps WeakMaps Sets WeakSets

    `Array` `Object` `Math` `Number` `String` Function Names Meta Properties Well Known Symbols Proxies `Reflect` API Tail Call Optimization (TCO)
  3. Microsoft Edge 0.11.10074.0 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

    (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0
  4. Microsoft Edge 0.11.10074.0 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

    (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0
  5. transpiling & polyfilling: can't • several well-known symbols • subclassing

    natives • __proto__ • tail call optimization (rewriting to tail calls can) https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/ suggestions/6850816-es6-tail-call-optimization • others... caveats