Before I say anything, let me say, thank you, Jeremy and crew for all you’ve done for me. I’ve been using and, on a very small scale, evangelizing the virtues of CoffeeScript for just about seven years. I’ve written a lot of it and I can’t tell you how many bugs I’ve closed with a single
?. Thank you.
I was very excited this morning to dig in and convert my team’s > 500,000 line CoffeeScript code base including about 200,000 lines of CJSX to CoffeeScript 2, but there is no way I can make that happen with so many breaking changes. I’m hoping that there are some transforms or migration tools that maybe that will make this easier?
Choose one: is this a bug report or feature request?
feature request + recreational bitching
Provide a general summary of the issue in the title above.
Some of the changes I understand, even if it doesn’t make it any easier on me:
- not being able to access
thisbefore calling super – this was one of the things I use to point to as a half baked implementation of OOP given to us by ES6 and why CoffeeScript was better at OO 🙂
And some of the changes seem like they are just blindly following the less capable:
method parameters not defaulted if null. This is not just going to cause run-time only errors, but will also cause the worst kind of sporadic defects.
superwithout parens – this was a really useful feature of coffeescript, because it allowed a subclass to call the parent’s method without knowing the parameters the parent currently expects. Base class method, might later add parameters, but anyone using the subclass would not be able to that new feature on the parent until the sub was updated.
AST Transforms to allow CoffeeCcript to ignore ECMA standards. Again, why is Coffeescript trying to be more like ECMA?
Migration / code transform tools like Facebook provides for React breaking changes: https://github.com/reactjs/react-codemod (which also don’t work with Coffeescript)
- CoffeeScript version: 2.2.4
- Node.js version: 6.10.3