-
Notifications
You must be signed in to change notification settings - Fork 72
Typescript init #705
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
Typescript init #705
Conversation
af9dc50
to
700a1b4
Compare
821c998
to
c191a06
Compare
I even simplified this PR more. I will do the whole process file by file in separate PRs, so you guys can continue developing without any conflicts. So please merge this PR as soon as possible. This is blocking me from continuing. |
Update tsconfig.json Update tsconfig.json
tslint - Turn of variable-name Update tslint.json Update tslint.json Update tslint.json
Update package.json Update package.json
Hi @aminya, sorry for taking a time to get back to you. We would very much welcome JSfying of our code base (in per-file basis), but I really don't appreciate conversions to TypeScript. The main reason is that we're planning the migration of ink and julia-client in the coming months and it will be such a big refactoring. TS seems more promising for current front-end development in general, and it would be fancy to have type-safety and more extensive development utilities for Juno, in the future.
|
Hi! No problem.
Regarding this ink and julia-client merging, I have talked to @pfitzseb, and we said that it worth it to convert in the merging process. I would be happy to help merging Ink, but I think Julia-client itself can be enhanced on its own without mering Ink.
I already talked about the many benefits here: JunoLab/atom-indent-detective#17 (comment), but I didn't get any response from you:
Last point: |
I'm afraid to say, but did you really read my opinions ? What do you think on them ?
You should always try to see pros and cons of things. And since this change is really big one, I would like to figure out it is really necessary to be done. |
I mentioned the answers to these in my points: TypeScript is just JavaScript. lack of type definitions doesn't break the code or doesn't mean that it is not compiled. It just means that the code will be copied (compiled) like it is a simple JavaScript. The reason that you think this adds complexity is that you think I am changing JavaScript to C++ for example 😄 while I am just fixing the code issues itself. P.S: I have already made a PR to etch. If they don't merge it, I will instead make a
There is a compiler: https://github.com/smhxx/atom-ts-transpiler. But we don't wanna rely on the user's computer for compiling anyways. It makes sense to deliver the ready JS files to the user instead. |
Add json lint Update package.json
update scripts Update package.json
- copy js/coffee files to lib_src - decaffeinate . --loose - remove coffee files - js-to-ts-converter .
I separated Github Actions part of this PR into another PR #712, the failure of the linter on Travis is because of this. After Github's actions merge, the CI will pass. |
So after all, I would like to decline you suggestions for migrating into TS. Reasons:
|
Ready to get merged
Please merge this so I can continue with other PRs
This PR doesn't change any behavior of Julia Client.
Initialization for Converting codebase to TypeScript:
This is the initialization of that PR.
I am distilling #704 into smaller PRs, so I can track the changes easier, and making reviewing the actual editing part easier for you.
All the code is stored in (lib_src) and doesn't change any source which is in use.
Config