website
website copied to clipboard
ER: Investigate use of TypeScript
Dependencies
- [ ] homepage launch
- [ ] research team doing research on usage of js vs typescript in cs grads and bootcamps
Emergent Requirement - Problem
We should explore the possibility of converting our JavaScript code to TypeScript
- TypeScript is a strict syntactical superset of JavaScript and adds optional static typing and class-based object-oriented programming features to the language.
- TypeScript allows developers to write more maintainable and scalable code by catching type-related errors at compile-time instead of runtime
- It also provides better IDE support, code completion, and refactoring tools, making development more efficient.
Issue you discovered this emergent requirement in
Date discovered
Did you have to do something temporarily
- [ ] YES
- [x] NO
Who was involved
@roslynwythe
What happens if this is not addressed
We won't benefit from the code quality and development improvements offered by TypeScript and won't gain experience with the language, which continues to gain adoption.
Resources
typescriptlang.org TypeScript adoption trend
Recommended Action Items
- [ ] Make a new issue
- [x] Discuss with team
- [ ] Let a Team Lead know
Potential solutions [draft]
Items to consider in the analysis:
- impact on folder structure
- impact on build (GitHub and Docker)
- impact on VS Code configuration
- frontend code vs. backend code (used in the context of GHA)
Hi @roslynwythe.
Please don't forget to add the proper labels to this issue. Currently, the labels for the following are missing:
- Complexity, Role, Feature
NOTE: Please ignore this comment if you do not have 'write' access to this directory.
To add a label, take a look at Github's documentation here.
Also, don't forget to remove the "missing labels" afterwards. To remove a label, the process is similar to adding a label, but you select a currently added label to remove it.
After the proper labels are added, the merge team will review the issue and add a "Ready for Prioritization" label once it is ready for prioritization.
Additional Resources:
If we do decide to change to TypeScript, it's a good time to also Adopting a coding style standard/guideline #6807
@roslynwythe @tony1ee I have added this to our next dev/pm agenda.
Moving to icebox and adding dependencies