Skip to content

Rewrite client with Typescript #743

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

Closed
rmorshea opened this issue Apr 18, 2022 · 2 comments · Fixed by #951
Closed

Rewrite client with Typescript #743

rmorshea opened this issue Apr 18, 2022 · 2 comments · Fixed by #951
Labels
priority-3-low May be resolved one any timeline. release-major Warrents a major release type-javascript Related to client-side code type-revision About a change in functionality or behavior

Comments

@rmorshea
Copy link
Collaborator

Current Situation

Currently IDOM's client is implemented in Vanilla JS. This makes it easy to develop and contribute to, but the code-base is growing in complexity, and without unit tests, there's some risk that it will become difficult to maintain.

Proposed Actions

Rewrite the client using typescript. Type annotations seem to be coming to browser Javascript engines soon so, like with Python, typed Javascript is likely to grow in popularity. Type annotations are not a replacement for unit tests, but they will help. It will also be a form of documentation that can be referred to by new contributors and users.

@rmorshea rmorshea added flag-triage Not prioritized. type-revision About a change in functionality or behavior and removed flag-triage Not prioritized. labels Apr 18, 2022
@rmorshea rmorshea modified the milestones: 1.0, 2.0 Apr 18, 2022
@Archmonger
Copy link
Contributor

Should we switch to TS, or simply wait for JavaScript to support type hints?

@rmorshea
Copy link
Collaborator Author

I'm not really sure how it's going to pan out, but from my understanding, they're not re-inventing the wheel - the syntax is identical to TS so if we wrote in TS it should work as-is in the future.

@Archmonger Archmonger added the priority-3-low May be resolved one any timeline. label Jan 27, 2023
@rmorshea rmorshea added type-javascript Related to client-side code release-major Warrents a major release labels Feb 15, 2023
@rmorshea rmorshea removed this from the Luxury milestone Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority-3-low May be resolved one any timeline. release-major Warrents a major release type-javascript Related to client-side code type-revision About a change in functionality or behavior
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants