Use Typescript to help migrate/upgrade code
I am tasked with migrating a large javascript codebase from using the beta version of firebase-functions
to the latest. Like most major upgrades, there are many API changes to deal with. Here's an example cloud function:
Beta version with node 6:
Latest version with node 10:
The parameters changed for
onCreate
.
In the real codebase there are hundreds of cloud functions like this and they all have varying API changes to be made. With no code-mod in sight, I'm on my own to figure out an effecient way to upgrade. Enter Typescript
.
After upgrading the dependencies to the latest versions I added a tsconfig:
The key is to enable
checkJs
so that the Typescript compiler reports errors in javascript files.
And running tsc --noEmit
against the codebase provided me with a list of 200+ compiler errors pointing me to every change required.