ES6 has provided a lot of the features that people were hoping for in JS, and CoffeeScript doesn't seem to be worth the effort transpiling from anymore. It used to be the game in town for "better" JS, but TypeScript seems to have taken that position firmly.
I personally use it at work every day, plus I notice there are quite a few libraries (both open source and closed source) that are obviously compiled from coffeescript.
There is also work being done on a new version, CoffeeScript6, which will compile to ES6 and future ES standards. Check out the discussion at https://github.com/coffeescript6/discuss
trivial example:
{ a: b
c: d }
guess what this transpiles to (hint: not an object)this is about as far from least surprise principle as you can get.
[0] http://coffeescript.org/#try:%7B%20%22a%22%3A%20%22b%22%2C%2...
http://coffeescript.org/#try:%7B%20a%3A%20b%2C%20c%3A%20d%20... - object
http://coffeescript.org/#try:%7B%20a%3A%20b%0A%20%20c%3A%20d... - bullshit
i understand why this happens, i just think it's a stupid edge case that shouldn't exist. and there are more like that in coffeescript.
But, I'd still take an edgecase over other JS quirkiness.