atom/atom-keymap

Rewrite coffee to JS

Rokt33r opened this issue ยท 7 comments

Is there any plan to rewrite this as a JS? If there is, I want to help you. ๐Ÿ˜€

@Rokt33r I would be happy to accept your help on this. I need to add 1 API which should happen by the end of this week, and then don't plan to make many changes here, so it would be a pretty good time to do it.

My suggestions:

  • Use a converter tool like decaf or decaffeinate. Decaffeinate uses an alternative parser so you may need to mess with certain constructs in the original source, but it apparently produces better output.
  • Convert one file at a time, starting with the src directory. Get a green build with all src before changing tests.
  • Open an early PR and push a new commit after each file to be sure we have a green build at each step.
  • Use standard --fix to fix most issues with the translated files, then hand edit the files to remove confusing constructs and change use of __guard__ / __guardfunc__ / __range__ functions to more idiomatic JS.

Great. I'll start the work from this weekend. ๐Ÿ‘

@Rokt33r if you do get started on this soon, please base your work on the io-modifier-keyups branch behind #156 so we can avoid merge hell.

It should get merged to master the week after next, so if you get started after that feel free to branch from master.

Thanks!

Is that something we still want to do?

@YurySolovyov Yeah, we're still interested. Eventually I'd like to convert everything.

Again, is this something still wanted? And, just out of curiosity, why?

@SConaway yes, this is still wanted. CoffeeScript lost much of its appeal after ES6, and there are many more tools targeting JavaScript than CoffeeScript.