2.3.0 by GeoffreyBooth · Pull Request #5043 · jashkenas/coffeescript

Conversation

@GeoffreyBooth

This release adds support for all the new features and syntaxes in ES2018 that weren’t already possible in CoffeeScript.

  • Asynchronous iterators are now supported. You can now yield an await call, e.g. do -> until file.EOF then yield await file.readLine(). Fix #4875: Asynchronous iterators #4893
  • Object splats/destructuring, a.k.a. object rest/spread syntax, has been standardized as part of ES2018 and therefore this release removes the polyfill that had previously been supporting this syntax. Code like {a, b, rest...} = obj now outputs more or less just like it appears, rather than being converted into an Object.assign call. Note that there are some subtle differences between the Object.assign polyfill and the native implementation. Fix #4876: remove polyfill for object rest/spread #4884
  • The exponentiation operator, **, and exponentiation assignment operator **= are new to JavaScript in ES2018. Now code like a ** 3 is output as it appears, rather than being converted into Math.pow(a, 3) as it was before. Fix #4877: Exponentiation operators #4881
  • The s (dotAll) flag is now supported in regular expressions. Regular expressions s (dotAll) flag #4880

http://rawgit.com/GeoffreyBooth/coffeescript/2.3.0/docs/v2/

… fix main column width on mobile
…ff on the NPM page; update README and CONTRIBUTING text

zdenko

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@GeoffreyBooth

Since this PR is a bit bigger than usual, can anyone try using this branch in a project? Especially one with object spreads/rest.

@GeoffreyBooth

I just tested this branch with my biggest app and it seemed to work fine, so hopefully this is good to go.

2 participants

@GeoffreyBooth @zdenko