-
Notifications
You must be signed in to change notification settings - Fork 124
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
Adopt typescript for the backend #1421
Comments
Looks like |
@le0tan should be already, we have some updated setup instructions :-) |
@ang-zeyu Looks like the dev guide should replace running |
|
labelling this as - and much better ide suggestions! |
@wxwxwxwx9 @jonahtanjz @raysonkoh @ryoarmanda If anyone wants to tackle this issue in the upcoming semester, do drop a note here. Would advise to start now as well as its a massive change that will conflict with other PRs! (would be much smoother to iterate on it now) |
I can take a crack at it @ang-zeyu ! Not the most ideal time 😅 but I guess doing this now would still be quite okay. Just to clarify and give a little bit of my plan, the approach would swap most of our backend |
Yup. Can (and probably should) be done incrementally as well. Converting a select few files should do for a start!
This was my general idea back then but things might have improved (from tsc side) since then. Feel free to explore alternatives if we can satisfy the requirements even better 😄 One more important note on version control -- generated If you can find any way of gitignoring |
Agree, I will draft up a PR that initially converts some of the smaller
It is also what I have came up with so far with my research, I think the approach still holds up for now. For other related aspects, this is what I would likely go for:
I haven't probably covered all aspects for now, will research as I go along. Feel free to let me know for any specifics!
Also agree. I will continually update the gitginore for the compiled
The one I can think off-the-cuff is to temporarily remove the |
Just some update that comes along during my work: I will essentially break the work down in 2 stages (may be in separate PRs, with the se):
I already almost completed the first phase, but I haven't run the tests, and unfortunately I just found out that by adding the (You can verify that Also, there is an issue with installing I think we should address them first, maybe as a separate PR? Or would you suggest the FontAwesome asset updates are to be done in the same PR as the first stage? (cc @ang-zeyu @jonahtanjz ) (Edit: we can solve #1793 along the way too) |
👍 Definitely, let's do it separately, to make the PR more reviewable
If possible, I think this could be done separately as well (i.e. when you attempt step 2), to avoid conflicting with the other PRs as much as possible. |
Is your request related to a problem?
The readability of the backend (
core
package) codebase can really benefit from some strict typing.Describe the solution you'd like
Migrate to typescript
Requirements:
markbind s -d
in thedocs/
folder) run after recompilationAdditional context
The frontend may not see as much benefit, since we only develop mostly independent components. Also, typescript support for vue v2 apis isn't known to be strong.
JSDoc typing: #1039 (review)
The text was updated successfully, but these errors were encountered: