Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decaffination + Modernize import/export #715

Open
aminya opened this issue Apr 1, 2020 · 4 comments
Open

Decaffination + Modernize import/export #715

aminya opened this issue Apr 1, 2020 · 4 comments

Comments

@aminya
Copy link

aminya commented Apr 1, 2020

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

  • Webpack build fails because of coffee files Webpack #714.
  • Helps TypeScript

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
decaffeinate/bulk-decaffeinate#265

@aminya
Copy link
Author

aminya commented Apr 2, 2020

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
Copy link
Member

aviatesk commented Apr 13, 2020

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
Copy link
Member

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
Copy link
Author

aminya commented Apr 14, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants