-
Notifications
You must be signed in to change notification settings - Fork 4
CS2 Discussion: Project: Progress as of September 2017: Release candidate! 2.0.0-beta5 #88
Comments
looks good on my end |
👍, works fine on my project (upgraded from beta4). It would be awesome to have CS2 support (JSX being the biggest change) in coffeelint (clutchski/coffeelint#596) and syntax packages (in my case, Atom: atom/language-coffee-script#135) before the release, so people can upgrade and keep their tools. Unfortunately I have not been able to implement either, but if people here want to have a look :) |
beta-4 broke sweet nuthing on my side - shall i upgrade now ?-) |
@renchap Yes, the state of tooling around CoffeeScript can certainly be improved, and it’s an oft-cited complaint in #32. A few more “ecosystem” projects that could use updating are https://github.com/aponxi/sublime-better-coffeescript (in Python, for anyone proficient in that) and https://github.com/js2coffee/js2coffee. Anyone who wants to contribute, but is daunted by the CoffeeScript codebase, please consider these projects! |
I would also love to have CoffeeScript support in Prettier (https://github.com/prettier/prettier), but I think this is a much bigger work :) |
@GeoffreyBooth (1) what about the online code-arenas, thinking of JS-BIN, Plunker, Code-PEN, SO and friends ? Will there be a CS2 browser-compiler publicly avail on CDN, that one can use on such sites ? E.g. i tried a thing where i have a handfull of promises and want to use all results as soon as the first promise resolves (minimal latency). A combination of a Promise.race, plus a generator and a async-fn in CS-beta4 - without any re-babeling - allows me do this. CS2-beta-5 can even subclass the magical JS-Array - with all Chrome-flags on, but hey, it works as expected and specified. But i can't yet publish this approach 'live', at least not on named arenas. |
Doesn't the cs2 support RTL(Run Time Library) yet? It seems only to support the ES2015 now. |
What does “support RTL” mean? |
It’ll be on them to upgrade the version of the CoffeeScript compiler they’re using, and update their build process so that the CoffeeScript compiler’s output is piped through Babel. They all also already support Babel as a transpilation option, so it shouldn’t be too difficult. But someone (you!) will need to poke them to get that process started, probably after 2.0.0 is out.
The browser compiler is available at http://coffeescript.org/v2/browser-compiler/coffeescript.js and jsdelivr.com now automatically hosts every NPM package, so you could also load via that. This compiler has the same limitation though; you then need to pipe its output through Babel. Presumably Babel also has a browser compiler, that powers their browser REPL. (Or if you know your code will only be run on Chrome latest, and you refrain from JSX and modules, you can do without Babel.) Regarding Sublime, the package I linked to is just for syntax highlighting and code completion, not automatic compilation (or if it does that too, I don’t use that part of it). I’d really like to at least get the syntax highlighting updated, it still doesn’t even recognize
See jashkenas/coffeescript#4615. I would love to have a Webpack demo app to link to from the docs, to give people an example to follow for how to use CoffeeScript 2 with Webpack. If you would be so kind as to fork your project into a minimal demo and post it as its own repo, I’d love to link to it.
I’m not sure what you mean. CoffeeScript 2 has all the features we intended to support. Look at the README for this repo. Some features were decided via committee that we wouldn’t include, and many of those got explained in http://coffeescript.org/v2/#unsupported. Once 2.0.0 is out, the only roadmap is:
There’s no “even greater” release around some distant corner that people should look forward to. CoffeeScript 2 is it. There may someday be a version 3 that throws backward compatibility under the bus and makes all variables block-scoped and so on and so forth, but I don’t see anyone currently involved in this project having the time or motivation to undertake such an ambitious effort anytime soon, nor the appetite in the broader community for a majorly-breaking-change release. If anyone has significant development resources to contribute, whether they be programmer hours or money to hire developers, IMHO those resources would be best spent on improving the ecosystem projects listed above. |
First abstract the commonality of the language as the core, eg:
And then the transfer code implementation as run-time library in different folders: Now we can generate coffee --rtl /write-your-rtl/typescript/ xxx.coffee |
Hey folks, I just merged in jashkenas/coffeescript#4683 to the |
And FYI, the |
Okay folks, last call, for real: jashkenas/coffeescript#4701 The 2.0.0 PR (and current npm uninstall coffeescript # or coffee-script
npm install --save-dev https://github.com/jashkenas/coffeescript.git The above installs the latest |
👍 Good for me, tested on my app (with JSX). |
On 17/09/17 11:37, Geoffrey Booth wrote:
The 2.0.0 PR (and current |master|) has a few bug fixes since
2.0.0-beta5. If anyone has time today to do one last test with their
projects, I’d love to hear that all is still well:
I'm not actually using any of the recently changed features but I can
confirm that my CS2 projects still work fine. Not much help, I know.
I am, however making extensive use of a base class:
class Base
@Property: (name, accessors) =>
accessors.configurable = true
Object.defineProperty @::, name, accessors
module.exports = Base
This allows me to do things like:
@Property "plural",
get: -> @Genitive + 'd'
Would it be worth documenting this more fully in the section labelled
"get and set keyword shorthand syntax" as you have rejected adding the
construct to the language?
Regards
Cliff.
…--
Cliff Stanford
London: +44 20 0222 1666 Swansea: +44 1792 469666
Spain: +34 603 777 666 Estonia: +372 5308 9666
UK Mobile: +44 7973 616 666
|
Migrated to jashkenas/coffeescript#4981 |
Hey everyone,
CoffeeScript 2.0.0-beta5 is released, and it is the first (and hopefully only) release candidate for 2.0.0! Install it via:
npm install coffeescript@next
It is an entirely bugfix release, and it could’ve been released as 2.0.0 but I thought it would be best to release it instead as our hopefully last beta because of the sheer number of pull requests that have gone into it. You can see the full changelog and list of PRs here, but the short version is that about two dozen pull requests have been merged in since 2.0.0-beta4, fixing all the bugs reported since that release as well as many older ones, some of which were years old. All of the bugs tagged
priority
have now been fixed, and of the open issues on thecoffeescript
repo, only 13 are bugs. I’d love to get that number down to zero, if anyone would like to help!None of these remaining bugs are showstoppers that will hold up a 2.0.0 release, however, so if 2.0.0-beta5 is stable and no one reports any significant bugs in it, I want to release it as 2.0.0 as soon as possible. So to that end, I would like to ask everyone involved in this repo—@rattrayalex, @JimPanic, @kirly-af, @ryansolid, @CliffS, @mikeyhew, @shreeve, @bd82, @edemaine, @greghuc, @svicalifornia, @YamiOdymel, @mrmowgli, @celicoo, @connec, @mitar, @kingdaro, @za-creature, @snowyu, @Alhadis, @vpj, @Inve1951, @Asc2011, @carlmathisen, @markwatne, @dadleyy, @objectkit, @aurium, @carlsmith, @DomVinyard, @nickdima, @tdsfugal, @danielbayley, @alangpierce, @triskweline, @ozjd, @zeekay, @zdenko, @lydell, @jashkenas—now is the time: please try your projects with 2.0.0-beta5! Please test it out in the next week, so that we can hopefully launch 2.0.0 in mid-September. Here’s how to test with it, no matter what build chain (Webpack, Gulp, Grunt, Browserify/Coffeeify, Meteor, whatever) you’re using:
2
branch to your machine:git clone -b 2 https://github.com/jashkenas/coffeescript.git
node_modules
and other untracked folders, into a new temporary folder.coffeescript
orcoffee-script
folder. It’s most likely inside anode_modules
folder. If you’re using an older version of NPM, you may have many such folders; do the following for each one you find.coffeescript
/coffee-script
folder, you’ll see alib
folder, and then another folder namedcoffeescript
orcoffee-script
, e.g.coffeescript/lib/coffeescript
. Delete all the files in this folder, leaving the folder empty.lib/coffeescript
folder into thelib/coffeescript
/lib/coffee-script
folder you just emptied.Please report your findings on this thread, and please report bugs by opening an issue after checking the breaking changes. If we see enough positive reports below, especially from significant, real-world projects, that will inspire confidence that this is ready to release.
Honor roll for 2.0.0-beta5: @helixbass, @zdenko, @connec, @bendrexl and @GeoffreyBooth. Thanks!
The text was updated successfully, but these errors were encountered: