Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
:arrow_up: coffee-script #13731
Just a friendly reminder to occasionally update coffee-script.
Allows new syntax to be used and also provides better source maps.
After merging, make sure to clear compile-cache for updated source maps to take effect.
Changelogs can be found at http://coffeescript.org/#1.12.0 and then by scrolling up.
Hey @Ingramz. Thanks for this.
Unfortunately, after watching the ecosystem evolve we have realized that never should have baked transpilation into Atom. If we upgrade the bundled CoffeeScript transpiler, there is a high probability of breaking a bunch of existing code.
Long term, the solution is for us to fix our package publishing system to allow transpiled assets to be published along with the release in addition to source files that are checked into Git. We haven't gotten there yet
In the short term, to use a newer CoffeeScript or any other language you want, you can bundle a custom transpiler with your package that will cache the transpiled sources the first time the package is started. This is great for development but it's unfortunate that it forces you to bundle the transpiler as a dependency of the package which increases its storage footprint and install time. If you can accept that trade-off, then the github package is a good example of how a custom transpiler can be used. (/cc @BinaryMuse)
My apologies for this situation. Baking in transpilation was a short-sighted design decision I made early on in this project and we really need to do the work to allow artifacts to be published with packages, but haven't.
Okay, after further discussion with @Ingramz and other maintainers, I've changed my mind on this.
Bundled transpilation is not something we plan to stick with over the long term, but this minor upgrade seems to be low risk. If it breaks packages, which seems unlikely, we can lint for the offending construct across the ecosystem.
I just want to say right now that merging this upgrade is not a promise to merge future upgrades. We'll have to take it on a case-by-case basis and judge the risk in each scenario. Specifically, it's extremely unlikely that we'll be able to upgrade bundled transpilation to CoffeeScript 2.0.
Oct 26, 2017
Part of my promise to @nathansobo during that discussion was to check for compilation output differences between the old and the new version across all the packages.
Compilation differences between 1.11.1 and 1.12.7 were found in following
Differences were found in following files:
List is small enough that I can go through those by hand.
Differences are mostly that code which compiled to ternary expressions, the conditional is now surrounded by parentheses, which is harmless.
There are three files that have a different change, which need to be looked at case by case: