Migrate to TypeScript
Proposed change
We're currently using JavaScript in all of our apps, after some discussions we would like to migrate our apps to TypeScript and write all future code in TypeScript.
Motivation
-
TypeScript offers many useful tools to help developers ensure compliance, and readability.
-
All the other teams are using TypeScript, and it's a matter of time before we have to switch. It's better do make this change early if it's going to happen anyway.
Proposed transition strategy
The team had a meeting and decided on a transition strategy that will minimise the disruption of our daily tasks. We agreed on the following:
-
A few developers will get together and migrate the overview app, and record notes on the migration.
-
Said developers will communicate how an efficient and safe migration can be performed on the apps.
-
The team will split into pairs and start migrating all apps, one at a time.
We will start this process on the first Monday of July 2021, since that's a less busy time for the team.
Other info about the proposal
We have also agreed on the following:
-
For each app, we will migrate either the app code first, or the tests first, but not both at the same time. This is to ensure that our tests run and that the migration didn't introduce any errors.
-
If shared code needs to be converted to typescript, and can't be used in JS (e.g. constants to enums), then we will maintain a TS and a JS version, then the JS version will be removed when all the code has been successfully migrated.
-
Code migrations will include the bare minimum to make sure that the migration happens quickly and consistently, we will perform multiple iterations on the codebase to make sure that it's following the standards we want to have.
-
It is important to maintain similarity between the apps at every stage of the migration and refactoring.