Description

VisualEditor accidentally requires ES6 syntax support (for editing and visual diffs). We have some ES6 code in /lib/ve/src/ve.utils-es6.js that is not supposed to be loaded except when running the rebaser, but it's loaded always.

We should separate rebaser server and client code, and ensure there is no ES6-ness in the client. ve.dm.TestRebaseClient.prototype.deliverOne also contains ES6 code. Pinging @dchan

It would be ... challenging ... to rewrite that unit test not to use ES6 code: it is really a test of the logic in both RebaseServer and RebaseClient (and how they interact in different scenarios), so therefore the ES6 server-side code does need to run within the unit test. TestRebaseClient#deliverOne is fundamentally ES6 because this is where the async server code gets called.