JunoLab / atom-julia-client

Juno a good IDE?
http://junolab.org
MIT License
273 stars 72 forks source link

Decaffination + Modernize import/export #715

Open aminya opened 4 years ago

aminya commented 4 years ago

Method

Decaffeination can be done easily using:

decaffeinate . --use-js-modules --loose

or without automatic import/export

decaffeinate . --loose

or without loose modifications (the safest but worst looking)

decaffeinate .

We need to run either of those and then fix the linkage of modules manually. We don't need to use import/export, but it will help to reduce excess deps in Webpack.

Why

Side-Note

There is also bulk-decaffeinate that automatically searches for connections, but it doesn't work well on Windows (I couldn't get it to work).

https://github.com/decaffeinate/bulk-decaffeinate https://github.com/decaffeinate/bulk-decaffeinate/issues/265

aminya commented 4 years ago

cc: @pfitzseb @aviatesk Let me know if you agree with this. I need your confirmation and collaboration before I put time on it.

To do this:

This doesn't take much. We just need to fix the import/export connections for now. Decaffeinated already compiles a very good code, and fine adjustments can be done later. ES6 import/export shouldn't be done right away, we can do that later as long as the software works.

aviatesk commented 4 years ago

Decaffeination is very welcome. The most important thing is whether the JSfied code is maintainable; don't forget to read through and check the code "makes sense" even when you start with the auto-decaf tool at the beginning.

As for webpack, I guess it only gives negligible loading time improvement. Atom uses transpiled cache even if we don't transpile AOT. So it's not good idea to rush decaf stuff just because of webpacking, etc.

pfitzseb commented 4 years ago

Yeah, let's do the decaffeination as a first step. Just a quick comment on your PRs, @aminya: We're currently using something close to standard for our JS, so it'd be cool if you could switch your linter pass to that (or just follow the style manually, I guess).

aminya commented 4 years ago

Probably, I will not spend more time on this project. I cannot deal with loads of strong opinions.

If you want you can close this issue.