Upgrade to vite and typescript.
This is basically a full overhaul of the project. The main changes are to:
- Upgrade to using vite.
- Upgrade the generated protos to typescript.
- Upgrade our custom components to typescript.
I wanted to try and do this in more discrete steps but it was not really possible:
- Changing to vite first wasn't possible because caused the js protos not to package properly.
- Upgrading the protos to typescript first wasn't possible as this changed the interfaces, breaking the existing views.
- Upgrading the current code to typescript first wasn't possible without updating the js protos.
- And, fixing the breaks from the protos upgrade was about the same amount of work as porting the js code to typescript.
- In fact, this actually made it MUCH easier because the compiler can tell us all of the broken views.
I decided to break out the generated code from this MR into a separate branch target this MR at the separate branch.
I left the package.json in this MR so you can see what dependencies are added, but left out the protos and package-lock from the diff.
When this gets approved I'll change the target and merge into master instead.