The traceur transpiler is nice and full-featured, but it has some major
problems with recent chrome updates. This change switches us over to the babel
transpiler, which means we're using the same es6 implementation on both the
backend and frontend.
Babel is unfortunately missing a couple Array features (Array.from
and
Array.find
), and the handling of this
in fat-arrow functions is slightly
different. Babel's handling of this
is actually more correct than traceur.
Babel also has more strict rules regarding super()
calls in class
constructors. The bulk of this change is cleaning up those issues.