hackforla / hackforla/website

ER: Investigate use of TypeScript

Open
#6,805 4 comments 0 reactions 0 assignees View on GitHub
Complexity: Large Dependency ER Feature: Infrastructure manual dependency release role: back end/devOps role: front end size: 1pt
Dominant language
JavaScript
Stars
363
Forks
872
Avg merge
2d 21h
Merged PRs (30d)
18

Description

### 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](https://www.typescriptlang.org/)
TypeScript [adoption trend](https://www.npmtrends.com/babel-core-vs-flow-bin-vs-typescript)

### 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)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.