Refactor the least readable remnants of CoffeeScript into ES6
For a few of CoffeeScript's features, the generated ES5 code is difficult to read and/or work in. Although we're refactoring to ES6 gradually, it would be worthwhile to refactor some of the least legible parts sooner rather than later.
IMO, the worst of these are:
-
Splats CS Ref (https://gitlab.com/gitlab-org/gitlab-ce/issues/21942) -
Destructuring assignments (when paired with default param setting) CS Ref (https://gitlab.com/gitlab-org/gitlab-ce/issues/21941) -
Inheritance with extend
(usessuper
under the hood) CS Ref (https://gitlab.com/gitlab-org/gitlab-ce/issues/21943) -
Chained/complex use of existence checking CS Ref
cc: @jschatz1