CS2 Discussion: Project: Progress as of February 2017: 2.0.0-alpha1! #71
Description
Hey everyone,
CoffeeScript 2.0.0-alpha1 is released! Install it via: npm install coffeescript@next
You may notice that it’s not at coffee-script
. The powers that be at NPM were kind enough to release the coffeescript
package name to us. Since no one really spells CoffeeScript with a hyphen anymore, it seemed a better choice. It has both the old versions and 2.0.0-alpha1, and will be the home for future versions. coffee-script
will stay 1.x-only, in case anyone installs coffee-script
and expects a compiler that outputs ES3.
Since the last update, as of 2017-02-21 the following has been merged into the jashkenas/coffeescript 2
branch:
- Classes, including idiomatic output for both the
class
andsuper
keywords, thanks to @connec. - Redesigned docs for v2, thanks to @GeoffreyBooth.
- Refactored Cake tasks adding watch modes to building the compiler, thanks to @GeoffreyBooth.
As of December, we had accomplished:
- Tagged template literals, thanks to @greghuc.
- Interpolated strings are now output as template literals (ES backtick syntax), thanks to @greghuc.
- Triple-backtick operator and escaped backticks in embedded JavaScript, thanks to @GeoffreyBooth.
- The browser tests work again, thanks to @GeoffreyBooth.
And as of November, we had accomplished:
- Async/await, thanks to @GabrielRatener.
- Arrow functions, function default parameters and function rest parameters, thanks to @GeoffreyBooth.
- Splats in arrays and function calls are output using ES2015 syntax, thanks to @connec.
- Computed properties are output using ES2015 syntax, thanks to @connec.
- Octal and binary literals are output as-is, thanks to @JimPanic.
- CoffeeScript is stricter about whitespace thanks to @eelco, and Literate CoffeeScript now understands Markdown thanks to @billymoon.
- Support for ES2015
for…of
is implemented, thanks to @atg. - Bugs were fixed by @alangpierce, @shreeve, @JimPanic, @GeoffreyBooth and others. Also thanks for feedback from @lydell and @jashkenas.
There are still a handful of features yet to implement, including destructuring and getters/setters. Help with those is most welcome, but if you don’t have time for that, you could also help out by trying 2.0.0-alpha1 in your projects. Please review the breaking changes first, and if you think there’s a bug, please open an issue with “[CS2]“ in the title. Please don’t comment bug reports on this thread. Thanks!