CS2 Discussion: Project: Progress as of May 2017: 2.0.0-beta2! #83
Description
Hey everyone,
CoffeeScript 2.0.0-beta2 is released! Install it via: npm install coffeescript@next
Since the last update, as of 2017-05-16 the following has been merged into the jashkenas/coffeescript 2
branch and released in 2.0.0-beta2:
- Polyfills were removed, thanks to @GeoffreyBooth and @connec.
- Fat arrow class methods are no longer supported, thanks to @connec.
- The CoffeeScript module can now be
require
d in builds intended for non-Node environments such as those created by Webpack or Browserify, thanks to @akfish. - Literate CoffeeScript parses Markdown better and now without dependencies, thanks to @GeoffreyBooth.
- The
coffee
command prefers the locally-installed version of CoffeeScript over the global one, allowing you to have separate versions installed in a project versus globally, thanks to @GeoffreyBooth. - Bugfixes for chained functions relating to ternaries and implicit objects, thanks to @xixixao.
return
andexport default
can now accept implicit objects, thanks to @GeoffreyBooth.- JavaScript keywords used as properties no longer require quoting, thanks to @GeoffreyBooth.
- The browser compiler is now compiled with Babili, making it safe to run in all common browsers, thanks to @GeoffreyBooth.
- Various other bugs were fixed, thanks to @helixbass, @xixixao, @connec and @GeoffreyBooth.
I’ve moved the full honor roll to a wiki page.
I went through all 300+ open issues and whittled them down. Over a hundred were closeable thanks to the updates of CS2 🎉 and any proposals more than a year old I simply closed for lack of interest. In one PR I managed to close all ten outstanding issues related to documentation. Many other issues had simply been overlooked, and led to several quick one-commit PRs for fixing simple bugs. Many more concerned using the coffee
command to run scripts and things not working as expected, which I closed because I think expecting coffee
to be as full-featured as the node
command is too much to ask of us. Issues like those, that I consider to be out of scope but could be fixed if someone wants to take the time, I tagged as patches welcome!
.
This has reduced our open issues count to 68 at the time of writing, which was a worthy effort IMO because the more manageable we can keep that number the more likely bugs are to get fixed (and the less abandoned the project looks to others). I also prefixed each issue with common keywords like “Invalid JS” or “Lexer” so that bugfixers can search for related issues more easily. In particular I used “Lexer,” “Grammar,” “Nodes” and similar because those relate to lexer.coffee
, grammar.coffee
etc. in the CoffeeScript codebase, so if you’re fixing one bug in one of those files you should look for any other open bugs that might be nearby. Once you have an understanding of how a file works, you’re in a good position to be able to fix multiple bugs in it.
I also tagged a handful of issues priority
. If people can help fix these, your efforts would be greatly appreciated!
And please try 2.0.0-beta2 in your projects! And let us know if you encounter any issues, after first reviewing the breaking changes. 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!